Program Analysis

Shmuel (Mooly) Sagiv
>


Advanced techniques for statically analyzing programs are discussed. These techniques allows one to answer computationally hard questions about programs in an efficient albeit conservative way. They are also referred to as abstract interpretation since the algorithms interpret the program on a simplified abstract domain. The techniques are useful in compilers in order to generate more efficient code and in other programming language environments such as debuggers and code quality checkers.

For an interesting note on static analysis click here.

Important Message

If your POWERPOINT does not show certain mathematical characters use fonts in a zip file, by clicking here. Make sure to extract
them to the appropriate directory,

Alternatively, you can extract them anywhere, and install them via the control panel

Contents

Example Program Analysis Problems


Course Requirements


Bibliography

The course book Principles of Program Analysis by Nielson, Nielson and Hankin is available in Dionon.

Course Schedule

TBA

  1. Course Overview
    Class Notes by Moria Abadi and Priel Levy
    Original Powerpoint
  2. Operational Semantics (Revised)
    Class Notes by Itay Rosenblatt and Eylon Yogev Original Powerpoint
  3. Iterative Dataflow Analysis (Part 1)
    Class Notes by Ghila Castelnuovo and Ohad Shacham
    Original Powerpoint
  4. Iterative Dataflow Analysis (Part 2) Mathematical Background
    Class Notes by by Omer Tripp and Guy Ilany
    Original Powerpoint
  5. Abstract Interpretation
    Class Notes by Yaron Koral and Hila Peleg
    Original Powerpoint
  6. Applications of Abstract Interpretation
    Class Notes by Yorai Geffen and Barak Itkin
    Original Powerpoint
  7. Precision of Abstract Interpretation
    Class Notes by Jenny Falkovich and Dekel Cohen
    Original Powerpoint
  8. Interprocedural Analysis
    Original Powerpoint
    Class Notes by Amit Perelstein & Hen Amar
  9. String Analysis
    Original Powerpoint
    Class Notes by Ariel Jarovsky and Liron Schiff
  10. Shape Analysis
    Original Powerpoint
    Class Notes by Eran Kravitz & Oren Zomer
  11. Typestate Verification by Eran Yahav
    Original Powerpoint
  12. Counter Example Guided Refinement
    Original Powerpoint
    BLAST Page

Homework Assignments

For further information Email:msagiv@post.tau.ac.il