Currently, no news are available
Mining Input Structures
Description: How can one determine the input language of a program to test and debug it thoroughly? In this advanced seminar, we study several approaches to mining input structures and implement them all. Our set of techniques includes:
- Mining Input Grammars
- Learning Tokens
- Learning Input Properties
- Explaining Failures
- 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 in and for Python.
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 formal languages and program analysis 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.