IN9440 – Selected Topics in Static Analysis

Schedule, syllabus and examination date

Choose semester

Course content

Changes in the course due to coronavirus

Autumn 2020 we plan for teaching and examinations to be conducted as described in the course description and on semester pages. However, changes may occur due to the corona situation. You will receive notifications about any changes at the semester page and/or in Canvas.

Spring 2020: Teaching and examinations was digitilized. See changes and common guidelines for exams at the MN faculty spring 2020.



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 techiques 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


PhD candidates from the University of Oslo should apply for classes and register for examinations through Studentweb.

If a course has limited intake capacity, priority will be given to PhD candidates who follow an individual education plan where this particular course is included. Some national researchers’ schools may have specific rules for ranking applicants for courses with limited intake capacity.

PhD candidates who have been admitted to another higher education institution must apply for a position as a visiting student within a given deadline.


2 hours lectures per week and active participation in the lectures. Study of some selected smaller subtopic, decided individually. PhD candidates get a more comprehensive topic, which needs to be worked out and presented in class.


Oral exam.

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.

Grading scale

Grades are awarded on a pass/fail scale. Read more about the grading system.

Explanations and appeals

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.

Withdrawal from an examination

It is possible to take the exam up to 3 times. If you withdraw from the exam after the deadline or during the exam, this will be counted as an examination attempt.

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: IN5440 – Selected Topics in Static AnalysisINF5906 – Selected topics in static analysis (continued)INF9906 – Selected topics in static analysis (continued)

Special examination arrangements

Application form, deadline and requirements for special examination arrangements.

Facts about this course






Every autumn


Every autumn

Teaching language