Selected Topics in Automated Testing and Debugging Summer 2021

The seminar is conducted along with Prof. Dr. Andreas Zeller and Dr. Rafael Dutra, and covers the following topics

Phase I

1) Delta Debugging

  • Simplifying and isolating failure-inducing input by Zeller, Hildebrandt 1
  • Reducing Failure-Inducing Inputs 1, 2

2) Evocative Patterns for Behavioral Abstraction

  • Abstracting Failure-Inducing Inputs by Gopinath, Kampmann, Havrikov, Soremekun, Zeller 1
  • When does my Program do this? Learning Circumstances of Software Behavior by Kampmann, Havrikov, Soremekun, Zeller 1

3) Language of Program Behaviors

  • Input Algebras by Gopinath, Nemati, Zeller 1
  • Learning the Language of Error by Chapman, Chockler, Kesseli, Kroening, Strichman, Tautschnig 1

4) Mining Dynamic Invariants

  • Dynamically discovering likely program invariants to support program evolution by Ernst, Cockrell, Griswold, Notkin 1
  • Mining Function Specifications 1

5) Mining Program Input Grammars

  • Mining Input Grammars from Dynamic Control Flow by Gopinath, Mathis, Zeller 1
  • Mining Input Grammars from Dynamic Taints by Höschele, Zeller 1

Phase II

6) A review of reverse debugging (Time-travel Debugging) by Engblom 1

7) Compiler Validation via Equivalence Modulo Inputs (EMI) by Le, Afshari, Su 1

8) MultiSE: Multi-Path Symbolic Execution using Value Summaries (MultiSE) by Sen, Necula, Gong, Choi 1

9) Smart Greybox Fuzzing (AFLSmart) by Pham, Böhme, Santosa, Caciulescu, Roychoudhury 1

10) FormatFuzzer: Effective Fuzzing of Binary File Formats (FormatFuzzer) by Dutra, Gopinath, Zeller 1