News

First Assignments

Written on 02.05.24 (last change on 02.05.24) by Rafael Dutra

Dear students,

In our seminar today we'll have the talk on "How to give a great research talk", by Andreas Zeller.

Since next Thursday is a holiday, our next seminar meeting will be on the 16th of May.
Before the next meeting, we ask you to complete the following tasks:

1) Read the first… Read more

Dear students,

In our seminar today we'll have the talk on "How to give a great research talk", by Andreas Zeller.

Since next Thursday is a holiday, our next seminar meeting will be on the 16th of May.
Before the next meeting, we ask you to complete the following tasks:

1) Read the first paper for the course, describing the Autogram grammar miner:

Mining Input Grammars from Dynamic Taints (Autogram)
https://www.st.cs.uni-saarland.de/models/autogram/ase2016-autogram.pdf

More information on Autogram: https://www.st.cs.uni-saarland.de/models/autogram/
Corresponding chapter from The Fuzzing Book: https://www.fuzzingbook.org/html/GrammarMiner.html

2) Write and submit an abstract on the paper you just read.
The abstract should focus on describing how the technique works and the key points of the paper.
A critical analysis of the papers is always welcome. What are the assumptions behind the proposed technique?
What are its limitations? Strengths? How complex is it to implement and how effective is it?

3) If you are one of the students selected to present the paper, prepare a 5-minutes presentation on the paper to begin the discussion on the next meeting.
Just like with the abstract, your presentation should focus on explaining how the approach works and the key points of the paper.

4) Do the programming assignment number 0, which will be posted on the CMS page under "Materials".
The goal of assignment 0 is to get all the infrastructure setup for your future assignments, so you should install Python and Jupyter and be able to import and use Jupyter notebooks from The Fuzzing Book.

Students attending the course as a proseminar are not required to do programming assignments.

Cheers,

Rafael and Andreas.

Register in LSF by May 15

Written on 24.04.24 (last change on 29.04.24) by Andreas Zeller

Dear all,

Welcome to "Mining Input Structures"! The (pro)seminar is now all set – we have a date (Thursday noon) and a set of participants.

Important: Please register in LSF within the next three weeks (e.g. by May 15) for the (pro)seminar. If you do not register, you cannot get credit… Read more

Dear all,

Welcome to "Mining Input Structures"! The (pro)seminar is now all set – we have a date (Thursday noon) and a set of participants.

Important: Please register in LSF within the next three weeks (e.g. by May 15) for the (pro)seminar. If you do not register, you cannot get credit points.

If you do not find the seminar in LSF, it should be set up by the exam office in the next few days (Update: on Thursday at the latest).

Looking forward to see you next week on Thursday,

Andreas + Rafael

Mining Input Structures

Description: How can one determine the input language of a program to test and debug it thoroughly? In this advanced seminar/proseminar, 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. Students attending the course as a proseminar do not do programming assignments.

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%). Proseminar grades are based on the final presentation only (100%).

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 (notably 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 course, use

Looking forward to see you! -- Rafael + Andreas

Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators.