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

Modular Transformation of Java Exceptions Modulo Errors

Abstract: Deductive verifiers are used more and more in both academia and industry to prevent costly bugs. Their capabilities of verifying concurrent programs are getting better, but they are still lagging behind with regard to many major programming language features such as exceptions. To improve the situation, this work presents a semantics of Java exceptions which reduces the annotation burden on the user, while still allowing verification of exceptions. This is accomplished by ignoring sources of errors which are i… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
3
1

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(2 citation statements)
references
References 26 publications
0
2
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%
“…Go is a language supporting synchronisations on channels inspired by process algebra formalisms like CSP and CCS [15]. The inference of behavioural types is thus facilitated by the chosen languages, whilst extracting them from unconstrained Java programs is still a challenge [26]. CATLib supports compositions of communicating machines, the formalism of behavioural types used in [23], thus it could be used to suggest amendments to the original Go programs by exploiting its synthesis algorithms.…”
Section: Related Workmentioning
confidence: 99%