Details of presentations and grading
Written on 22.04.2021 11:15 by Rahul Gopinath
As we discussed in our meeting on Monday, our seminar will continue to take place regularly on Monday 17:00 hours. The seminar web page is at: https://cms.cispa.saarland/testdebug/
We will use the following zoom link: https://cispa-de.zoom.us/j/99579531702?pwd=eStVWTZXbkNDc2RnVHByZkNZcDUwZz09
(This is the same zoom link we used in our kickoff meeting)
We will start our seminar with a talk by Prof. Dr. Zeller on "How to Give a Talk". This talk will help you organize your presentations (especially the last one). So, don't miss it.
From the following week onward, we will have regular recurring sessions. We will have topics along with relevant publications assigned for reading each week. The format is for two students to volunteer for a short (5 minutes), ungraded introductory talk on the subject and publications, followed by discussions on the given publications possible limitations, published advancements, possible avenues of improvement, and possible applications other than what is envisioned in the paper. The other students will be required to read the publications, and prepare abstracts of the publications. These abstracts will be graded (pass/fail).
At the end of the course, each student will pick a topic, and provide a detailed (20 minutes) presentation. This presentation can include not only the publication, but also interesting advancements, avenues of improvement etc. The discussion on the paper by the class can be used for material in the final presentation. New related material can also be added. You will be graded on your final presentation.
Most papers are associated with artifacts/tools that you could run. Students are encouraged to play with those tools to form their own opinions on them (especially for the last presentation).
0) "How to give a talk": Prof. Dr. Andreas Zeller
1) Delta Debugging
* Simplifying and isolating failure-inducing input
* Reducing Failure-Inducing Inputs
2) Evocative Patterns for Behavioral Abstraction
* Abstracting Failure-Inducing Inputs
Gopinath, Kampmann, Havrikov, Soremekun, Zeller
* When does my Program do this? Learning Circumstances of Software Behavior
Kampmann, Havrikov, Soremekun, Zeller
3) Language of Program Behaviors
* Input Algebras
Gopinath, Nemati, Zeller
* Learning the Language of Error
Chapman, Chockler, Kesseli, Kroening, Strichman, Tautschnig http://www.cprover.org/learning-errors/learning-the-language-of-error-including-a-proof-supplement.pdf
4) Mining Dynamic Invariants
* Dynamically discovering likely program invariants to support program evolution
Ernst, Cockrell, Griswold, Notkin
* Mining Function Specifications
5) Mining Program Input Grammars
* Mining Input Grammars from Dynamic Control Flow
Gopinath, Mathis, Zeller
* Mining Input Grammars from Dynamic Taints
6) A review of reverse debugging (Time-travel Debugging)
7) Compiler Validation via Equivalence Modulo Inputs (EMI)
Le, Afshari, Su
8) MultiSE: Multi-Path Symbolic Execution using Value Summaries (MultiSE)
Sen, Necula, Gong, Choi
9) Smart Greybox Fuzzing (AFLSmart)
Pham, Böhme, Santosa, Caciulescu, Roychoudhury
10) FormatFuzzer: Effective Fuzzing of Binary File Formats (FormatFuzzer)
Dutra, Gopinath, Zeller
We expect a short abstract, no more than one page, capturing the essential ideas of the topic. You can use the following latex snippet to determine what fits in a single page and what doesn't.
Please upload your summary as a PDF to the CMS submission slot (you can use the above latex code to generate the PDF). The submission slot will open at least a day before the talk. If you face problems, please let us know.
The topics would be assigned to earliest volunteers of that topic. So, please send firstname.lastname@example.org a mail regarding your choices as early as possible.
Rahul + Rafael + Zeller