Practical Course - Static Analysis: Automated Bug Hunting and Beyond (IN0012, IN2106, IN4301)
Course 0000002014 in WS 2023/4
General Data
Course Type | practical training |
---|---|
Semester Weekly Hours | 6 SWS |
Organisational Unit | Informatics 2 - Chair of Formal Languages, Compiler Construction, Software Construction (Prof. Seidl) |
Lecturers |
Julian Erhard Michael Schwarz Responsible/Coordination: Helmut Seidl |
Dates |
Thu, 13:00–15:00, MI 02.07.014 and 1 singular or moved dates |
Assignment to Modules
-
IN2106: Master-Praktikum / Advanced Practical Course
This module is included in the following catalogs:- Further Modules from Other Disciplines
Further Information
Courses are together with exams the building blocks for modules. Please keep in mind that information on the contents, learning outcomes and, especially examination conditions are given on the module level only – see section "Assignment to Modules" above.
additional remarks | Together with colleagues at the University of Tartu, we develop and maintain the Static Analyzer Goblint, which is based on Abstract Interpretation.The tool is capable of analyzing real-world C programs and showing properties such as the absence of buffer overruns or data races in multi-threaded code without requiring any user interaction at all.Goblint won the Data Race Category of the Software Verification Competition in 2023.In the course of this practical, you (in teams of 2-4) will be able to enhance Goblint with new relational domains, i.e., domains tracking not abstractions of one variable but relationships between multiple variables. Such domains are useful, e.g., for detecting buffer-overflows where neither the index's exact value nor the array's length is known beforehand.This topic lies at the intersection of the expertise of our research group, i.e., it is supervised by an expert on numerical relational domains and contributors to the Goblint static analyzer.One of the domains which may be implemented in the course of this practical is Flexeder et al. "Fast interprocedural linear two-variable equalities", TOPLAS 2012.This article presents an analysis that, in its basic setting, infers **all** valid variable differences, that is, all valid equalities of the form x = c or x = y+c for some constant c ∈ Z.Participating in this practical course will:- Deepen your understanding of the semantics of C and typical programming errors- Deepen your understanding of static analysis by Abstract Interpretation- Level up your functional programming skills- Become connected to the research we do day-to-dayThe pre-meeting for this practical course will take place on Monday, 10th of July, at 1 p.m. in room 02.07.014. |
---|---|
Links | TUMonline entry |
Equivalent Courses (e. g. in other semesters)
Semester | Title | Lecturers | Dates |
---|---|---|---|
SS 2023 | Practical Course - Static Analysis: Automated Bug Hunting and Beyond (IN0012, IN2106, IN4301) |
Erhard, J.
Schwarz, M.
Responsible/Coordination: Seidl, H. |
singular or moved dates |
WS 2022/3 | Practical Course - Static Analysis: Automated Bug Hunting and Beyond (IN0012, IN2106, IN4301) |
Erhard, J.
Schwarz, M.
Responsible/Coordination: Seidl, H. |
singular or moved dates |
SS 2022 | Practical Course - Static Analysis: Automated Bug Hunting and Beyond (IN0012, IN2106, IN4301) |
Erhard, J.
Schwarz, M.
Responsible/Coordination: Seidl, H. |
singular or moved dates |
SS 2021 | Practical Course - Static Analysis: Automated Bug Hunting and Beyond (IN0012, IN2106, IN4301) |
Erhard, J.
Schwarz, M.
Responsible/Coordination: Seidl, H. |
singular or moved dates |