Selected Methods for Program Analysis
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
NI-APR | Z,ZK | 5 | 2P+1C | Czech |
- Garant předmětu:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Theoretical Computer Science
- Synopsis:
-
Program analysis studies program behavior with the aim of code optimization and error detection. Students will learn static program analysis, which approximates program behavior without the need to actually run the program, as well as dynamic program analysis which analyse programs at runtime. Students will be introduced to the common techniques and algorithms and use them on some classical problems.
- Requirements:
-
BI-OOP, BI-PPA, NI-MPJ
- 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. Interprocedural analysis
9. Control flow analysis
10. Abstract interpretation
11. Dynamic analysis
12. Introduction to symbolic execution
- Syllabus of tutorials:
-
1. The µC 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:
-
- Master specialization Computer Science, in Czech, 2018-2019 (elective course)
- Master specialization Computer Security, in Czech, 2020 (elective course)
- Master specialization Design and Programming of Embedded Systems, in Czech, 2020 (elective course)
- Master specialization Computer Systems and Networks, in Czech, 202 (elective course)
- Master specialization Management Informatics, in Czech, 2020 (elective course)
- Master specialization Software Engineering, in Czech, 2020 (elective course)
- Master specialization System Programming, in Czech, version from 2020 (PS)
- Master specialization Web Engineering, in Czech, 2020 (elective course)
- Master specialization Knowledge Engineering, in Czech, 2020 (elective course)
- Master specialization Computer Science, in Czech, 2020 (elective course)
- Mgr. programme, for the phase of study without specialisation, ver. for 2020 and higher (VO)
- Master Specialization Digital Business Engineering, 2023 (VO)
- Master specialization System Programming, in Czech, version from 2023 (PS)
- Master specialization Computer Science, in Czech, 2023 (elective course)