News

Final Presentations on 27.08

Written on 26.07.24 by Rafael Dutra

Dear students,

The topics for the final presentations are assigned as follows:

Autogram: Christoph and Arina
Mimid: Tim Schneider and Abdullah
SYGRAM: Julian
Arvada: Tim Scheckenbach
TreeVada: Jaideep
REINAM: Ali
WEIZZ: Kevin
FormatFuzzer: Zheyuan
AIFORE: Florian
ByteRI: Niklas

We… Read more

Dear students,

The topics for the final presentations are assigned as follows:

Autogram: Christoph and Arina
Mimid: Tim Schneider and Abdullah
SYGRAM: Julian
Arvada: Tim Scheckenbach
TreeVada: Jaideep
REINAM: Ali
WEIZZ: Kevin
FormatFuzzer: Zheyuan
AIFORE: Florian
ByteRI: Niklas

We were able to give everyone their 1st, 2nd or 3rd choice :)

And the preferred date for the presentations is on Tuesday, 27.08.
10 students have indicated at least some time available on this date. We look forwards to meeting you all in person for the presentations.
For the students who cannot make it on this date, we can schedule a separate presentation slot individually.

You should now prepare a 15-20 minute presentation on your assigned topic, including experiments you designed and conducted.
If you want to discuss how to best perform experiments for your topic, feel free to contact me by email on rafael.dutra@cispa.de

Finally, as you prepare your presentation, you may find it helpful to revisit our talk on "How to give a good research talk" here: https://youtu.be/2YS3YboZ7nw

Cheers,
Rafael and Andreas.

Final Presentations

Written on 15.07.24 by Rafael Dutra

Dear students,

Please fill in the following form by the end of the week with your preferences for the topics and dates for the final presentations.

https://docs.google.com/forms/d/e/1FAIpQLSe1zuIa-l7h8vU8eiz-sxZ7DtoajwPNuSDC9ZPd8gaOuqhACQ/viewform?usp=sf_link

Thank you,

Rafael and Andreas.

Qualis Evaluation

Written on 11.07.24 by Rafael Dutra

Hey, folks

Please fill in your evaluation for the seminar at the following link:

https://qualis.uni-saarland.de/eva/?l=150483&p=6favbj

The deadline is 17.07

Thank you,

Rafael and Andreas.

Programming Assignment 4

Written on 01.07.24 by Rafael Dutra

Dear students,

The programming assignment 4 for next meeting can be found here: https://dl.cispa.de/s/6G7nRaFssfMzPD3

This assignment evaluates the black-box grammar mining techniques Arvada and TreeVada.

Cheers,

Rafael and Andreas.

Papers for the July meetings

Written on 27.06.24 by Rafael Dutra

For the next meeting on 04.07, Kevin will present WEIZZ and I'll present FormatFuzzer. You can choose one of the two papers to read and write about in your abstract.

WEIZZ: automatic grey-box fuzzing for structured binary formats
https://arxiv.org/pdf/1911.00621

FormatFuzzer: Effective Fuzzing… Read more

For the next meeting on 04.07, Kevin will present WEIZZ and I'll present FormatFuzzer. You can choose one of the two papers to read and write about in your abstract.

WEIZZ: automatic grey-box fuzzing for structured binary formats
https://arxiv.org/pdf/1911.00621

FormatFuzzer: Effective Fuzzing of Binary File Formats
https://arxiv.org/pdf/2109.11277

 

For the meeting on 11.07, we have Jaideep and Florian scheduled to present AIFORE.

AIFORE: smart fuzzing based on automatic input format reverse engineering
https://hexhive.epfl.ch/publications/files/23SEC2.pdf

 

For the meeting on 18.07, we have Niklas and Zheyuan scheduled to present ByteRI.

Recovering Structure of Input of a Binary Program
https://dl.acm.org/doi/pdf/10.1145/3508398.3511508

Paper for next meeting

Written on 20.06.24 by Rafael Dutra

Dear students,

The paper for next meeting will be:

REINAM: reinforcement learning for input-grammar inference
https://dl.acm.org/doi/pdf/10.1145/3338906.3338958

Cheers,

Rafael and Andreas.

Next paper and assignment

Written on 15.06.24 (last change on 17.06.24) by Rafael Dutra

Dear students,

The paper for next meeting will be TreeVada, recent work building up on Arvada:

Fast Deterministic Black-box Context-free Grammar Inference
https://arxiv.org/pdf/2308.06163v2.pdf

The programming assignment will be on the evaluation of SYGRAM and Mimid on Tiny-C.

Link to the… Read more

Dear students,

