On the Interplay Between the Semantics of Java's Finally Clauses and the JML Run-Time Checker

Download Now Free registration required

Executive Summary

This paper discusses how a subtle interaction between the semantics of Java and the implementation of the JML run-time 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. The authors 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. They explain this behaviour, based on the official Java Language Specification.

  • Format: PDF
  • Size: 139.6 KB