Main Content

Debugging, Testing and Improving Programs

When a program does not work properly, it is the developer’s job to find and fix the bugs. This is generally a difficult task that is supported by a range of tools and techniques. While a debugger enables the developer to monitor the execution of a program and examine program states in a (usually) interactive way to find bugs, testing is a process of demonstrating that a program can meet user requirements bug-free in specific scenarios. Tests also serve the purpose of creating reproducible program executions, e.g., to identify bugs and help in debugging. In the seminar, we will look at advanced debugging and testing techniques to make these processes more effective and efficient. We will even look at improvement techniques for programs that can automatically eliminate bugs.

Qualification goals

  • Understanding and preparation of recent technical publications in English and of software tools.
  • Preparing and giving a scientific presentation, including discussion.
  • Writing a seminar paper.


Lecturer: Prof. Taentzer
Meeting dates under module number: LV-12-079-337
SWS: 2, Credit points: 3

Prerequisites: None.

Deliverables: Lecture (weight: 1 Credit) with written elaboration of a topic (weight: 2 Credits).

Further notes: Current information and announcements about the course will always be published in the corresponding Ilias group.