ERC Consolidator Grant
Professor Bernd Finkbeiner, PhD, ist Faculty am CISPA und Professor für Informatik an der Universität des Saarlandes. Er promovierte 2003 an der Stanford Universität. Seit 2003 leitet er die Gruppe Reaktive Systeme, die 2020 Teil des CISPA wurde. Sein Forschungsfokus liegt auf der Entwicklung von verlässlichen Garantien für die Sicherheit und den Schutz von Computersystemen, einschließlich Spezifikation, Programmsynthese und -reparatur, sowie statische und dynamische Verifikation.
FST&TCS
Proceedings of FSTTCS 2022,42nd IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science
RV
Runtime VerificationRuntime Verification 2022
Innovations in Systems and Software Engineering
PLDI
43rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)43rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
CAV
34th International Conference on Computer Aided Verification, Proceedings (to appear)34th International Conference on Computer Aided Verification (CAV 22)
HSCC
Proceedings of HSCC22,25th ACM International Conference on Hybrid Systems: Computation and Control
CAV
Proceedings of 34th International Conference on Computer Aided Verification (CAV 22)34th International Conference on Computer Aided Verification (CAV 22)
Verification
Lectures: Tuesday 2 to 4 pm and Thursday 10 am to 12 noon in HS001, E1 3.
Tutorials: Friday 10 am to 12 noon and Friday 12 noon to 2 pm in Room 206, E1 1.
Office Hour: Wednesday 10 am to 12 noon in Room 106, E1 1.
There will be an option to attend the lectures, tutorials and Office Hour remotely.
Syllabus
How can one ensure that computer programs actually do what they are intended to do? Simply running a program repeatedly with various inputs is inadequate, because one cannot tell which inputs might cause the program to fail. It is possible to tailor a tester to test a given program, but present-day programs are so complex that they cannot be adequately checked through conventional testing, which can leave significant bugs undetected. Program verification uses mathematical and logical methods to prove that a program is correct. This approach was pioneered by, among others, Dijkstra, Floyd, Gries, Hoare, Lamport, Manna, Owicki and Pnueli. Today, we have powerful decision procedures that can, completely automatically, answer basic questions about the data types typically used by programmers. Model Checking is a “push-button” technology that can analyze finite-state abstractions of programs with as many as 1020 states. This course takes an up-to-date look at the theory and practice of program verification.
Neural-Symbolic Computing
In this seminar, we will explore new research that shows that deep neural networks are, in fact, able to reason on “symbolic systems”, i.e., systems that are built with symbols like programming languages or formal logics.
Verification
This course takes an up-to-date look at the theory and practice of program verification.