Automated Reasoning under Weak Memory Consistency

  • Weak memory consistency models capture the outcomes of concurrent programs that appear in practice and yet cannot be explained by thread interleavings. Such outcomes pose two major challenges to formal methods. First, establishing that a memory model satisfies its intended properties (e.g., supports a certain compilation scheme) is extremely error-prone: most proposed language models were initially broken and required multiple iterations to achieve soundness. Second, weak memory models make verification of concurrent programs much harder, as a result of which there are no scalable verification techniques beyond a few that target very simple models. This thesis presents solutions to both of these problems. First, it shows that the relevant metatheory of weak memory models can be effectively decided (sparing years of manual proof efforts), and presents Kater, a tool that can answer metatheoretic queries in a matter of seconds. Second, it presents GenMC, the first (and only) scalable stateless model checker that is parametric in the choice of the memory model, often improving the prior state of the art by orders of magnitude.
  • Modelle mit schwacher Speicherkonsistenz erfassen die Ergebnisse nebenläufiger Programme, die in der Praxis auftreten und dennoch nicht durch Thread-Verschachtelungen erklärt werden können. Solche Ergebnisse stellen formale Methoden vor zwei großen Herausforderungen. Erstens ist die Feststellung, dass ein Speichermodell seine beabsichtigten Eigenschaften erfüllt (z. B. ein bestimmtes Kompilierungsschema unterstützt), äußerst fehleranfällig: Die meisten vorgeschlagenen Sprachmodelle waren anfangs fehlerhaft und erforderten mehrere Iterationen, um Solidität zu erreichen. Zweitens erschweren Modelle mit schwacher Speicherkonsistenz die Verifizierung nebenläufiger Programme erheblich, weshalb es keine skalierbaren Verifizierungstechniken außer einigen wenigen gibt, die auf sehr einfache Modelle abzielen. In dieser Arbeit präsentiere ich Lösungen für beide Probleme. Zunächst zeige ich, dass die relevante Metatheorie schwacher Speicherkonsistenzmodellen effektiv entschieden werden kann (wodurch jahrelanger manueller Beweisaufwand eingespart wird), und präsentiere Kater, ein Tool, das metatheoretische Fragen in Sekundenschnelle beantworten kann. Zweitens präsentiere ich GenMC, den ersten (und einzigen) skalierbaren zustandslosen Modellprüfer, der bei der Wahl des Speichermodells parametrisch ist und den bisherigen Stand der Technik oft um Größenordnungen verbessert.

Download full text files

Export metadata

Metadaten
Author:Michail KokologiannakisORCiD
URN:urn:nbn:de:hbz:386-kluedo-76709
DOI:https://doi.org/10.26204/KLUEDO/7670
Advisor:Viktor VafeiadisORCiD
Document Type:Doctoral Thesis
Cumulative document:No
Language of publication:English
Date of Publication (online):2024/02/05
Year of first Publication:2024
Publishing Institution:Rheinland-Pfälzische Technische Universität Kaiserslautern-Landau
Granting Institution:Rheinland-Pfälzische Technische Universität Kaiserslautern-Landau
Acceptance Date of the Thesis:2023/12/14
Date of the Publication (Server):2024/02/06
Page Number:XIV, 182
Faculties / Organisational entities:Kaiserslautern - Fachbereich Informatik
DDC-Cassification:0 Allgemeines, Informatik, Informationswissenschaft / 004 Informatik
Licence (German):Creative Commons 4.0 - Namensnennung (CC BY 4.0)