News

Re-exam inspection

Written on 07.04.25 by Laura Plein

Dear students,

The re-exam inspection will take place on Tuesday 8th April from 11:00-12:00 in the C0 cispa building in room 0.01

Please make sure to bring your student id to the exam inspection.

Best regards,

Re-exam grades and inspection

Written on 04.04.25 by Laura Plein

Dear Students,

We have graded the re-exam and published the scores.

You can also find the grade and passing status of the course on your personal status page.

The re-exam inspection will take place on Tuesday 8th April from 11:00-12:00.

Best regards,

Re-Exam Registration

Written on 26.03.25 by Marius Smytzek

Dear Students,

Please register via the LSF for the re-exam today

Additionally, we have set up a registration in the CMS. Please register with the CMS by the 1st of April if you will attend the re-exam.

Note that you must register in the LSF. The registration in the CMS is for organizational purposes.

Grading Issue Project 01 Task 2

Written on 26.03.25 by Marius Smytzek

Dear Students,

Unfortunately, we encountered an issue while grading Task 2 of Project 01, which lowered some students' scores.

We have fixed this issue and updated the points and grades in the CMS for you to inspect.

IMPORTANT: Please register for the re-exam in the LSF by today, even if you… Read more

Dear Students,

Unfortunately, we encountered an issue while grading Task 2 of Project 01, which lowered some students' scores.

We have fixed this issue and updated the points and grades in the CMS for you to inspect.

IMPORTANT: Please register for the re-exam in the LSF by today, even if you do not plan to attend the re-exam. 

We will update the changes with the re-exam.

Re-Exam Registration

Written on 25.03.25 by Marius Smytzek

Dear Students,

We want to remind you that the re-exam will be on Thursday, April 3rd, next week.

Please register via the LSF by Wednesday, March 26th.

If you cannot register via LSF, e.g., you are an Erasmus student, write us an e-mail.

Grades

Written on 24.03.25 by Marius Smytzek

Dear students,

We have published the grades. Please find them on your Personal Status page. Congratulations on your achievement!

Note that some results may have changed because of the exam inspection.

We want to remind you that there is an upcoming re-exam on 03.04.2025. We will provide the… Read more

Dear students,

We have published the grades. Please find them on your Personal Status page. Congratulations on your achievement!

Note that some results may have changed because of the exam inspection.

We want to remind you that there is an upcoming re-exam on 03.04.2025. We will provide the grades in the LSF tomorrow morning so you can register by Wednesday.

Project 02 Results

Written on 24.03.25 by Marius Smytzek

Dear Students,

You will find your points for Project 02 on your Personal Status page. We included feedback (download the .txt file).

The grading regulations were mentioned in the sheet (recheck it when in doubt).

Project 01 Results

Written on 24.03.25 by Marius Smytzek

Dear Students,

You can find your points for Project 01 on your Personal Status page. We included feedback (download the .txt file) reporting the passed and failed tests. 

The points for Task 1 were given as follows:

- If you pass all public tests, you receive 50 points and pass the… Read more

Dear Students,

You can find your points for Project 01 on your Personal Status page. We included feedback (download the .txt file) reporting the passed and failed tests. 

The points for Task 1 were given as follows:

- If you pass all public tests, you receive 50 points and pass the project.

- The 30 secret tests linearly map to the other 10 points, e.g., if you pass 15 tests, you receive 5 points; if you pass eight tests, you receive 2.5 points.

 

The points for Task 2 were given based on how well you identified the faulty location for a subject (the higher the index in the ranking, the better) and how uniquely you identified the location based on how many locations have the same suspiciousness and how many locations are ranked higher. We calculated a score for 11 subjects (identification x uniqueness) and mapped the average for all subjects linearly to 40 points.

Exam Inspection

Written on 20.03.25 by Laura Plein

Dear students,

The exam inspection will take place on Monday 24th March from 10:00-12:00 in the C0 cispa building in room 2.22

Please make sure to bring your student id to the exam inspection.

Best regards,

Exam Result

Written on 14.02.25 by Marius Smytzek

Dear Students,

We have graded and published the final exam scores. We have lowered the passing points to 38.

You can see your score and the statistics on your personal status page.

Additionally, we want to remind you that there will be a re-exam on April 3rd, 2025. You can also participate to… Read more

Dear Students,

We have graded and published the final exam scores. We have lowered the passing points to 38.

You can see your score and the statistics on your personal status page.

Additionally, we want to remind you that there will be a re-exam on April 3rd, 2025. You can also participate to improve your exam score since the maximum points of exams and re-exams are considered.

Exam

Written on 12.02.25 by Laura Plein

