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

Selected Methods for Program Analysis

The course is not on the list Without time-table
Code Completion Credits Range Language
NI-APR Z,ZK 5 2P+1C Czech
Course guarantor:
Lecturer:
Tutor:
Supervisor:
Department of Theoretical Computer Science
Synopsis:

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.

Requirements:

BI-OOP, BI-PPA

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:
Further information:
https://courses.fit.cvut.cz/NI-APR/
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2024-10-12
For updated information see http://bilakniha.cvut.cz/en/predmet6082106.html