News
Re-ExamWritten on 29.03.21 by Jan Reineke Dear all, The re-exam will take place April 8. More detailed instructions will follow. If you cannot physically attend the exam, please get in touch with me. Do not forget to register in the LSF by April 1 if you have not done so already. Best regards, Jan Reineke |
Exam DatesWritten on 27.01.21 by Jan Reineke Dear all, We have added the exam dates that were announced in the lecture to the calendar. More detailed instructions will follow. If you cannot physically attend the exam, please get in touch with me. Do not forget to register in the LSF if you have not done so already. Best regards, Jan… Read more Dear all, We have added the exam dates that were announced in the lecture to the calendar. More detailed instructions will follow. If you cannot physically attend the exam, please get in touch with me. Do not forget to register in the LSF if you have not done so already. Best regards, Jan Reineke |
Lecture on Friday, December 11Written on 08.12.20 (last change on 11.12.20) by Jan Reineke Dear all,
We will use part of the tutorial slot this Friday for a short lecture from 12:30 to approximately 13:00 to finish the lecture on "Propositional Logic, First-Order Logic, and First-Order Theories".
We will use the regular Zoom link for the lecture.
See you then, Jan… Read more Dear all,
We will use part of the tutorial slot this Friday for a short lecture from 12:30 to approximately 13:00 to finish the lecture on "Propositional Logic, First-Order Logic, and First-Order Theories".
We will use the regular Zoom link for the lecture.
See you then,
Jan Reineke |
Exercise 2.3 - Deadline ExtendedWritten on 16.11.20 by Shrey Sharma Dear all, Due to technical difficulties faced by numerous students, we are extending the deadline for Exercise 2.3 to 10:00 am on Thursday, November 19, 2020. The deadline for the other problems in the assignment sheet is still November 17, 2020, before the lecture. Regards, Shrey Sharma |
Tutorials and AssignmentsWritten on 11.11.20 by Shrey Sharma Dear all, The first tutorial will take place this Friday at 12:30 p.m. The link to the zoom meeting for the tutorial is added in the materials section. Regarding the assignment submissions, for those of you submitting in groups, you can submit a single document with the names and matriculation… Read more Dear all, The first tutorial will take place this Friday at 12:30 p.m. The link to the zoom meeting for the tutorial is added in the materials section. Regarding the assignment submissions, for those of you submitting in groups, you can submit a single document with the names and matriculation numbers of both the group members.
Regards, Shrey Sharma |
Lecture on Friday, November 6Written on 04.11.20 (last change on 05.11.20) by Jan Reineke Dear all, We will use the tutorial slot this Friday for a short lecture from 12:30 to approximately 13:50 (was See you then, |
Program Analysis
Introduction
Program analysis deals with automatic analysis of programs with regards to certain properties. Depending on the application, these properties could be related to safety, security, or correctness of the program. The analysis results are used for different purposes by different applications. Some such uses are:
- proving the absence of runtime errors, as is e.g. done by Astree
- statically analyzing the worst-case execution time (WCET) of the program
- checking for hardware side-channel vulnerabities such as Spectre
- guiding program transformations in compilers, e.g. for high performance computing
This course provides an overview of the different techniques used in the field, the concepts guiding them, and their applications. Topics covered in the course include but are not limited to:
- Abstract Interpretation
- Data-flow Analysis and Interprocedural Analysis
- SMT solvers, Symbolic Execution, and Symbolic Abstraction
- Information Flow Analysis and Side-channel Analysis
Time and Place
The lectures and tutorials take place on Tuesdays from 12:30 - 14:00 (mostly lectures) and Fridays from 12:30 - 14:00 (mostly tutorials). Both lectures and tutorials will be conducted online.
The first lecture will be held on November 3, 2020 using Zoom.
The first lecture will be held on November 3, 2020 using Teams.
Prerequisites
This course is open to advanced bachelor's students as well as to master's students.
While there are no specific course prerequisites for this advanced course, a solid background in discrete mathematics is highly recommended, as provided by undergraduate math courses in our bachelor's program. In addition, some C++ programming experience would be valuable for the practical assignments.
Exam
The "end of term" exam will take place after the end of the lecture period. A re-exam will be offered on demand at the end of the semester.
To be admitted to the exam, at least 50% of the points in the assignments are required.