We completed the papers assignment. Please check this page to see which topic/paper you were assigned to. The first presentations will take place on 23rd of November (not on 16th as original planned). Please also check the updated semester plan on the... Read more
We completed the papers assignment. Please check this page to see which topic/paper you were assigned to. The first presentations will take place on 23rd of November (not on 16th as original planned). Please also check the updated semester plan on the main page of the seminar on CMS and let us know if you spot any mistakes.
Machine Learning for Program Analysis
Program analysis is an interdisciplinary topic encompassing programming languages, formal methods, and software engineering, with the overarching goal to build algorithms and methods to find unwanted program behaviors like vulnerabilities and bugs. Program analysis techniques are not perfect, and their shortcomings have limited their impact on modern programs. Over the past years, machine learning has shown enormous potential in solving many complex tasks, drawing the attention of the program analysis community and, hopefully, program analysis. The research community has started investigating applications of machine learning to program analysis tasks, and this seminar intends to explore this nascent research area.
This seminar covers research papers addressing key challenges at the intersection of these two fields. How do we represent code for ML models? What tasks can ML solve? Can we use classifiers as vulnerability detectors? This seminar will explore these research questions and more.
In this seminar, students learn to work independently on an assigned single topic consisting of multiple papers. Each week, one or two students present a paper on the topic of interest, followed by a discussion of the main paper. All participants are expected to participate in the discussion by asking questions actively. Moreover, students are required to send questions about the main paper the day before the seminar.
- Kickoff meeting,
26/1002/11, in-person, room 0.07, CISPA main building
- Regular sessions on Wednesdays, 12:00-14:00
- First on
- Last on 08/02/2023
- First on
- Seminar paper deadlines:
- Draft submission deadline: 15/02/2023
- Final submission deadline: 08/03/2023
- 11 topics
- 20 mins each presentation
- 2-3 papers per topic
- One/two presented by a student
- The last one is read and discussed by everybody as a reading group
- Every Tuesday, at 23:59, each student (except the presenter) must submit a PDF document with:
- 2-3 questions about the main paper
- a half-page summary of the main paper
- Seminar paper draft deadline: 15/02/2023
- Final paper submission: 08/03/2023
- Participation to all sessions
- Submission of questions and summary for all sessions
- Presentation (30%)
- Report (70%)
Topics and Assignments
See this page.
Below is the tentative plan for the semester.
- 23rd of November - Representation of source code,
- 30th of November - Automated program exploration,
- 7th of December - Aid traditional program analyses,
- 14th of December - Replace traditional program analyses,
- 11th of January - Web vulnerability detection,
- 18th of January - ML-based decompiler,
- 25th of January - Automated program repair,
- 1st of February - Explainability,
- 8th of February - Pitfalls of machine learning for code/security.