Proceedings of the 11th International Workshop on Formal Techniques for Java-Like Programs 2009
DOI: 10.1145/1557898.1557906
|View full text |Cite
|
Sign up to set email alerts
|

On the interplay between the semantics of Java's finally clauses and the JML run-time checker

Abstract: This paper discusses how a subtle interaction between the semantics of Java and the implementation of the JML runtime checker can cause the latter to fail to report errors. This problem is due to the well-known capability of finally clauses to implicitly override exceptions. We give some simple examples of annotation violations that are not reported by the run-time checker because the errors are caught within the program text; even without any explicit reference to them. We explain this behaviour, based on the… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2010
2010
2011
2011

Publication Types

Select...
2

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(4 citation statements)
references
References 8 publications
0
4
0
Order By: Relevance
“…For simplicity, let us assume that the access code argument should be an integer below 10. In JML 1 [12], such a method could be specified as follows [8]: JML annotation comments start with an at-sign(@). Preconditions are introduced by the keyword requires.…”
Section: Fault Modelmentioning
confidence: 99%
See 2 more Smart Citations
“…For simplicity, let us assume that the access code argument should be an integer below 10. In JML 1 [12], such a method could be specified as follows [8]: JML annotation comments start with an at-sign(@). Preconditions are introduced by the keyword requires.…”
Section: Fault Modelmentioning
confidence: 99%
“…In this case, the precondition of method decrypt states that the access code must be less than 10. A success scenario. Consider a client method denoted by sneakyMethod that calls the method decrypt [8]. Also, assume we have compiled our example including its client code [8] by using the JML RAC compiler ajmlc [16]:…”
Section: Fault Modelmentioning
confidence: 99%
See 1 more Smart Citation
“…Thus, Figure 6 depicts a classical example where contract enforcement can fail to report violations in the presence of exception handling code. For a complete discussion about the interaction between error handling code and contract checking, please refer to [Huisman 2009].…”
Section: Consequencesmentioning
confidence: 99%