Single-Course
Engelsk
7.5 ECTS
Program Analysis
Overall Course Objectives
The students will be able to automatically derive facts from programs using different program analyses.
See course description in Danish
Learning Objectives
- explain the concepts for soundness and completeness and the limitations of program analysis;
- explain the benefits and tradeoffs associated with syntactic, semantic, dynamic and static analyses;
- design an analysis to solve a specific problem;
- formulate theoretical guarantees and limitations of the analysis;
- argument for the approach in a project proposal;
- implement an analysis for part of a real programming language;
- design and motivate a series of experiments using this analysis and interpret the results obtained;
- communicate their results in a clear and precise manner in a paper format; and
- achieve the above goals in a group effort while at the same time maintaining individual accountability.
Course Content
In this course, the student will become familiar with different ways of deriving facts from programs, using both dynamic and static analyses. The course will focus on analyses for the JVM. The theoretical part of the course will be covered in the first half of the course; after which the students should write a proposal for a group project. Finally, the students will carry out experiments verifying their ideas, which they will write up in a paper and present orally.
Possible start times
- 36 – 49 (Mon 13-17)
Teaching Method
Lectures and practical exercises.




