Currently, no news are available
Static Program Analysis Lab
Description: How can one reason about program code? In this advanced seminar, we study several seminal approaches to static code analysis and debugging and implement them all (at least in a basic way). Our set of techniques includes:
- Control Flow Analysis
- Data Flow Analysis
- Inter-procedural Analysis (points-to, call graphs)
- Symbolic Reasoning
- and more!
The general process will be as follows: Each week, you get 1-2 reading assignments and write an abstract about them. We may also ask you to give an (ungraded) five-minute short presentation to kick off the discussion and improve your presentation skills. Having discussed the approach, you have another week to finish a programming assignment (using Python and Jupyter Notebooks). in which you implement the respective technique on top of the given code.
At the end of the seminar, you give a 15-20 minute presentation on one of the techniques, including experiments you designed and conducted. We will determine your final grade from your abstracts (10%), your programming assignments (30%), and the final presentation (60%).
Requirements: This seminar requires creativity and ambition. Experience with programming languages and logic reasoning is a plus. Prior knowledge in automated testing, debugging, and software engineering (esp. from earlier courses) will be beneficial. In your motivation, please mention relevant projects and courses you have taken along with your grades.
Registration: To register for this seminar, use the SIC Seminar Registration Page.