Code: NI-APR Selected Methods for Program Analysis
Lecturer: doc. Ing. Filip Køikava Ph.D. Weekly load: 2P+1C Completion: A, EX
Department: 18101 Credits: 5 Semester: S
Description:
This course introduces you to program analysis, i.e., the automated reasoning about the behavior of a computer program. We will cover static and dynamic analysis. In Static Analysis, we will look at the art of reasoning about computer programs without running them. We will look at the analyses for program understanding, optimizations, error detection. In Dynamic Analysis, we will look at the analyses considering individual program runs using a concrete environment and inputs.
Contents:
1. Introduction to program analysis
2. Type analysis 1
3. Type analysis 2
4. Lattices
5. Fixed points
6. Dataflow analysis 1
7. Dataflow analysis 2
8. Bit-vector framework, widening and anrrowing
9. Interprocedural analysis
10. Control flow analysis
11. Abstract interpretation
12. Dynamic analysis
Seminar contents:
1. The microC language
2. Lattices
3. Dataflow analysis
4. Path sensitivity
5. Pointer analysis
6. Dynamic analysis
Recommended literature:
1. Anders M?ller and Michael I Schwartzbach. ?Static Program Analysis.? Department of Computer Science, Aarhus University, 2018.
2. Cooper, K. - Torczon, L. : Engineering: A Compiler (2nd Edition). Morgan Kaufmann, 2011. ISBN 978-0120884780.
Keywords:
static program analysis, dynamic program analysis

Abbreviations used:

Semester:

Mode of completion of the course:

Weekly load (hours per week):