KIT | KIT-Bibliothek | Impressum | Datenschutz

Combining rule- and SMT-based reasoning for verifying floating-point Java programs in KeY

Abbasi, Rosa; Schiffl, Jonas ORCID iD icon 1; Darulova, Eva; Ulbrich, Mattias ORCID iD icon 1; Ahrendt, Wolfgang
1 Karlsruher Institut für Technologie (KIT)

Abstract:

Deductive verification has been successful in verifying interesting properties of real-world programs. One notable gap is the limited support for floating-point reasoning. This is unfortunate, as floating-point arithmetic is particularly unintuitive to reason about due to rounding as well as the presence of the special values infinity and ‘Not a Number’ (NaN). In this article, we present the first floating-point support in a deductive verification tool for the Java programming language. Our support in the KeY verifier handles floating-point arithmetics, transcendental functions, and potentially rounding-type casts. We achieve this with a combination of delegation to external SMT solvers on the one hand, and KeY-internal, rule-based reasoning on the other hand, exploiting the complementary strengths of both worlds. We evaluate this integration on new benchmarks and show that this approach is powerful enough to prove the absence of floating-point special values—often a prerequisite for correct programs—as well as functional properties, for realistic benchmarks.


Verlagsausgabe §
DOI: 10.5445/IR/1000160407
Veröffentlicht am 11.07.2023
Originalveröffentlichung
DOI: 10.1007/s10009-022-00691-x
Scopus
Zitationen: 1
Dimensions
Zitationen: 1
Cover der Publikation
Zugehörige Institution(en) am KIT Institut für Informationssicherheit und Verlässlichkeit (KASTEL)
Publikationstyp Zeitschriftenaufsatz
Publikationsmonat/-jahr 04.2023
Sprache Englisch
Identifikator ISSN: 1433-2779, 1433-2787
KITopen-ID: 1000160407
HGF-Programm 46.23.01 (POF IV, LK 01) Methods for Engineering Secure Systems
Erschienen in International Journal on Software Tools for Technology Transfer
Verlag Springer
Band 25
Heft 2
Seiten 185–204
Vorab online veröffentlicht am 08.03.2023
Nachgewiesen in Dimensions
Scopus
Web of Science
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page