Vybrané metody analýzy programů
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
NI-APR | Z,ZK | 5 | 2P+1C | česky |
- Garant předmětu:
- Filip Křikava
- Přednášející:
- Filip Křikava
- Cvičící:
- Filip Křikava
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Tento kurz vás seznámí s analýzou programů, tj. automatizovaným uvažováním o chování počítačového programu. Budeme se zabývat statickou a dynamickou analýzou. Ve statické analýze se budeme zabývat uměním uvažovat o počítačových programech, aniž bychom je spustili. Budeme se zabývat analýzami pro pochopení programu, optimalizacemi a odhalováním chyb. V dynamické analýze se budeme zabývat analýzami uvažujícími o jednotlivých bězích programu s využitím konkrétního prostředí a vstupů.
- Požadavky:
-
BI-OOP, BI-PPA
- Osnova přednášek:
-
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
- Osnova cvičení:
-
1. microC programovací jazyk
2. Lattices
3. Dataflow analysis
4. Path sensitivity
5. Pointer analysis
6. Dynamic analysis
- 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/NI-APR/
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Mgr. specializace Počítačová bezpečnost, 2020 (volitelný předmět)
- Mgr. specializace Návrh a programování vestavných systémů, 2020 (volitelný předmět)
- Mgr. specializace Počítačové systémy a sítě, 2020 (volitelný předmět)
- Mgr. specializace Manažerská informatika, 2020 (volitelný předmět)
- Mgr. specializace Softwarové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Systémové programování, verze od 2020 (PS)
- Mgr. specializace Webové inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Znalostní inženýrství, 2020 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2020 (volitelný předmět)
- Mgr. program, pro fázi studia bez specializace, ver. pro roky 2020 a vyšší (VO)
- Master Specialization Digital Business Engineering, 2023 (VO)
- Mgr. specializace Systémové programování, verze od 2023 (PS)
- Mgr. specializace Teoretická informatika, 2023 (volitelný předmět)