Seminar on Machine Learning and Formal Methods
Saarland University — Summer Semester 2020
The course will cover the state of the art research papers in machine learning and formal methods, including the following three topics: (i) formal methods for trustworthy machine learning, (ii) machine learning for program analysis, and (iii) program synthesis.
Timeline
- Until 30 May: Register for the seminar course examination at UdS.
- 10 May: Paper assignment for reading and writing reports is sent to students. A total of six papers are assigned to each student for which they will be writing reports.
- 5 June: Reports for the first two papers are due.
- 25 June: Reports for the next two papers are due.
- 15 July: Reports for the last two papers are due.
- 20 July: Paper assignment for presentations is sent to students. One paper is assigned to each student that they will be presenting.
- 20 August: Presentation slides are due.
- Between 21 August to 20 September: Final presentations will take place where each student will present their assigned paper. The exact dates will be finalized in discussion with enrolled students.
Course structure
The course consists of two main components: (i) Reading research papers and (ii) Presentations. There will be no weekly classes. To receive feedback on the reports and presentation slides, students can arrange meetings with tutors by sending an email to:
mlformal-s20-tutors@mpi-sws.org.
Reading research papers
- Each student will be assigned a total of six research papers (two papers per topic). The complete list of papers is provided below, and the assignments will be done by choosing papers at random from this list. You will receive this assignment from us via email.
- For each of the assigned paper, you will have to write a two-page report. The timeline for report submissions is listed above.
- Each report should be submitted as a PDF file via sending an email to: mlformal-s20-tutors@mpi-sws.org. You should name your PDF files as lastname_#.pdf (i.e., lastname_1.pdf, lastname_2.pdf, lastname_3.pdf, lastname_4.pdf, lastname_5.pdf, and lastname_6.pdf).
- Reports should be written in latex using NeurIPS style files
- Structure the report as an extended review, e.g.,
- Summarize the paper.
- Write down main strengths of the paper.
- Write down main weaknesses of the paper.
- Write down ways in which this paper could be improved.
- Write down ideas in which this paper could be extended.
- These six reports will correspond to 50% of the final score.
Presentations
- Each student will be assigned a paper for presentation. This paper will be selected from the list of six papers assigned for writing reports.
- You will have to prepare a presentation of 25 mins. You will have the possibility to get feedback on your slides before the final submission.
- At the end of the semester, you will give a final presentation. We will block about 8 hours of time for the presentations. The exact dates will be finalized in discussion with enrolled students. Attendance to the final presentations will be mandatory.
- The slides and presentation will correspond to 50% of the final score.
List of research papers
Formal methods for trustworthy machine learning
-
Verifiably Safe Off-Model Reinforcement Learning
by N. Fulton and A. Platzer, at TACAS 2019.
-
Efficient Formal Safety Analysis of Neural Networks
by S. Wang, K. Pei, J. Whitehouse, J. Yang, and S. Jana, at NeurIPS 2018.
-
TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing
by A. Odena, C. Olsson, D. Andersen, and I. Goodfellow, at ICML 2019.
-
Certifying Geometric Robustness of Neural Networks
by M. Balunovic, M. Baader, G. Singh, T. Gehr, and M. Vechev, at NeurIPS 2019.
-
Guiding Deep Learning System Testing using Surprise Adequacy
by J. Kim, R. Feldt, and S. Yoo, at ICSE 2019.
Machine learning for program analysis
-
Neuro-Symbolic Execution: Augmenting Symbolic Execution with Neural Constraints
by S. Shiqi, S. Shinde, S. Ramesh, A. Roychoudhury, and P. Saxena, at NDSS 2019.
-
Big Code != Big Vocabulary: Open-Vocabulary Models for Source Code
by R.-M. Karampatsis, H. Babii, R. Robbes, C. Sutton, and A. Janes, at ICSE 2020.
-
NEUZZ: Efficient Fuzzing with Neural Program Smoothing
by D. She, K. Pei, D. Epstein, J. Yang, B. Ray, and S. Jana, at S&P 2019
-
Quickly Generating Diverse Valid Test Inputs with Reinforcement Learning
by S. Reddy, C. Lemieux, R. Padhye, and K. Sen, at ICSE 2020.
-
Learning to Prove Theorems via Interacting with Proof Assistants
by K. Yang and J. Deng, at ICML 2019.
Program synthesis
-
Learning to Represent Programs with Property Signatures
by A. Odena and C. Sutton, at ICLR 2020.
-
Leveraging Grammar and Reinforcement Learning for Neural Program Synthesis
by R. Bunel, M. Hausknecht, J. Devlin, R. Singh, and P. Kohli, at ICLR 2018.
-
Programmatically Interpretable Reinforcement Learning
by A. Verma, V. Murali, R. Singh, P. Kohli, and S. Chaudhuri, at ICML 2018.
-
Neural sketch learning for conditional program generation
by V. Murali, L. Qi, S. Chaudhuri, and C. Jermaine, at ICLR 2018.
-
Guiding Program Synthesis by Learning to Generate Examples
by L. Laich, P. Bielik, and M. Vechev, at ICLR 2020.