Automatic Programming Analysis

What these pages are about

This is the website for the 2003/2004 incarnation of the course Automatic Programming Analysis which is part of the Software Technology Master curriculum at Universiteit Utrecht. The entire course is given by Jurriaan Hage.

The philoshopy behind this course

Nielson, Nielson and Hankin's Principles Of Program Analysis (on this website referred to as 'the book') introduce four viewpoints on program analysis. We shall see all of them in the lectures, except, maybe, the Type and Effect systems. These are treated both in the mandatory course Implementation of Programming Languages and are considered in more detail in the Type Systems course given in the ST curriculum. However, if time permits a constraint based approach to Type and Effect systems, shall be considered.

The goal of this course is two-fold: the student should learn about the perspectives and methods of a program analysis, but also learn how to deal with mathematical formulations and notation. This is especially useful if you plan to stay in

Contents, size and form

The lectures will work through Chapters 1-4 (excluding a few sections) of the book. It is a tough book to understand, being strongly theoretical. In addition, the lecturer may introduce a few subjects from his own research on constraint based analysis as time permits. These serve as an on-the-fly introduction and illustrationo of the material in Chapter 5.

There have been a number of changes:

  1. The course has grown a bit larger, giving room for the relatively large number of lectures. However, the material taken from the book is exactly the same as in previous years. Some extra material relating to research being done in our group at this time may percolate into the course if time permits
  2. Instead of two practical assignments, there will be four: one programming assignment which the students have the entire period to complete, and three written assignments for which the book should be well-studied. The programming assignment will be larger than in earlier years. Part of this growth is due
  3. In exchange for the increased number of assignments, some things will be dropped: there is no examination and although students are encouraged to make the exercises in the book (for which many of the answers can be provided on demand), there is no separate exercise class anymore. These exercises can be done as preparation for the more complicated assignments.

The course is worth 7.5 ects. People who have done parts of the course in previous years when it was worth only 6 ects should e-mail the lecturer for information how to cope with the new set-up.

Subjects

The next subjects shall be considered in this course

Operational semantics, computability theory and lattice theory are introduced along the way as necessary.


jur@cs.uu.nl