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:
- W ... winter semester (usually October - February)
- S ... spring semester (usually March - June)
- W,S ... both semesters
Mode of completion of the course:
- A ... Assessment (no grade is given to this course but credits are awarded. You will receive only P (Passed) of F (Failed) and number of credits)
- GA ... Graded Assessment (a grade is awarded for this course)
- EX ... Examination (a grade is awarded for this course)
- A, EX ... Examination (the award of Assessment is a precondition for taking the Examination in the given subject, a grade is awarded for this course)
Weekly load (hours per week):
- P ... lecture
- C ... seminar
- L ... laboratory
- R ... proseminar
- S ... seminar