Mas­ter Sem­in­ar: Ad­vanced Tech­niques in Soft­ware Ana­lys­is

Software Analysis is concerned with automatically determining properties of programs, e.g. the absence of bugs or the validity of assertions. In this seminar, we take a look at some selected approaches to software analysis, thereby complementing the contents of the course “Software Analysis” as well as ''Model Checking''.

Questions: 

Questions regarding the seminar are answered by Arnab Sharma 

Or­gan­iz­a­tion­al is­sues:

Language:   

The language of the seminar is English, i.e. you will need to give your presentation in English as well as write your report in English.

How to:

If you don't know how to write a report or make a presentation for the seminar, you can have a look some of the old reports and presentation which were made by the students here. These reports and presentations are made for sample purpose only. DO NOT  copy anything from there.

Important Dates:                                                                                                                                   

  • 15.11.2020  Submission of the slides for Studienleistung
  • 16.11.2020, 05.00 p.m., Studienleistung
  • 23.12.2020  Submission of the first version of the report
  • 17.01.2021  Submission of the final version of the report
  • 24.01.2021  Submission of the first version of the slides
  • 07.02.2021 Submission of the final version of the slides
  • 09.02.2021 - 11.02.2021, starting from 04.00 p.m., Presentation

Questions: 

If you have any question regarding this seminar, please contact Arnab Sharma.

Re­quire­ments for passing the sem­in­ar

The following tasks are mandatory to pass this seminar. 

  • Acheive the 'Studienleistung',
  • Write a report (8 - 10 pages) on the chosen topic,
  • Review the report of the other participants
  • Give an approx. 30 minutes talk on your topic,
  • Actively participate in discussions after the talk

Studienleistung

A few weeks (approx. 2–3) after the seminar started, there will
be a (online) meeting with all seminar participants and all supervisors. During
this meeting you have to present the core idea of your chosen topic in 2 minutes.
A successful presentation will grant you the “Studienleistung”. Not achieving
the “Studienleistung” will result in an exclusion from the seminar. However,
you will not be graded in this case.

Top­ics:

  1. Monte Carlo Model Checking, Grosu et al., TACAS 2005
  2. Scaling Symbolic Execution with Ranged Analysis, Siddiqui et al., OOPSLA 2012
  3. Cause Clue Clauses: Error Localization Using Maximum Satisfiability, Jose et al., PLDI 2011
  4. Interpolants as Classifiers, Sharma et al., CAV 2012
  5. MetaVal: Witness Validation via Verification, Beyer et al., CAV 2020
  6. ApkCombiner: Combining Multiple Android Apps to Support Inter-App Analysis, Li et al., SEC 2015
  7. FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps, Arzt et al., PLDI 2014
  8. Detecting Information Flow by Mutating Input Data, Mathis et al., ASE 2017
  9. Search-Based Energy Testing of Android, Jabbarvand et al., ICSE 2019 
  10. EvoDroid: Segmented Evolutionary Testing of Android Apps, Mahmood et al., FSE 2014
  11. Safety Verification of Deep Neural Networks, Huang et al., CAV 2017
  12. Symbolic Execution for Software Testing: Three Decades Later, Cadar et al., Cacm 2013
  13.  Concolic Testing of Deep Neural Networks, Sun et al., ASE 2018
  14. DART: Directed Automated Random Testing, Godefroid et al., PLDI 2005
  15. Counterexample Guided Abstraction Refinement via Program Execution, Kroening et al., ICFEM 2004
  16. Fuzzing With Code Fragments, Holler et al., USENIX Security Symposium 2012
  17. Statistical Model Checking of Black-Box Probabilistic Systems, Sen et al., CAV 2004