VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
Abstract
The course provides an overview of techniques to build correct software, with a strong focus on testing and program analysis.
Objective
The course has two main objectives: - Understand the core techniques for building correct software. - Understand how to apply these techniques in practice.
Content
The course presents an overview of techniques to build correct software, including: - Code documentation - Modularity and coupling (Design patterns) - Dynamic program analysis (Testing, 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.
Resources
Literature
Will be announced in the lecture.