Grading Policy

This course has assignments and exams according to the list below. The student must achieve 60 points, out of 100, to be approved in this class. There are five extra points distributed via an extra project assignment.

On the Exams

As mentioned before, the course has two exams, each worth 20 points. The first test covers all the material from the first class until the class on "Tainted Flow Analysis". Example of midterm tests are available below:
  1. Mid exam 1
  2. Mid exam 2 (Just first question)
  3. Mid exam 3
  4. Mid exam 4
  5. Mid exam 5. Take-home exam.
  6. Mid exam 6. Take-home exam.
  7. Mid exam 7. Take-home exam.
  8. Mid exam 8. Take-home exam.
  9. Mid exam 9. Take-home exam.
  10. A similar exam used at ENS Lyon (merci Laure Gonnord and Gabriel Radanne for sharing this material!).
The second exam covers the rest of the material, i.e., it starts at Range Analysis and goes until "Just in Time Compilers". Of course, given that some subjects use concepts and notions defined in previous material, the student is expected to know the topics that have been covered before. Examples of final tests are available below:
  1. Final exam 1
  2. Final exam 2
  3. Final exam 3
  4. Final exam 4 (Take home).
  5. Final exam 5 (Take home).
  6. Final exam 6 (Take home).
  7. Final exam 7 (Take home).

The Extra Project Assignment - Reproducibility of Published Results

The extra project consists in trying to reproduce some result published in the compiler literature. This project must be turned in no later than June 26th, 11:59pm, 2024. Many papers leave a note pointing to a website where further material can be obtained. Often, this material allows the interested researcher to reproduce the experiments that are discussed in the paper. Sigplan conferences even have a protocol for Artifact Evaluation. The goal of this project is to play with this material, given a paper that the student must choose. To get the five extra points, the student must:
  1. choose a paper presented in a recent compiler related conference, such as CGO, PLDI or CC.
  2. download the material that the authors have made publicly available for the paper. If there is no such material, but the student still wants to reproduce the paper's results, he/she can write to the authors of the paper, asking for their implementation.
  3. run the implementation, trying to reproduce at least one of the experiments in the paper. Even if it is not possible to reproduce the experiments, the student can still write a report about his/her tries, to claim the extra points.
  4. write a short report about the entire procedure. This report must contain the URL of the material that has been downloaded, plus a brief description of the student's experience with it. If the student has not been able to reproduce those experiments, than the report must explain the reasons for this failure. Two examples can be found below: