Internal Preview! The data shown below is not valid for students! Please refer to the official Module Descriptions at the Examination Office.
Automated Debugging

General

study semester
5-6
standard study semester
6
cycle
at least every two years
duration
1 semester
SWS
4
ECTS
6
teaching language
English

People

responsible
Prof. Dr. Andreas Zeller
lectures
Prof. Dr. Andreas Zeller

Assessment & Grades

entrance requirements

Programmierung 1, Programmierung 2 and Softwarepraktikum

assessment / exams

Projects and mini-tests

grade

The module is passed in its entirety if the examination performance has been passed.

Workload

course type /weekly hours
  2 h lectures
+ 2 h tutorial
= 4 h (weekly)
total workload
   60 h of classes
+ 120 h private study
= 180 h (= 6 ECTS)

Aims / Competences to be developed

Finding and fixing software bugs can involve lots of effort. This course addresses this problem by automating software debugging, specifically identifying failure causes, locating bugs, and fixing them. Students learn the basics of systematic debugging, and explore tools and techniques for automated debugging.

Content

  • Tracking Problems
  • The Scientific Method
  • Cause-Effect Chains
  • Building a Debugger
  • Tracking Inputs
  • Assertions and Sanitizers
  • Detecting Anomalies
  • Statistical Fault Localization
  • Generating Tests
  • Reducing Failure-Inducing Inputs
  • Mining Software Archives
  • Fixing the Defect
  • Repairing Bugs Automatically
  • Managing Bugs

Literature & Reading

The teaching material consists of text, Python code, and Jupyter Notebooks from the textbook “The Debugging Book” (https://www.debuggingbook.org/), also in English.

Additional Information

Curriculum

This module is part of the following study programmes:

Cybersicherheit BSc: Vertiefungsvorlesungen der Cybersicherheit
study semester: 5-6 / standard study semester: 6
Informatik BSc: Vertiefungsvorlesungen
study semester: 6 / standard study semester: 6
Medieninformatik MSc: Vertiefungsvorlesungen
study semester: 3 / standard study semester: 4
Computer Science BSc (English): Vertiefungsvorlesungen
study semester: 5-6 / standard study semester: 6
Cybersecurity BSc (English): Komplementäre Themen der Cybersicherheit
study semester: 4-5 / standard study semester: 6
Cybersecurity MSc: Vertiefungsvorlesungen Cybersecurity
study semester: 1-3 / standard study semester: 4