• Jan 2015, 26th to 30th.
  • ENS Lyon, France.
  • For the Computer Science Department students.
  • 24 hours of courses in a week !

Static analyses in the state-of-the-art compilers

The goal of this course is to introduce the student to the most recent techniques that compilers use to analyze and optimize programs. The student will learn about dataflow and constraint based program analyses. They will have contact with type systems, and the many variants of inductive techniques to prove properties about programs. The course will detail some of the state-of-the-art techniques published in top conferences in the field of programming languages. I will illustrate the course through real-world examples coming from my experience in developing open source compilers and analyzers. Each topic will be illustrated by exercises and mini-lab sessions.

Prerequesite : Basic understanding of compilation techniques are required, a quick reintroduction to the compilation flow will be done, but will not enter the details of the front-end nor the back-end (see the M1 compilation Course of C. Alias here). Some of the algorithms and methods offer a good application to other courses of the Computer Science Department : graphs algorithms (L3), optimisation (M1), , semantics and program analysis (M1) : here the emphasis will be more on scalability than precision.

The course will not be redundant with the m2 course which mainly focuses on loop optimisation and the specificities of hardware synthesis.

The course will be based on the following material : here

Schedule (V5 27th jan 15) + useful install information

This research school is partially supported by the LABEX MILYON (ANR-10-LABX-0070) of Université de Lyon, within the program "Investissements d'Avenir" (ANR-11-IDEX-0007) operated by the French National Research Agency (ANR).