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