184.703 Program Analysis
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2011W, VU, 2.0h, 3.0EC

Properties

  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise

Aim of course

concrete program analysis techniques, proof of the correctness of these techniques via abstract interpretation, techniques for developing new program analyses

Subject of course

definition of the syntax and semantics of a toy programming language;
simple program analyses, which are used standardly in compilers, such as Reaching Definitions, Live Variable Analysis and Constant Propagation;
program analyses, which are used in program verification such as Interval-, Octagon-, Polyederanalysis for determining program invariants;
advanced program analyses, which are used standardly in compilers, such as Pointer Analysis and Call Graph Analysis;
advanced topics in invariant analysis such as termination- and bound analysis;
the discussed program analyses are defined and proven correct with the technique of abstract interpretation with regard to the earlier defined toy language;

Additional information

For further reading I recommond:

Static Analylsis Course and Script by Michael Schwartzbach, http://cs.au.dk/~mis/static/
Course on Abstract Interpretation by Patrick Cousot, http://web.mit.edu/afs/athena.mit.edu/course/16/16.399/www/
The Book Principles of Program Analysis by Flemming Nielson, Hanne Riis Nielson, Chris Hankin

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Tue17:00 - 18:0018.10.2011Seminarraum FAV EG B (Seminarraum von Neumann) Kick Off Meeting
Tue12:00 - 13:3008.11.2011 - 24.01.2012Seminarraum FAV EG C (Seminarraum Gödel) Lecture
Program Analysis - Single appointments
DayDateTimeLocationDescription
Tue18.10.201117:00 - 18:00Seminarraum FAV EG B (Seminarraum von Neumann) Kick Off Meeting
Tue08.11.201112:00 - 13:30Seminarraum FAV EG C (Seminarraum Gödel) Lecture
Tue22.11.201112:00 - 13:30Seminarraum FAV EG C (Seminarraum Gödel) Lecture
Tue29.11.201112:00 - 13:30Seminarraum FAV EG C (Seminarraum Gödel) Lecture
Tue06.12.201112:00 - 13:30Seminarraum FAV EG C (Seminarraum Gödel) Lecture
Tue13.12.201112:00 - 13:30Seminarraum FAV EG C (Seminarraum Gödel) Lecture
Tue20.12.201112:00 - 13:30Seminarraum FAV EG C (Seminarraum Gödel) Lecture
Tue10.01.201212:00 - 13:30Seminarraum FAV EG C (Seminarraum Gödel) Lecture
Tue17.01.201212:00 - 13:30Seminarraum FAV EG C (Seminarraum Gödel) Lecture
Tue24.01.201212:00 - 13:30Seminarraum FAV EG C (Seminarraum Gödel) Lecture

Examination modalities

The participants of this lecture give a talk and write a report on a current paper on program analysis. List of presentation topics:

Precise interprocedural dataflow analysis via graph reacability, Reps, Horwitz, and Sagiv, 1995
Points-to analysis with efficient strong updates, Lhotak, Chung, 2011
Semi-sparse flow-sensitive pointer analysis, Hardekopf, Lin, 2009
Parametric shape analysis via 3-valued logic, Sagiv, Reps, Wilhelm, 2002
A parametric segmentation functor for fully automatic and scalable array content analysis, Cousot, Cousot, Logozzo, 2011
Forest automata for verification of heap manipulation, Habermehl, Holík, Rogalwicz,  Ji¿í Šimá¿ek und Tomáš Vojnar, 2011
Verification of parameterized concurrent programs by modular reasoning about data and control, Farzan, Kincaid, 2012
Improving strategies via SMT solving, Gawlitza, Monniaux, 2011
Precise interprocedural analysis through linear algebra, Müller-Olm, Seidl, 2004
The octagon abstract domain, Miné, 2006
Combining abstract interpreters, Gulwani, Tiwari, 2006

Course registration

Not necessary

Curricula

Study CodeObligationSemesterPrecon.Info
066 931 Computational Intelligence Mandatory elective
066 937 Software Engineering & Internet Computing Not specified
066 938 Computer Engineering Not specified

Literature

No lecture notes are available.

Language

English