252-0216-00L  Rigorous Software Engineering

SemesterSpring Semester 2022
LecturersM. Schwerhoff, M. Vechev
Periodicityyearly recurring course
Language of instructionEnglish


252-0216-00 VRigorous Software Engineering4 hrs
Tue16:15-18:00HG F 3 »
Wed12:15-14:00HG F 3 »
M. Schwerhoff, M. Vechev
252-0216-00 URigorous Software Engineering
Groups are selected in myStudies.
2 hrs
Mon14:15-16:00ML F 34 »
16:15-18:00ML E 12 »
Thu16:15-18:00LFW C 5 »
16:15-18:00ML H 41.1 »
M. Schwerhoff, M. Vechev
252-0216-00 ARigorous Software Engineering1 hrsM. Schwerhoff, M. Vechev

Catalogue data

AbstractThe course provides an overview of techniques to build correct software, with a strong focus on testing and program analysis.
ObjectiveThe course has two main objectives:

- Understand the core techniques for building correct software.
- Understand how to apply these techniques in practice.
ContentThe 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.
LiteratureWill be announced in the lecture.

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
ECTS credits8 credits
ExaminersM. Vechev, M. Schwerhoff
Typesession examination
Language of examinationEnglish
RepetitionThe performance assessment is only offered in the session after the course unit. Repetition only possible after re-enrolling.
Mode of examinationwritten 120 minutes
Additional information on mode of examinationThe 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.
Written aidsNone.
This information can be updated until the beginning of the semester; information on the examination timetable is binding.

Learning materials

Main linkCourse Webpage
Only public learning materials are listed.


252-0216-00 URigorous Software Engineering
Mon14:15-16:00ML F 34 »
Mon16:15-18:00ML E 12 »
Thu16:15-18:00LFW C 5 »
Thu16:15-18:00ML H 41.1 »


There are no additional restrictions for the registration.

Offered in

Computer Science BachelorMajor: Systems and Software EngineeringOInformation