252-0216-00L Rigorous Software Engineering
| Semester | Frühjahrssemester 2022 |
| Dozierende | M. Schwerhoff, M. Vechev |
| Periodizität | jährlich wiederkehrende Veranstaltung |
| Lehrsprache | Englisch |
| Kurzbeschreibung | The course provides an overview of techniques to build correct software, with a strong focus on testing and program analysis. |
| Lernziel | The course has two main objectives: - Understand the core techniques for building correct software. - Understand how to apply these techniques in practice. |
| Inhalt | The course presents an overview of techniques to build correct software, including: - Code documentation - Modularity and coupling (Design patterns) - Dynamic program analysis (Testing, fuzzing, concolic execution) - Static program analysis (Numerical abstract interpretation, pointer analysis, symbolic execution) - Formal modeling (Alloy) In addition, students apply the learned techniques to solve a group project in the area of program analysis. |
| Literatur | Will be announced in the lecture. |

