Program Analysis

Shmuel (Mooly) Sagiv
Thursday 16-19
Scriber 06














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 POWER POINT does not show certain  mathematical characters use
fonts in a zip file, by clicking here. Make sure to extract
them to the appropriate directory, that is :

- C:\windows\Fonts - If you're on Win 9x
- C:\Winnt\fonts - If you're on NT

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


Contents


Example Program Analysis Problems


Course Requirements


Bibliography



Course Schedule

  • March 14 Overview

  • Class Summary by Greta Yorsh
  • March 21, Operational Semantics

  • Class Summary by Yair Sade
  • April 11, Technical Introduction 1

  • Class notes by Iftach Ragoler
  • April 18, Technical Introduction 2

  • Class notes by Adi Krol
  • April 25, Static Domains
  • May 2, Systematic Domain Design

  •        class notes by Einat Nir
  • May 10, Some remarks on systematic domain design

  •    Shape Analysis with Applications 1
      Class notes by Natasha Kreimer
  • May 23 More on Shape Analysis

  • Classs notes by Jenny Sannikov
  • May 30, TVLA

  • Sample Files
    Class notes by Eran Globen
  • June 7, TVLA Aplications

  • Sorting Example
    MarkAndSweep Example
    PDG Example
  • June 13, Control Flow Analysis (revised copy)
    Class Notes by Sar-Israel Ravit
  • June 30 (String Analysis)
    Class notes by Roman Manevich

  •  

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     


    Homework Assignments

        Assignment 1 (due April 16)
        Assignment 2 (due May 30)
        Assignment 3 (due July 11)
    For further information Email: sagiv@math.tau.ac.il