Description
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.
Literature
Flemming Nielson, Hanne Riis Nielson, Chris Hankin
Principles of Program Analysis
ISBN 3-540-65410-0
Papers
Mike Paterson, Mark N. Wegman:Linear Unification. | |
Raja Vallée-Rai, Phong Co, Etienne Gagnon, Laurie J. Hendren, Patrick Lam, Vijay Sundaresan:
Soot - a Java bytecode optimization framework | Albrecht |
Stefano Secci, Fausto Spoto: Pair-Sharing Analysis of Object-Oriented Programs | Morgan Couapel |
Fausto Spoto, Stefano Rossignoli: Detecting Non-cyclicity by Abstract Compilation into Boolean Functions | |
Samir Genaim, Damiano Zanardini: Reachability-based acyclicity analysis by Abstract Interpretation | Kommer et al. |
Tao Wei, Jian Mao, Wei Zou, Yu Chen: A New Algorithm for Identifying Loops in Decompilation | 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 | Köb et al. |
Damiano Zanardini, Elvira Albert, Karina Villela:
Resource-usage-aware configuration in software product lines | |
Zachary Kincaid, John Cyphert, Jason Breck, Thomas W. Reps:
Non-linear reasoning for invariant synthesis | Aichinger et al. |