News
Re-exam inspectionWritten on 24.04.24 by Arthur Correnson Dear all, The re-exam inspection will take place on Thursday, May 2, from 10 am to 11 am, in seminar room SR 1.06 in building E1 1. Please bring your student ID. Cheers! |
Results of Re-ExamWritten on 21.03.24 by Bernd Finkbeiner Dear All, we have published the results of the Re-Exam. You can find your result on the Personal Status page. Have a nice remaining semester break! Your Verification Team |
Re-examWritten on 07.03.24 by Arthur Correnson Dear all, |
Exam inspectionWritten on 23.02.24 by Bernd Finkbeiner Dear all, The exam inspection will take place on Thursday, February 29, from 10 am to 11 am, in seminar room SR 206 in building E1 1. Please bring your student ID. Cheers! |
Exam resultsWritten on 14.02.24 by Bernd Finkbeiner Dear all, the results of today's exam are available online. Have a nice evening, happy Valentine's Day, good luck with any other exams, and (very soon) a great semester break! |
ExamWritten on 12.02.24 by Arthur Correnson Hi all, Just a reminder that the final exam for Verification will be on Wednesday the 14th in Günter-Hotz-Hörsaal at 10 am. Hi all, Just a reminder that the final exam for Verification will be on Wednesday the 14th in Günter-Hotz-Hörsaal at 10 am. |
Solution to Problem Set 14Written on 08.02.24 by Arthur Correnson Hello all, Hello all, |
Minitests + Additional Problem SetWritten on 06.02.24 by Arthur Correnson Dear all, |
Please register for the exam!Written on 02.02.24 by Bernd Finkbeiner Dear all, here is some information about our upcoming exam, as discussed in today's lecture:
Dear all, here is some information about our upcoming exam, as discussed in today's lecture:
In case you have any questions or concerns, please let us know. Have a great weekend, and see you on Tuesday! |
Lecture on Friday ONLINE onlyWritten on 31.01.24 by Bernd Finkbeiner Dear all, As you are probably aware, the bus drivers in Saarbrücken are expected to be on strike this Friday. We will therefore meet online for Friday's lecture. Please join the Zoom meeting at the link given under "Zoom" on the Materials page. The tutorial on Thursday will take place in person as… Read more Dear all, As you are probably aware, the bus drivers in Saarbrücken are expected to be on strike this Friday. We will therefore meet online for Friday's lecture. Please join the Zoom meeting at the link given under "Zoom" on the Materials page. The tutorial on Thursday will take place in person as usual. See you soon! |
Problem Set 13Written on 31.01.24 by Bernd Finkbeiner Dear all, Problem Set 13 and the results of yesterday's minitest are available online. Cheers! |
Problem Set 12Written on 24.01.24 by Arthur Correnson Dear all, |
Solutions for Problem Set 10Written on 19.01.24 by Bernd Finkbeiner Dear All, Since some of you could not attend the tutorial this week because of the bad weather, our wonderful tutors kindly wrote up the solutions for Problem Set 10. Please find the Solution Set on the "Materials" page. Thank you, Angelina, Vladimir, and Mihir! Have a great weekend, everyone! |
Problem Set 11, course evaluationWritten on 16.01.24 by Bernd Finkbeiner Dear All, Problem Set 11 and the results of today's minitest are now online. If you have not yet had a chance to fill out the course evaluation, please be sure to visit the links to the qualis website, which are available in the Materials section: we are excited to hear whether you liked the course!… Read more Dear All, Problem Set 11 and the results of today's minitest are now online. If you have not yet had a chance to fill out the course evaluation, please be sure to visit the links to the qualis website, which are available in the Materials section: we are excited to hear whether you liked the course! Thanks a lot for your time and effort, your comments are highly appreciated. |
Tutorial tomorrow ONLINE onlyWritten on 16.01.24 by Bernd Finkbeiner Dear all, Due to the potentially dangerous weather conditions tomorrow, the Wednesday tutorial will take place online. Please join the Zoom meeting at the link given under "Zoom" on the Materials page. Alternatively, you are also welcome to attend the tutorial on Thursday instead. We expect that the… Read more Dear all, Due to the potentially dangerous weather conditions tomorrow, the Wednesday tutorial will take place online. Please join the Zoom meeting at the link given under "Zoom" on the Materials page. Alternatively, you are also welcome to attend the tutorial on Thursday instead. We expect that the tutorial on Thursday will take place in person as usual. |
Room change for lecture today: HS 003Written on 09.01.24 by Bernd Finkbeiner Dear all, Please note that today's lecture will be in E 1.3 HS 003 instead of our usual HS 001. The reason for the change is that the lecture from the other room needs the audio equipment that is only available in "our" lecture hall. The room change is for today only, we'll be back in HS 001 on… Read more Dear all, Please note that today's lecture will be in E 1.3 HS 003 instead of our usual HS 001. The reason for the change is that the lecture from the other room needs the audio equipment that is only available in "our" lecture hall. The room change is for today only, we'll be back in HS 001 on Friday. See you at 2 pm! |
Problem Set 9Written on 20.12.23 by Arthur Correnson Dear all, |
No lectures on Dec 22 and Jan 2Written on 15.12.23 by Bernd Finkbeiner Dear all, Since many of us will not be in Saarbrücken on Friday, Dec 22, and Tuesday, Jan 2, we decided to cancel the two lectures. So the last lecture before the Christmas break will be on Tuesday, Dec 19, and the first lecture in the new year will be on Friday, Jan 5. (There will be a minitest on… Read more Dear all, Since many of us will not be in Saarbrücken on Friday, Dec 22, and Tuesday, Jan 2, we decided to cancel the two lectures. So the last lecture before the Christmas break will be on Tuesday, Dec 19, and the first lecture in the new year will be on Friday, Jan 5. (There will be a minitest on Dec 19 and then again on Jan 9.) Have a great weekend, and see you on Tuesday! |
Problem Set 8 + MinitestsWritten on 12.12.23 by Arthur Correnson Dear all, |
Minitest 6 + Problem Set 7Written on 05.12.23 by Bernd Finkbeiner Dear all, |
Minitest 5 + Problem set 6Written on 28.11.23 by Arthur Correnson Dear all, |
Problem Set 5 + MinitestsWritten on 21.11.23 by Arthur Correnson Dear all, |
Problem set 4 + Results of the minitestWritten on 14.11.23 by Arthur Correnson Dear all, |
Tutorial RoomWritten on 08.11.23 by Arthur Correnson Dear all, |
Results of the minitests + Problem set 3Written on 07.11.23 by Arthur Correnson Dear all, |
Tutorial AssignmentWritten on 07.11.23 by Arthur Correnson Dear all, |
Results of the minitest + Problem set 2Written on 31.10.23 by Arthur Correnson Dear all, Dear all, |
Tutorial RegistrationWritten on 25.10.23 by Arthur Correnson Dear all, |
First Problem SetWritten on 24.10.23 (last change on 25.10.23) by Arthur Correnson Dear all, Dear all, See you all on Friday, |
Verification
Core Lecture Course (9 CP)
Lectures Tuesdays 2:15 to 4 pm and Fridays 10:15 am to 12 noon in HS001, E1 3.
Syllabus
Computers and programs are everywhere, including in critical places where human lives are at stake (airplanes, hospitals, nuclear power plants, ...). In this context, how can one ensure that computer programs do what they are intended to do without harming humans?
To answer this question, one could stress-test the robustness of programs by running them repeatedly with various inputs to identify which might cause a failure. This solution is unsatisfactory because the input spaces can be unreasonably large, and testing all scenarios is simply out of reach. It is possible to tailor a tester to test a given program, but present-day programs are so complex that traditional testing techniques can leave significant bugs undetected.
Another approach is to prove, once and for all, that programs are correct using mathematical and logical methods. This approach was pioneered by, among others, Dijkstra, Floyd, Gries, Hoare, Lamport, Manna, Owicki, and Pnueli. Their research led to the development of an extensive array of techniques to establish, formally, the conformance of programs to a given specification. Today, these techniques have evolved into powerful verification tools that can automatically prove the correctness of large programs.
Model Checking is one of these "push-button" verification technologies. Given a program and a specification, a model checker can automatically verify that the program is correct or identify a scenario where it fails to satisfy its specification. This course takes an up-to-date look at the theory and practice of program verification using model-checking methods.
Recommended Reading
- Christel Baier, Joost-Pieter Katoen: Principles of Model Checking, 2008.
- Edmund M. Clarke, Orna Grumberg, Daniel Kroening, Doron Peled, Helmut Veith: Model Checking, 2018.
- Edmund M. Clarke, Thomas A. Henzinger, Helmut Veith, Roderick Bloem: Handbook of Model Checking, 2018 (available on Springer Link).
- Aaron R. Bradley and Zohar Manna: The Calculus of Computation, 2007 (available on Springer Link).