Dear Students,

The final exam of the Automated Debugging course is taking place tomorrow (13.02.2025) at 14:00 in the Günter Hotz Lecture Hall.

Some information about the exam:

- Please make sure to arrive early, you should be there at 14:00 so that we can start on time.

- The exam will… Read more

Dear Students,

The final exam of the Automated Debugging course is taking place tomorrow (13.02.2025) at 14:00 in the Günter Hotz Lecture Hall.

Some information about the exam:

- Please make sure to arrive early, you should be there at 14:00 so that we can start on time.

- The exam will take place from 14:15 to 15:45 (90 minutes).

- You need to bring your student ID card to the exam.

- Please note that no additional materials and no electronic devices will be allowed in the exam.

All the best for the exam!

Project 02 Update

Written on 06.02.25 by Marius Smytzek

Dear Students,

There was a problem with the timeouts under Windows. The newest version should fix this issue. Moreover, it updates the scoring script to use pytest instead of the unittest module.

Project 02

Written on 04.02.25 by Marius Smytzek

Dear Students,

We have published Project 02. You can find it under Information > Material.

The Zip file contains the required files for this exercise. The sheet.pdf includes the tasks you should try to solve.

Please submit your solutions via the CMS on your Personal Status page. You have… Read more

Dear Students,

We have published Project 02. You can find it under Information > Material.

The Zip file contains the required files for this exercise. The sheet.pdf includes the tasks you should try to solve.

Please submit your solutions via the CMS on your Personal Status page. You have until 23 March 2023 at 23:59 to upload your solutions as a Zip file. Note that we cannot evaluate delayed submissions.

Project 01 Results for Public Tests

Written on 27.01.25 by Marius Smytzek

Dear Students,
We have published the results of the public tests for task 1.
These results will tell you whether you have passed the project; if you received 50 points for the public tests, you have passed the project.

Submission A8 reopened

Written on 27.01.25 by Laura Plein

Dear Students,

Apologies for the incorrect submission time in CMS. We have reponed the submission until today 14:00 such that those of you who completed the assignment but couldn't submit it still have the chance to upload their solution.

Best regards,

Assignment 9

Written on 21.01.25 by Laura Plein

Dear Students,

We have released the last assignment. You can find it under the Materials.

Best regards,

Assignment 8

Written on 17.01.25 by Laura Plein

Dear Students,

We have released Assignment 8. You can find it under the Materials.

Best regards,

Course evaluation "Automated Debugging"

Written on 16.01.25 by Andreas Zeller

Dear participants of "Automated Debugging",

Every semester, we evaluate our courses to see where there is room for improvement – and we need your help. Please take a minute to fill out the form at

https://qualis.uni-saarland.de/eva/?l=153841&p=ecjne7

The evaluation is open until January 25.… Read more

Dear participants of "Automated Debugging",

Every semester, we evaluate our courses to see where there is room for improvement – and we need your help. Please take a minute to fill out the form at

https://qualis.uni-saarland.de/eva/?l=153841&p=ecjne7

The evaluation is open until January 25. We're looking forward to your feedback!

Best wishes,

Andreas + Marius + Laura

Assignment 7

Written on 07.01.25 by Laura Plein

Dear Students,

We have released Assignment 7. You can find it under the Materials.

Best regards,

Project 01Update -- Deadline + Tests + Container

Written on 07.01.25 by Marius Smytzek

Dear students,

Due to illnesses, we have decided to extend the deadline of Project 01 to 19.01.2025 at 23:59.

Moreover, we have updated the public tests of Project 01 to provide much more detailed feedback. We have uploaded the test file solely for convenience if you have already started with… Read more

Dear students,

Due to illnesses, we have decided to extend the deadline of Project 01 to 19.01.2025 at 23:59.

Moreover, we have updated the public tests of Project 01 to provide much more detailed feedback. We have uploaded the test file solely for convenience if you have already started with your implementation. The updated tests are already provided if you download the project files.

The following is entirely optional:

