KIT | KIT-Bibliothek | Impressum | Datenschutz

Reconstructing Z3 Proofs With KeY

Pfeifer, Wolfram ORCID iD icon

Abstract:

KeY dient zur formalen Verifikation spezifizierter Eigenschaften von Java-Programmen.Dafür werden aus der formalen Spezifikation sowie dem Programm-Code Beweisverpflichtungen generiert. Diese werden dann Schritt für Schritt in eine Menge von Formeln der Prädikatenlogik erster Stufe überführt. Da diese allerdings unentscheidbar ist, ist es eine große Herausforderung, einen Beweis für diese Formelmenge zu finden.
Moderne SMT-Solver, wie zum Beispiel Z3, sind genau auf diesen Anwendungszweck hin optimiert. Daher ist schon lange in KeY die Möglichkeit eingebaut, (Teil-)Probleme für SMT-Solver zu übersetzen. ... mehr

Abstract (englisch):

KeY is a tool for formal verification of specified properties of Java programs. It works by generating proof obligations from formal specification and source code, and transforming it into a set of first-order formulas afterwards. Due to the undecidability of first-order logic it is a challenging problem to find a proof for this set of formulas.
Modern SMT solvers, such as Z3, provide highly optimized algorithms for exactly this purpose. Therefore, translating (sub-)problems to SMT solvers has long been possible from KeY. This approach resulted in a partial proof in KeY complemented by (possibly multiple) SMT results. ... mehr


Volltext §
DOI: 10.5445/IR/1000131835
Veröffentlicht am 26.04.2021
Cover der Publikation
Zugehörige Institution(en) am KIT Institut für Theoretische Informatik (ITI)
Publikationstyp Hochschulschrift
Publikationsdatum 15.01.2021
Sprache Englisch
Identifikator KITopen-ID: 1000131835
Verlag Karlsruher Institut für Technologie (KIT)
Umfang 56 S.
Art der Arbeit Abschlussarbeit - Master
Prüfungsdaten 15.01.2021
Schlagwörter KeY, formal verification, SMT solver, Z3, proof reconstruction
Referent/Betreuer Beckert, Bernhard
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page