Will not be held Autumn 2025. Next teaching will be in Autumn 2026.
IN5440 – Selected topics in static analysis
Course description
Course content
The course covers principles and techniques central to the static analysis phase of a compiler, also known as semantic analysis. Static analysis comes after the syntactic program analysis, and is concerned with the behavior of the program when later run, i.e. trying to predict the program's run-time behavior before it is actually running. The course covers techniques such as data and control flow analyses, including secure information flow and other security-related aspects, standard and non-standard type-system, and algorithmic questions.
Learning outcome
After finishing the course you'll
- have gained insight into established state-of-the-art techniques of the semantic phase of a compiler and principles of their implementation;
- be able to formulate flow or type analyses for various different analysis or optimization objectives (like secure information flow, interference freedom and others).
- be able to understand further analyses encountered in the scientific literature and adapt analyses to a specific language setting, based on the underlying unifying principles covered in the course,
- have gained in-depth understanding of principles and programming?languages and their semantics
Admission to the course
Students admitted at UiO must?apply for courses?in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme.
Nordic citizens and applicants residing in the Nordic countries may?apply to take this course as a single course student.
If you are not already enrolled as a student at UiO, please see our information about?admission requirements and procedures for international applicants.
Recommended previous knowledge
IN2010 – Algorithms and Data Structures, IN1150 – Logical Methods