Directed Studies: Decision Procedures for Software Verification
Schedule:
- Course (Prof. Dr. Stefan Leue)
Monday 13:30 - 15:00 Room: PZ 901 Start: 21 October 2019 - Tutorial (Martin Kölbl)
Tuesday 13:30 - 15:00 Room: PZ 901 Start: 5 November 2019
Contents
Software is logic at work, and hence formal mathematical logic is the calculus of software engineering. In the verification of properties of software systems special decidable fragments of first order logic have received special interest and lots of tools have been developed under the label "Satisfiability Modulo Theories" (SMT). Companies like Google and Microsoft, for instance, use this technology to analyze their software eco systems for security vulnerabilities.
In this directed studies course we will provide a brief introduction into propositional and first order logic. We will then discuss more SMT specific logics and decision procedures, including DPLL(T) for SAT solving, the Nelson-Oppen combination procedure, uninterpreted functions, linear real and integer arithmetic, and quantifier elimination. In addition, we will consider logics and procedures relevant to software verification problems, including the treatment of arrays and pointers, and provide application examples.
Teaching methods
Directed Studies Course - weekly reading assignments that will be presented by participants and discussed during the lectures.
Prerequisites
Undergraduate standing in Algorithms, Programming, Discrete Structures (in particular formal logic), Theory of Computing.
Learning objectives
Participants will learn the foundations of SMT technologies. This will enable them to assess SMT technology in its usefulness for solving various problems in academia and industrial practice, and to use this technology in own related projects.
Course literature
Daniel Kroening and Ofer Strichman, Decision Procedures: An Algorithmic Point of View, second edition, Springer 2016. http://www.decision-procedures.org
Further literature may be announced during the course.
Target group
BA-Students 4. Semester
MA-Students
Remark
Final examination - oral. A grade bonus can be earned during the tutorials.
Expected course achievement
At least one weekly assignment summary presentation.
Offering Suitable for Participants from Other Programs and Subject Areas
All
Credits
ECTS-points: 6
Weekly teaching hours
SWS: 2 + 2