Additionally, we have uploaded a Dockerfile that you can use to verify that your solution will pass the tests on our side. You need Docker installed and the demon running (for reference, we refer to https://docs.docker.com/desktop/).

  1. To use this file, copy it to the base directory of your project implementation, i.e., the directory that stores the tests.py file.
  2. You need to open a command line and navigate to this director.
  3. Then, build the image by running docker build -t debug2425 ..
  4. Finally, you can execute the tests by running docker run --rm -v .:/project debug2425.

If you completed these steps, you can simply rerun the test by repeating step 4. Since the current directory is mounted as a volume to the container, the tests will always use your current implementation.

Statistics and Grades

Written on 20.12.24 by Laura Plein

Dear Students,

We have now released the statistics for the assignments.

The grades for Assignment 5 have also been updated in CMS. You can find the solutions under the Materials.

Best regards,

 

Project 01 Update

Written on 13.12.24 by Marius Smytzek

Dear Students,

There still was problem with the tests for Project 01. We have updated and extended the tests to provide more detailed assertions.
We have updated the project files, which you can find in the newest version under Information > Material.

Additionally, we have uploaded solely the… Read more

Dear Students,

There still was problem with the tests for Project 01. We have updated and extended the tests to provide more detailed assertions.
We have updated the project files, which you can find in the newest version under Information > Material.

Additionally, we have uploaded solely the test file for convenience if you have already started with your implementation.

Assignment 6

Written on 12.12.24 by Laura Plein

Dear Students,

We have just released Assignment 6. You can find it under the Materials.

Best regards,

Project 01 Update

Written on 10.12.24 by Marius Smytzek

Dear Students,

There was a problem with two tests for Project 01, and we have fixed these tests.
We have updated the project files, which you can find in the newest version under Information > Material.

Additionally, we have uploaded solely the test file for convenience if you have already… Read more

Dear Students,

There was a problem with two tests for Project 01, and we have fixed these tests.
We have updated the project files, which you can find in the newest version under Information > Material.

Additionally, we have uploaded solely the test file for convenience if you have already started with your implementation.

Project 01

Written on 05.12.24 by Marius Smytzek

Dear Students,

We have published Project 01. You can find it under Information > Material.

The Zip file contains the required files for this exercise. The sheet.pdf includes the tasks you should try to solve.

Please submit your solutions via the CMS on your Personal Status page. You have… Read more

Dear Students,

We have published Project 01. You can find it under Information > Material.

The Zip file contains the required files for this exercise. The sheet.pdf includes the tasks you should try to solve.

Please submit your solutions via the CMS on your Personal Status page. You have until 12 January 2023 at 23:59 to upload your solutions as a Zip file. Note that we cannot evaluate delayed submissions.

Assignment 5

Written on 04.12.24 by Laura Plein

Dear Students,

We have just released Assignment 5. You can find it under the Materials.

Best regards,

Assignment 4

Written on 21.11.24 by Laura Plein

Dear Students,

We have just released Assignment 4. You can find it under the Materials.

Best regards,

SFL Example

Written on 21.11.24 by Marius Smytzek

Dear Students,

We have uploaded the lecture's example and exercise on statistical debugging (sfl.zip). You can find it under Materials.

Best regards,

Assignment 3

Written on 15.11.24 by Marius Smytzek

Dear Students,

We have just released Assignment 3. You can find it under the Materials.

The Zip file contains the required files for this exercise. The sheet.pdf contains the tasks you should try to solve.

Because of the delay, we have extended the deadline for this assignment to 24.11.2024.

Best regards,

Debuggingbook-1.2.3 available

Written on 12.11.24 by Andreas Zeller

Hi everyone,

We have released a new version 1.2.3 of the debuggingbook Python package. This version passes all our Python 3.10, 3.11, 3.12, and 3.13 tests. It also works around a bug in the showast module that prevented the current "Slicing" chapter from running as a notebook in Python 3.12 and… Read more

Hi everyone,

We have released a new version 1.2.3 of the debuggingbook Python package. This version passes all our Python 3.10, 3.11, 3.12, and 3.13 tests. It also works around a bug in the showast module that prevented the current "Slicing" chapter from running as a notebook in Python 3.12 and later.

To upgrade, run

$ pip install --upgrade debuggingbook

Enjoy! -- Andreas + Laura + Marius

Assignment 2

Written on 06.11.24 by Laura Plein

Dear Students,

We have just released Assignment 2. You can find it under the Materials.

The Zip file contains the required files for this exercise. The sheet.pdf contains the tasks you should try to solve.

Best regards,

This week's lecture _moved_ to Friday 16:15; exam dates

Written on 21.10.24 by Andreas Zeller

Dear all,

Since all three of us are sick, this week's lecture is moved to Friday at 16:15. (same place – CISPA Stuhlsatzenhaus, lecture hall.)
There will be no lecture tomorrow.

Also, we now have exam dates. Please mark your calendars:

  • 2025-02-13 Günter Hotz Hörsaal 14:00-16:00 –… Read more

Dear all,

Since all three of us are sick, this week's lecture is moved to Friday at 16:15. (same place – CISPA Stuhlsatzenhaus, lecture hall.)
There will be no lecture tomorrow.

Also, we now have exam dates. Please mark your calendars:

  • 2025-02-13 Günter Hotz Hörsaal 14:00-16:00 – exam
  • 2025-04-03 Günter Hotz Hörsaal 14:00-16:00 – re-exam

Details on the exams will be provided in due course.

All the best, and see you on Friday.

Andreas + Laura + Marius

 

Exercise 0

Written on 15.10.24 by Laura Plein

Dear Students,

We have just released the first Assignment. You can find it under the Materials.

The Zip file contains the required files for this exercise. The sheet.pdf contains the tasks you should try to solve.

Best regards,

Show all

Automated Debugging

The Course. Ask yourself: How many hours have you spent chasing bugs? So, wouldn't it be cool if the computer could debug your program? In this course, we discuss automated debugging and testing techniques, such as

  • The Debugging Process
  • Observing Executions
  • Asserting Expectations
  • Correlating Failures
  • Simplifying Failures
  • Abstracting Failures
  • Tracking Origins
  • Reproducing Failures
  • Repairing Failures (automatically!)
  • Learning From Mistakes

Course Material. The course material comes as a collection of Jupyter Notebooks, in which you can study how the individual techniques work – and even do your own experiments and create new combinations. Every week, you will be getting 1–2 new chapters (notebooks) on a new topic, which we will then discuss the next week in the classroom. All chapters are available at

https://www.debuggingbook.org/

The menu in the top left shows the individual chapters; the "Resources" menu allows you to work with the examples or download code or notebooks. Under "Help", you will find tutorials for Python and Jupyter.

Attending. The lectures for this course take place as an on-site lecture, in which our lecturer (Andreas Zeller) will introduce you to the chapters to be read in the upcoming week and answer questions. The book also offers tutorial lectures for each chapter.

Weekly exercises. Every week, you will get an exercise sheet with exercises relating to the current chapter. Your solutions are due after one week and will be graded.

Projects. During the course, you will run two projects in which you will build your own automated debugging tools. Past project topics included:

  1. An Interactive Debugger for Python
  2. Automatically Simplifying Python Programs (like CReduce)
  3. Automatically Repairing Python Programs
  4. A Tool of your Design

You will implement projects in Python and use Jupyter Notebooks to document design choices and introduce your readers to the included code. We plan to allow the last project to be conducted in groups of two as long as individual contributions are clearly marked.

Exam. There will be an exam at the end of the course:

  • 2025-02-13 Günter Hotz Hörsaal 14:00-16:00 – exam
  • 2025-04-03 Günter Hotz Hörsaal 14:00-16:00 – re-exam

Grading. Grading will be based on

  • points achieved in weekly exercises (25%)
  • points achieved in Project 1 (25%)
  • points achieved in Project 2 (25%)
  • points achieved in the Exam (25%)

 To pass, you must achieve 50% of points in each category and 50% of the overall points.

The Prerequisites. We expect programming skills at the level of "Programming 2". Knowledge in Python, program analysis, and instrumentation can be acquired on the go. We use statistics, logic, and machine learning, but nothing too exotic.

Questions and Answers. We will set up a Mattermost channel for questions and answers. You can also ask questions during the lecture and get immediate answers.

Date and Time. Every Tuesday, 14:15–16:00 in CISPA C0, Stuhlsatzenhaus 5, Lecture Hall 0.05. The lecture runs in person. The course starts on Tuesday, October 15. There will be no lectures on December 24, and January 1; the last lecture is on February 4.

Lecture Plan. (Tentative and subject to change.)

2024-10-15 Introduction to the Course • Introduction to Debugging • Tracing Executions
2024-10-25 (Friday 16:15) How Debuggers Work
2024-10-29 no lecture
2024-11-05 Asserting Expectations
2024-11-12 Tracking Failure Origins
2024-11-19 Statistical Debugging (Marius)
2024-11-26 Reducing Failure-Inducing Inputs (Laura)
2024-12-03 Isolating Failure-Inducing Changes
2024-12-10 Mining Function Specifications
2025-12-17 Generalizing Failure Circumstances
2025-01-07 Semantic Debugging
2025-01-14 Debugging Performance Issues
2025-01-21 Repairing Code Automatically
2025-01-28 Debugging in the Large
2025-02-04 Project presentation and Wrap-Up

Every lecture discusses last week's topics and teases the new topics (and chapters) listed above, which you are to study in the following days. On 2024-10-15, for instance, we tease the chapters "Introduction to Debugging" and "Tracing Executions." You are then to study them by the lecture on 2024-10-22, in which we will discuss your thoughts and experiences.

Enjoy! – Andreas + Laura + Marius

Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators.