Skip to main content.

This course is an elective at the master level, for 6 study points (26 hours lectures, 26 hours practical sessions). 
The course is taught in English in the second semester.
The official course description can be found here.


The goal of this course is to study automated techniques for evaluating, assuring, and improving the quality of software.
This slide deck should give a better idea about these techniques.

The initial lectures focus on foundations, each with an example application:

In the exercises, we use the TIP framework (Scala) to practice implementing static program analyses. We use the Ekeko library (Clojure) to practice program querying. We use the Kiama library (Scala) to practice program transformation.

In the final lectures, we study recent publications to understand how these foundations are evolving to cope with the complexity of contemporary software.


There is no traditional oral or written exam. Students will be graded as follows:

Note that failing to hand in an assignment or failing to present automatically results in an ABSENT mark.

The contents of this course has moved to Pointcarré.