News
Grades are on LSFWritten on 11.04.23 by Giancarlo Pellegrino As per title, grades are on LSF. - |
As promised: Video of the Usenix Security 2018 Keynote by James MickensWritten on 08.02.23 by Giancarlo Pellegrino There you are: https://www.youtube.com/watch?v=ajGX7odA87k
|
Topic/paper assignment completedWritten on 04.11.22 by Cristian-Alexandru Staicu Dear all, 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… Read more Dear all, 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. Best, Cris |
Machine Learning for Program Analysis
Registration
Use the central SIC seminar management system.
Description
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.
Important dates
- Kickoff meeting,
26/1002/11, in-person, room 0.07, CISPA main building - Regular sessions on Wednesdays, 12:00-14:00
- First on
09/11/202223/11/2022 - Last on 08/02/2023
- First on
- Seminar paper deadlines:
- Draft submission deadline: 15/02/2023
- Final submission deadline: 08/03/2023
Format
- 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
Deadlines
- 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
Grading
- Requirements:
- Participation to all sessions
- Submission of questions and summary for all sessions
- Presentation (30%)
- Report (70%)
Topics and Assignments
See this page.
Semester plan
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.