VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

252-0216-00L 8 Credits BSC D-INFK
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Rigorous Software Engineering

VVZ CR 3.4

Last Updated: 2026-02-05 16:07:05

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)

General Information

Language
English
Levels
BSC
Frequency
Yearly recurring

Examination

Type
session examination
Mode
written 120 minutes
Aids
None.
The grade will be determined by:- a mandatory project, 20%- a final exam, 80%Students who are repeating the course are required to repeat the project work.

Course Components

Type Title Time & Place Hours
lecture Rigorous Software Engineering
  • Tue 16:15-18:00 (HG F 3)
  • Wed 12:15-14:00 (HG F 3)
4 h weekly
exercise Rigorous Software Engineering
Groups are selected in myStudies.
  • Mon 14:15-16:00 (ML F 34)
  • Mon 16:15-18:00 (ML E 12)
  • Thu 16:15-18:00 (LFW C 5)
  • Thu 16:15-18:00 (ML H 41.1)
2 h weekly
independent project Rigorous Software Engineering No time listed 1 h weekly

Offered In