Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2025/2026

Selected Methods for Program Analysis

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
NIE-APR Z,ZK 5 2P+1C anglicky
Garant předmětu:
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra teoretické informatiky
Anotace:

Tento kurz vás seznámí s programovou analýzou, tedy automatizovaným usuzováním o chování počítačového programu. Budeme se zabývat statickou i dynamickou analýzou. Ve statické analýze se podíváme na umění usuzování o programech bez jejich spuštění. Zaměříme se na analýzy pro porozumění programům, optimalizace a detekci chyb. V dynamické analýze se budeme zabývat analýzami, které zohledňují jednotlivé běhy programu v konkrétním prostředí a s konkrétními vstupy.

Požadavky:

BI-OOP, BI-PPA, BI-PJP

Budete psát interpret AST a několik statických analýz, takže je vhodné být zběhlý v nějakém programovacím jazyce. Šablona projektu je připravena v jazycích Scala a C++.

Osnova přednášek:

1. Úvod do programové analýzy

2. Typová analýza 1

3. Typová analýza 2

4. Svazy (Lattices)

5. Pevné body (Fixed points)

6. Analýza toku dat 1 (Dataflow analysis 1)

7. Analýza toku dat 2 (Dataflow analysis 2)

8. Rámec bitových vektorů, rozšiřování a zužování (Widening and narrowing)

9. Interprocedurální analýza

10. Analýza toku řízení (Control flow analysis)

11. Abstraktní interpretace

12. Dynamická analýza

Osnova cvičení:

1. Jazyk microC

2. Svazy (Lattices)

3. Analýza toku dat

4. Citlivost na cesty (Path sensitivity)

5. Analýza ukazatelů

6. Dynamická analýza

Cíle studia:
Studijní materiály:

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.

Poznámka:

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/NI-APR/

Další informace:
https://courses.fit.cvut.cz/NIE-APR/
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 3. 2. 2026
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet8594006.html