The paper for next meeting will be TreeVada, recent work building up on Arvada:

Fast Deterministic Black-box Context-free Grammar Inference
https://arxiv.org/pdf/2308.06163v2.pdf

The programming assignment will be on the evaluation of SYGRAM and Mimid on Tiny-C.

Link to the assignment is here: https://dl.cispa.de/s/wMn44zHMqo3BGJN

Cheers,

Rafael and Andreas.

Paper for next meeting

Written on 06.06.24 (last change on 08.06.24) by Rafael Dutra

Dear students,

The paper for next meeting will be

Learning Highly Recursive Input Grammars (Arvada)
https://www.carolemieux.com/arvada_ase21.pdf

No programming assignment for this week.

Cheers,

Rafael and Andreas.

Feedback and Programming Assignment 2

Written on 01.06.24 by Rafael Dutra

Dear students,

I've added some feedback comments on your previous abstract and assignment submissions on the CMS page.

The programming assignment for next class can be found here: https://dl.cispa.de/s/XCNsFqWFRaPrSJo

In this assignment, you will use the GrammarMiner and Mimid to mine… Read more

Dear students,

I've added some feedback comments on your previous abstract and assignment submissions on the CMS page.

The programming assignment for next class can be found here: https://dl.cispa.de/s/XCNsFqWFRaPrSJo

In this assignment, you will use the GrammarMiner and Mimid to mine grammars for the same program and then compare the obtained grammars.

Please follow the instructions on sheet.ipynb

Cheers,

Rafael and Andreas.

Paper for next meeting

Written on 29.05.24 by Rafael Dutra

Dear students,

Tomorrow there will be no meeting (holiday). For the next meeting on 06.06, we'll discuss a paper on SYGRAM, a technique for mining grammars based on symbolic execution.

Link to the paper: https://dl.cispa.de/s/d5574HwFX57drG3

I'll also post a new programming assignment… Read more

Dear students,

Tomorrow there will be no meeting (holiday). For the next meeting on 06.06, we'll discuss a paper on SYGRAM, a technique for mining grammars based on symbolic execution.

Link to the paper: https://dl.cispa.de/s/d5574HwFX57drG3

I'll also post a new programming assignment soon.

Cheers,

Rafael and Andreas.

Reminder: Meeting Today

Written on 22.05.24 by Rafael Dutra

Quick reminder that we are exceptionally meeting today at 12. See you on zoom!

Cheers,

Rafael and Andreas.

Next meeting on Wednesday 22.05 at 12:00

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

Dear students,

The next meeting will exceptionally take place on Wednesday 22 of May at 12:00 pm.

Before this meeting, you should read the Mimid paper:

Mining Input Grammars from Dynamic Control Flow
https://publications.cispa.saarland/3101/11/fse2020-mimid.pdf

and submit a small abstract… Read more

Dear students,

The next meeting will exceptionally take place on Wednesday 22 of May at 12:00 pm.

Before this meeting, you should read the Mimid paper:

Mining Input Grammars from Dynamic Control Flow
https://publications.cispa.saarland/3101/11/fse2020-mimid.pdf

and submit a small abstract for the paper.

You should also complete the Programming Assignment 1, which will start exploring the GrammarMiner chapter of The Fuzzing Book.

Download the assignment from here: https://dl.cispa.de/s/4YANEZA2ffiAs4j

and follow the exercises on sheet.ipynb

Cheers,

Rafael and Andreas.

Next meeting time

Written on 16.05.24 by Rafael Dutra

Dear students,

As I'll be traveling on 23.05 and 30.05 is a holiday, I suggest we try to find a meeting time on a Wednesday instead, either 22.05 or 29.05.

Please fill out your available slots on this poll:

https://www.when2meet.com/?25033310-lMoWX

Cheers,

Rafael.

Reminder: assignment for Thursday

Written on 13.05.24 by Rafael Dutra

Dear students,

Remember to submit your abstract on Autogram and the programming assignment 0 on CMS before our next meeting on Thursday.

The link to the assignment is on the last post on CMS.

And for the 2 students presenting, prepare your presentations.

See you on… Read more

Dear students,

Remember to submit your abstract on Autogram and the programming assignment 0 on CMS before our next meeting on Thursday.

The link to the assignment is on the last post on CMS.

And for the 2 students presenting, prepare your presentations.

See you on Thursday!

Cheers,

Rafael and Andreas.

First Assignments

Written on 02.05.24 (last change on 06.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. You can download the assignment from this link: https://dl.cispa.de/s/kJgypYokMJQ7spN
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. Submit your assignment as a ZIP file on CMS.

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

Show all

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.