TU Darmstadt / ULB / TUbiblio

A Modular Soundness Theory for the Blackboard Analysis Architecture

Keidel, Sven ; Helm, Dominik ; Roth, Tobias ; Mezini, Mira (2024)
A Modular Soundness Theory for the Blackboard Analysis Architecture.
33rd European Symposium on Programming (ESOP 2024). Luxembourg City, Luxembourg (06.04.2024 - 11.04.2024)
doi: 10.1007/978-3-031-57267-8_14
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

Sound static analyses are an important ingredient for compiler optimizations and program verification tools. However, mathematically proving that a static analysis is sound is a difficult task due to two problems. First, soundness proofs relate two complicated program semantics (the static and the dynamic semantics) which are hard to reason about. Second, the more the static and dynamic semantics differ, the more work a soundness proof needs to do to bridge the impedance mismatch. These problems increase the effort and complexity of soundness proofs. Existing soundness theories address these problems by deriving both the dynamic and static semantics from the same artifact, often called generic interpreter. A generic interpreter provides a common structure along which a soundness proof can be composed, which avoids having to reason about the analysis as a whole. However, a generic interpreter restricts which analyses can be derived, as all derived analyses must roughly follow the program execution order. To lift this restriction, we develop a soundness theory for the blackboard analysis architecture, which is capable of describing backward, demand-driven, and summary-based analyses. The architecture describes static analyses with small independent modules, which communicate via a central store. Soundness of a compound analysis follows from soundness of all of its modules. Furthermore, modules can be proven sound independently, even though modules depend on each other. We evaluate our theory by proving soundness of four analyses: a pointer and call-graph analysis, a reflection analysis, an immutability analysis, and a demand-driven reaching definitions analysis.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2024
Autor(en): Keidel, Sven ; Helm, Dominik ; Roth, Tobias ; Mezini, Mira
Art des Eintrags: Bibliographie
Titel: A Modular Soundness Theory for the Blackboard Analysis Architecture
Sprache: Englisch
Publikationsjahr: April 2024
Verlag: Springer
Buchtitel: Programming Languages and Systems
Reihe: Lecture Notes in Computer Science
Band einer Reihe: 14577
Veranstaltungstitel: 33rd European Symposium on Programming (ESOP 2024)
Veranstaltungsort: Luxembourg City, Luxembourg
Veranstaltungsdatum: 06.04.2024 - 11.04.2024
DOI: 10.1007/978-3-031-57267-8_14
URL / URN: https://link.springer.com/chapter/10.1007/978-3-031-57267-8_...
Kurzbeschreibung (Abstract):

Sound static analyses are an important ingredient for compiler optimizations and program verification tools. However, mathematically proving that a static analysis is sound is a difficult task due to two problems. First, soundness proofs relate two complicated program semantics (the static and the dynamic semantics) which are hard to reason about. Second, the more the static and dynamic semantics differ, the more work a soundness proof needs to do to bridge the impedance mismatch. These problems increase the effort and complexity of soundness proofs. Existing soundness theories address these problems by deriving both the dynamic and static semantics from the same artifact, often called generic interpreter. A generic interpreter provides a common structure along which a soundness proof can be composed, which avoids having to reason about the analysis as a whole. However, a generic interpreter restricts which analyses can be derived, as all derived analyses must roughly follow the program execution order. To lift this restriction, we develop a soundness theory for the blackboard analysis architecture, which is capable of describing backward, demand-driven, and summary-based analyses. The architecture describes static analyses with small independent modules, which communicate via a central store. Soundness of a compound analysis follows from soundness of all of its modules. Furthermore, modules can be proven sound independently, even though modules depend on each other. We evaluate our theory by proving soundness of four analyses: a pointer and call-graph analysis, a reflection analysis, an immutability analysis, and a demand-driven reaching definitions analysis.

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Softwaretechnik
Hinterlegungsdatum: 03 Jun 2024 11:55
Letzte Änderung: 03 Jun 2024 11:55
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen