en | de

Program Analysis

bachelor program

VU3  WS 2018/2019  703052


Program analysis concerns static techniques for computing reliable approximate information about the dynamic behaviour of programs. Applications include compilers, software engineering and transformations between data representation. We will follow the book "Principles of Program Analysis" by Nielson et al. closely and link to ongoing research in static resource analysis.

Lecture and lab are combined in this lecture type; at the beginning more time will be attributed to the presentation of the topic, while later, we will spend more time on hand-on examples.


Flemming Nielson, Hanne Riis Nielson, Chris Hankin
Principles of Program Analysis
ISBN 3-540-65410-0



Mike Paterson, Mark N. Wegman:Linear Unification.
doi: 10.1145/800113.803646.

Raja Vallée-Rai, Phong Co, Etienne Gagnon, Laurie J. Hendren, Patrick Lam, Vijay Sundaresan: Soot - a Java bytecode optimization framework
doi: 10.1145/781995.782008.


Stefano Secci, Fausto Spoto: Pair-Sharing Analysis of Object-Oriented Programs
doi: 10.1007/11547662_22.

Morgan Couapel

Fausto Spoto, Stefano Rossignoli: Detecting Non-cyclicity by Abstract Compilation into Boolean Functions
doi: 10.1016/j.tcs.2012.12.018.

Samir Genaim, Damiano Zanardini: Reachability-based acyclicity analysis by Abstract Interpretation
doi: 10.1016/j.tcs.2012.12.018.

Kommer et al.

Tao Wei, Jian Mao, Wei Zou, Yu Chen: A New Algorithm for Identifying Loops in Decompilation
doi: 10.1007/978-3-540-74061-2_11.

Häusler et al.

Lukás Holík, Ondrej Lengál, Adam Rogalewicz, Jirí Simácek, Tomás Vojnar: Fully Automated Shape Analysis Based on Forest Automata
doi: 10.1007/978-3-642-39799-8_52.

Köb et al.

Damiano Zanardini, Elvira Albert, Karina Villela: Resource-usage-aware configuration in software product lines
doi: 10.1016/j.jlamp.2015.08.003.

Zachary Kincaid, John Cyphert, Jason Breck, Thomas W. Reps: Non-linear reasoning for invariant synthesis
doi: 10.1145/3158142.

Aichinger et al.