Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2025/2026

Selected Methods for Program Analysis

Display time-table
Code Completion Credits Range Language
NI-APR Z,ZK 5 2P+1C Czech
Course guarantor:
Filip Křikava
Lecturer:
Filip Křikava
Tutor:
Filip Křikava
Supervisor:
Department of Theoretical Computer Science
Synopsis:

This course introduces you to program analysisthe automated reasoning about the behavior of computer programs. We will cover both static and dynamic analysis. In static analysis, we explore the art of reasoning about programs without executing them, including techniques for program understanding, optimization, and error detection. In dynamic analysis, we examine individual program executions within specific environments and inputs.

Requirements:

BI-OOP, BI-PPA, BI-PJP

You will be writing an AST interpreter and a number of static analyses so it is good to be proficient in some programming language. The project template is in Scala and C++.

Syllabus of lectures:

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

Syllabus of tutorials:

1. The microC language

2. Lattices

3. Dataflow analysis

4. Path sensitivity

5. Pointer analysis

6. Dynamic analysis

Study Objective:
Study materials:

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.

Note:

Course information and material is at https://courses.fit.cvut.cz/NI-APR/

Further information:
https://courses.fit.cvut.cz/NI-APR/
Time-table for winter semester 2025/2026:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
Tue
Wed
Thu
roomT9:346
Křikava F.
12:45–14:15
(lecture parallel1)
Dejvice
NBFIT schoolroom
Fri
Time-table for summer semester 2025/2026:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2026-04-27
For updated information see http://bilakniha.cvut.cz/en/predmet6082106.html