IN5440 – Selected topics in static analysis
Will not be lectured Autumn 2021
Teaching and exams spring 2022
In light of the most recent infection control regulations, we will at the start of the spring semester 2022 increase our online teaching, while we at the same time try to maintain in-person teaching where this is possible. We hope to go back to more in-person teaching later on in the semester. You will be informed about any changes in teaching or examinations on the semester page, in Canvas or through your regular channels.
Read more about postponed exams for the autumn semester 2021.
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.
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
- 10 credits overlap with IN9440 – Selected topics in static analysis.
- 10 credits overlap with INF5906 – Selected topics in static analysis (continued).
- 10 credits overlap with INF9906 – Selected topics in static analysis (continued).
2 hours lectures per week and active participation in the lectures. Study of some selected smaller subtopic, decided individually.
It will also be counted as one of your three attempts to sit the exam for this course, if you sit the exam for one of the following courses: INF5906 - Selected topics in static analysis (continued), IN9440 - Selected Topics in Static Analysis, INF9906 - Selected topics in static analysis (continued)
Examination support material
No examination support material is allowed.
Language of examination
The examination text is given in English, and you submit your response in English.
Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system.
Resit an examination
Students who can document a valid reason for absence from the regular examination are offered a postponed examination at the beginning of the next semester. Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.