2021
DOI: 10.1007/978-3-030-72013-1_13
|View full text |Cite
|
Sign up to set email alerts
|

Deductive Verification of Floating-Point Java Programs in KeY

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 paper, we present the first floating-point support in a deductive verification tool for the Java programming language. Our support in the KeY ve… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
5

Relationship

0
5

Authors

Journals

citations
Cited by 6 publications
(1 citation statement)
references
References 53 publications
0
1
0
Order By: Relevance
“…Challenge 10 (Language Features). In order to make deductive verification usable in an industrial setting, the verifiers need to extend their support for different language features, such as exception support (see [33] for initial ideas in this direction), floating point numbers (currently partially supported by some tools, such as KeY [2], Frama-C [29] and Why3 [15]), strings, input/output, reflection, streams, and logging mechanisms. Part of this is an engineering effort, but to support verification of for example reflection and streams, also new verification techniques need to be developed.…”
Section: Challenges For Deductive Verificationmentioning
confidence: 99%
“…Challenge 10 (Language Features). In order to make deductive verification usable in an industrial setting, the verifiers need to extend their support for different language features, such as exception support (see [33] for initial ideas in this direction), floating point numbers (currently partially supported by some tools, such as KeY [2], Frama-C [29] and Why3 [15]), strings, input/output, reflection, streams, and logging mechanisms. Part of this is an engineering effort, but to support verification of for example reflection and streams, also new verification techniques need to be developed.…”
Section: Challenges For Deductive Verificationmentioning
confidence: 99%