Please use this identifier to cite or link to this item: doi:10.22028/D291-46080
Title: Shaking up the foundations of modern separation logic
Author(s): Spies, Simon Philipp
Language: English
Year of Publication: 2025
DDC notations: 004 Computer science, internet
Publikation type: Dissertation
Abstract: The problem of how to scalably verify large, stateful programs is one of the oldest—and still unsolved—challenges of computer science. Over the last two decades, there has been considerable progress toward this goal with the advent of separation logic, a verification technique for modularly reasoning about stateful programs. While originally only developed for imperative, pointer-manipulating programs, separation logic has in its modern form become an essential tool in the toolbox of the working semanticist for modeling programming languages and verifying programs. This dissertation presents a line of work that revisits the foundations of modern separation logic in the context of the separation logic framework Iris. It targets two broader areas: step-indexing and automation. Step-indexing is a powerful technique for modeling many of the advanced, cyclic features of modern languages. Here, Transfinite Iris shows how to generalize step-indexing from proving safety properties to proving liveness properties, and Later Credits enable more flexible proof patterns for step-indexing based on separation logic resources. Automation is important for reducing the overhead of verification to scale to larger code bases. Here, Quiver introduces a new form of guided specification inference to reduce the specification overhead of separation logic verification, and Daenerys develops new resources in Iris that lay the groundwork for automating parts of Iris proofs using SMT solvers.
Wie man skalierbar große Programme verifiziert ist eine der ältesten, ungeklärten Fragen der Informatik. In den letzten zwei Jahrzehnten wurde hier deutlicher Fortschritt erzielt mit der Einführung von Separationslogik, einer Technik für modulare Programmverifikation. Separationslogik wurde ursprünglich nur für imperative Programme mit Zeigern entwickelt, ist aber in ihrer modernen Form essenziell geworden, um Programmiersprachen zu modellieren und Programme zu verifizieren. Diese Dissertation präsentiert eine Reihe von Arbeiten, die sich im Kontext der Separationslogik Iris mit den Grundlagen moderner Separationslogik beschäftigen. Sie fokussiert sich auf zwei Bereiche: Step-Indexing und Automatisierung. Step-Indexing ist eine wichtige Modellierungstechnik für viele der fortgeschrittenen, zyklischen Funktionen moderner Programmiersprachen. Hier zeigt Transfinite Iris, wie man Step-Indexing nicht nur für Sicherheitseigenschaften verwenden kann, sondern auch um Lebendigkeitseigenschaften zu beweisen, und Later Credits ermöglichen flexiblere Beweisstrukturen durch die Verwendungen von Separationslogikressourcen. Automatisierung ist wichtig, um den Aufwand von Verifikation zu senken, um größere Programme zu verifizieren. Hier entwickelt Quiver eine neue Form der Spezifikationsinferenz, um den Aufwand von Separationslogikspezifikationen zu reduzieren, und Daenerys entwickelt neue Iris-Ressourcen, die den Weg bereiten, um Teile von Iris-Beweisen mit SMT-Solvern zu automatisieren.
Link to this record: urn:nbn:de:bsz:291--ds-460801
hdl:20.500.11880/40450
http://dx.doi.org/10.22028/D291-46080
Advisor: Dreyer, Derek
Date of oral examination: 16-May-2025
Date of registration: 29-Aug-2025
Third-party funds sponsorship: This research was supported by a Google PhD Fellowship.
Faculty: MI - Fakultät für Mathematik und Informatik
Department: MI - Informatik
Professorship: MI - Keiner Professur zugeordnet
Collections:SciDok - Der Wissenschaftsserver der Universität des Saarlandes

Files for this record:
File Description SizeFormat 
thesis_spies_print.pdfDissertation (print version)1,9 MBAdobe PDFView/Open
thesis_spies_screen.pdfDissertation (screen version)1,91 MBAdobe PDFView/Open


Items in SciDok are protected by copyright, with all rights reserved, unless otherwise indicated.