EDAP15 Program Analysis (formerly EDA045F)
Credits:7.5 hp, Advanced level
Study period: LP2 2020
Room: online, check the Moodle for URLs
Time and date: Mondays 10:15 and Wednesdays 15:15, starting 2020-11-02
Course responsible: Christoph Reichenbach
Teaching Assistant: Noric Couderc
Student representatives: Karl-Oskar Rikås
Final Exam:2021-01-15ff, oral exams (tentative)
Materials: slides, video recordings, textbook (for download)
Online office hours: Tuesdays 15:30 (during the semster), same Zoom channel as lectures
Previous course instance: 2018 (given as PhD course EDA045F)
Final Exam: Oral, starting 2021-01-15
- 2021-01-08 Final Exam Modalities and Registration: Available here
- 2021-01-08 Bonus Office Hours: today at 14:30, Monday and Tuesday at 14:00, same Zoom channel as always
- 2020-12-16 Final Exam Slots: You can now book final exam slots in the Moodle
- 2020-12-16 Exercise 4 update: You do not need to book a meeting with Noric for exercise 4. Instead, e-mail your results to Christoph.
- 2020-12-16 Exercise 3 update: We have relaxed the specifications (and fixed a bug in type access for array element types, though support for nonnull checking of assignments to array elements is optional)!
- 2020-12-16 Final Lecture: Lectures completed-- a big thank you to Noric Couderc, Alexandru Dura for their extra help with exercises, and Momina Rizwan for help with preparing slides!
- 2020-12-14 Test Scripts for exercises 2 and 3: We have updated the Exercise 2 / Exercise 3 repositories with scripts that allow you to test yourself whether you are meeting the expected output for exercises 2 and 3
- 2020-12-13 Guest Lecture on Monday: Monday's lecture will be presented by Alexandru Dura (same topic as before).
- 2020-12-13 Exercise 2 update: We have relaxed the output format requirements so that you no longer need to filter out "uninteresting" reports yourself (i.e., reports with only =).
- 2020-12-13 Exercise 3 update: We have relaxed and clarified the output format and added an extended skeleton implementation. See the exercises page for details.
- 2020-12-11 Exercise 4 released
- 2020-12-10 Exercise 3 bugfix: We have released a fix for the incorrect location reporting in Exercise 3 (mentioned in Monday's lecture). Please follow the steps in the README.md to update your repository.
- 2020-12-10 Quizzes released: We have released quizzes for skill sets 0-3 and 6 in Moodle.
- 2020-12-10 Skills updated: We have updated the set of skills for the course.
- 2020-12-04 Exercise #3 released: The third exercise is now available in your gitlab.
- 2020-11-27 Exercise #2 released: The second exercise is now available in your gitlab.
- 2020-11-25 Lecture cancelled: Today's lecture will instead take place next Monday.
- 2020-11-25 Update: Student representative added
- 2020-11-25 Update: Added online office hours
- 2020-11-25 Update: Homework exercises page with general rules and relaxation for deadlines (see navigation bar above)
- 2020-11-17 Homework Assignment #1 updated extra information: Due to permissioning problems we have moved the instructions and update repository here. You can find the quick update instructions here (only needed if you run on Windows and either don't want to use a mingw environment or want to get rid of unit tests failing due to path name mismatches).
- 2020-11-16 Homework Assignment #1 deadline: The deadline for homework #1 is the 26th of November, Central European Time. You can present your solution to the TA before or (immediately) afterwards.
- 2020-11-16 Homework Assignment #1 extra information: We have added additional information on using Git
to the README, and Windows-specific fixes to the main repository. (URL changed, see above.)
- 2020-11-14 Homework Assignment #1: As announced yesterday per e-mail, Homework Assignment #1 is now available in the CourseGit.
- 2020-11-08 Lecture #2: annotated slides available
- 2020-11-04 Homework/labs update: As announced in the course, we will start homework exercises one week later. There will only be five homeworks.
- 2020-11-04 No recordings for lecture #2: Due to a Zoom mishap, we cannot reconstruct the recordings for lecture #2 and will instead provide new recordings later.
- 2020-11-02 Now online: Textbook references are available now, and we have added the slides and an optional bonus video module to the course schedule. Quizzes and video recordings will be hosted in Moodle.
- 2020-10-30 EDAP15 will be held completely on-line. You should all have access to the Moodle forum now, otherwise contact me (Christoph) ASAP!
Program analysis is the foundation for most modern software tools,
such as compilers, bug checkers, just-in-time optimisers,
refactoring engines, and IDEs. In this course we will explore three
central program analysis techniques: type
inference, dataflow analysis, and dynamic program
The course format includes lectures (parts of the course may
be in "flipped classroom format", tbd) and homework exercises that
emphasise practical program analysis tasks. You will work in groups
PhD students taking the course may contact me to discuss
alternative homework exercises that better fit their research