VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
Rigorous Software Engineering
Last Updated: 2026-02-05 16:22:56
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, 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.
Resources
Literature
Will be announced in the lecture.
Learning Materials (Links)
- Main link
- Course Webpage
General Information
- Language
- English
- Levels
- BSC
- Frequency
- Yearly recurring
Examination
- Type
- session examination
- Mode
- written 120 minutes
- Aids
- None.
Course Components
| Type | Title | Time & Place | Hours |
|---|---|---|---|
| lecture | Rigorous Software Engineering |
|
4 h weekly |
| exercise |
Rigorous Software Engineering
Groups are selected in myStudies.
|
|
2 h weekly |
| independent project | Rigorous Software Engineering | No time listed | 1 h weekly |