|Website:||website containing additional information|
|Period:||periode 4 (week 17 t/m 27, dwz 26-4-2011 t/m 8-7-2011; herkansing week 34)|
|Participants:||up till now 15 subscriptions|
|Schedule:||Note: from now on the schedule is to be found in Osiris|
|Teachers:||Dit is een oud rooster!
|Contents:||Every professional compiler performs an analysis of the source code of the program, to attempt to make the generated code more efficient, or to validate some aspects of the source code. Instances of this problem are type inferencing, data flow analysis (dead-code analysis) and control flow analysis. In this course we study many aspects of program analysis, control flow analysis, data flow analysis, type and effect systems and abstract interpretation. All of these are static techniques. Finally, we shall also discuss in detail how to handle feedback to the programmer in case a validating analysis fails.|
|Literature:||This year we use various papers (to be made available during the course)
and technical reports to study program analysis. In addition there will
be many slides, that are based on the book|
Principles of Program Analysis
Nielson, Flemming, Nielson, Hanne R., Hankin, Chris
Corr. 2nd printing, ISBN: 3-540-65410-0.
which this year is RECOMMENDED, and not required.
|Course form:||Lectures and practical assignments, all of which takes place during combined sessions. This year, the structure will be free form with discussions on material and working on assignment in alternation.|
|Exam form:||There is no written exam. The final grade consists of a weighted average of all the assignments/projects. Their will be two assignments, each counting for half. One will be on data flow analysis, another will be on type and effect systems. Passing the course is subject to the condition that none of the grades is lower than 4.0. You have then passed the course if the average is 5.5 or higher. In some cases the lecturer can demand an oral examination at the end to validate the given grade for any given student.|
|Minimum effort to qualify for 2nd chance exam:||At least one of the two grades must be four or higher, to qualify for a 2nd chance exam.|
|Description:||The topics we visit this year are the same as in earlier years, but instead of following a book, we shall study the subjects from a number of papers. Typical subjects are: * dataflow analysis * type and effect systems * plagiarism detection * maybe a lecture on program comprehension Along the way we shall deal with the algorithms and mathematical background (fixed point computations, lattices) whenever they show up.|