Prof. Dr. Gidon Ernst
Junior Professor, Software Verification
Software and Computational Systems Lab
Department of Computer Science
Ludwig-Maximilians-Universität München (LMU Munich)
Oettingenstraße 67
80538
Munich
(Germany)
- Office
- Room F 007, Oettingenstr. 67
- Office hours
- By appointment, via https://meet.lrz.de/gidon
- firstname.lastname@lmu.de
- Phone
- Please note that I no longer have an office phone
- Chat
- Zulip (LMU/IFI internal)
- ORCID
- 0000-0002-3289-5764
GPG-Key
Please send me encrypted mails!
My GPG key: 0x43E74A64
Fingerprint: 2936 1F81 7F7E 77FC 114F E87D 864B 9E41 43E7 4A64
Personal
CV, Google Scholar, Semantic Scholar, DBLP, ORCID, GitHub, Twitter
- formal methods for software engineering
- software testing
- interactive and automated proofs
- hybrid systems falsification
This Page
Recent, Teaching, Thesis Mentoring, Research, Software, Service
Recent
- [09/2024] Presentation: Gidon Ernst, Wolfram Pfeifer, Mattias Ulbrich: Contract-LIB: A Proposal for a Common Interchange Format for Software System Specification, Slides, Alpine Verification Meeting 2024
- [07/2024] Paper Accepted: Gidon Ernst, Wolfram Pfeifer, Mattias Ulbrich: Contract-LIB: A Proposal for a Common Interchange Format for Software System Specification, Draft, Code, SpecifyThis @ ISoLA 2024
- [05/2024] Presentation in the ConVeY Seminar: Deductive Verification & Reasoning Across Abstraction Boundaries, Slides, Dafny examples
- [04/2024] Results of CHC-COMP 2024 are available, Slides
- [12/2023] LemmaCalc: Draft, Artifact
- [11/2023] Publication: Toby Murray, Mukesh Tiwari, Gidon Ernst, David Naumann: Assume but Verify: Deductive Verification of Leaked Information in Concurrent Applications, CCS 2023, DOI, Extended Version, Slides, Website, Artifact.
- [11/2023] Publication: Toby Murray, Pengbo Yan, Gidon Ernst: Compositional Vulnerability Detection with Insecurity Separation Logic, ICFEM 2023, DOI, Extended Version, Artifacts
- [04/2023] Challenge: Join the VerifyThis long-term collaborative challenge in software specification and verification: https://verifythis.github.io/
- [04/2023] Publication: Korn—Software Verification with Horn Clauses (Competition Contribution), Paper, GitHub
- [01/2023] Award: I have received the award “best master lecture” 2022 in computer science for my course Methods in Software Engineering by the student association Gruppe Aktiver Fachschaftika. I highly appreciate this recognition and would like to thank everybody involved, notably Nian-Ze Lee for massive help with the preparations and for an excellent tutorial.
- [11/2022] Invited Talk: Loop Verification with Invariants and Contracts at Dagstuhl Seminar Principles of Contract Languages, Slides, Tool Cuvée, Demo: inference and framing
- [10/2022] Publication: Gidon Ernst, Alexander Knapp, Toby Murray: A Hoare Logic with Regular Behavioral Specifications, ISoLa 2022, Paper, Slides, arXiv
- [01/2022] Publication: Loop Verification with Invariants and Contracts at VMCAI 2022, Paper, Technical Report, Slides, Video
- [12/2022] Paper Accepted: Dongge Liu, Van-Thuan Pham, Gidon Ernst, Toby Murray, Benjamin Rubinstein: State Selection Algorithms and Their Impact on The Performance of Stateful Network Protocol Fuzzing, SANER 2022.
Lehrveranstaltungen (siehe auch)
Sommersemester 2024
- Lecture: Methods in
Software Engineering (in English, Bachelor and Master) (Ernst, Beier)
- Bachelor-Seminar: Software Quality Assurance (Ernst, Brieger)
Wintersemester 2023/24
- Vorlesung: Formale Spezifikation und Verifikation (Ernst, Baier)
- Bachelor-Seminar: Verifikation von Programmen mit Schleifen und Arrays (via Zentralanmeldung) (Ernst, Brieger)
Mentoring, Bachelor-/Master Theses (see also)
Currently assigned topics
Finished topics
Further topics can be discussed on request.
Before contacting me with your own topic proposal, please think about this first: What would be the scientific question leading your project? Does the topic fit well with the research and teaching area of Prof. Ernst?
See also: Merkblatt für externe Arbeiten des Prüfungsamtes.
Recommendation Letters/Empfehlungsschreiben
Recommendation letters are a common requirement for applications to top universities, notably in the US. If you consider asking me for such a letter, please make sure that I can offer concrete evidence of your qualifications that goes beyond your course grades. Just taking part in my lecture is not sufficient and the resulting letter would typically be too generic to actually be favorable for your application.
Examples for such evidence could be: you have worked as a Hiwi/Tutor within the SoSy-Lab or you did a thesis/project/seminar with us. Perhaps in some cases very good exercise solutions can count, too.
Research
Relational Proofs
The goal is to infer simulation relations and invariants to prove that two implementations of the same interface exhibit the same external behavior (i.e., Liskov and Wing’s substitution principle).
Notably, we focus on complex data types such as Arrays and Lists in combination where simulation relations often need to be defined by recursion with the help of quantifiers.
Joint work with Grigory Fedyukovich.
Softare Testing
Legion is a software tester based on a tight integration of concolic execution and fuzzing, mediated by Monte-Carlo tree search. Input values to target a specific part of the program are generated by approximate path-preserving fuzzing, a variant of constrained random sampling, using an adaption of the Quicksampler algorithm.
Joint work with Dongge Liu, Ben Rubinstein, Toby Murray.
See also the competition on software testing.
Concurrent Information Flow
Security Concurrent Separation Logic (SecCSL) combines
reasoning about expressive, value-dependent security classifications
with concurrency and low-level code.
The approach is implemented in the tool SecC (code on bitbucket).
Joint work with Toby Murray (University of Melbourne).
Falsification
Falsification of temporal logic requirements for hybrid systems. See FalStar and the ARCH competition on falsification.
Joint work with Ichiro Hasuo, Sean Sedwards, Zhenya Zhang (NII Tokyo, University of Waterloo).
Previous Projects
- KIV: interactive theorem prover and software verification platform (see also VerifyThis)
- Flashix: verified file system
for flash memory (github)
With Wolfgang Reif, Gerhard Schellhorn, Jörg Pfähler, Stefan Bodenmüller (Augsburg University). - IMP3: integration of shape analysis and theorem proving
- Takatuka: Java Virtual Machine for sensor networks
PhD Students
- Dongge
Liu: Software fuzzing with machine learning
(2018–2022).
Co-supervised with Ben Rubinstein, Toby Murray (University of Melbourne).
Software
- Cuvée: SMT-LIB with programs and weakest preconditions, draft.
- Korn: Horn-clause based verifier for C, draft.
- Legion/SymCC: tight integration of concolic execution and fuzzing.
- SecC: verified information flow for C.
- FalStar: hybrid systems falsification.
- Easyparse: LL parsing for Scala case classes made simple.
Service
Editorial Board:
PC co-chair:
- SpecifyThis track at ISoLA 2024
- PhD Symposium @ iFM 2023
- FTfJP 2019 at ECOOP 2019
Organizer/Co-organizer:
- CHC-COMP 2024
- VerifyThis Long Term Challenge Series
- AVM 2022
- Mentoring Workshop @ ETAPS 2022
- ARCH 2019–
- VerifyThis 2018
PC: