Java Program Verification via a Hoare Logic with Abrupt Termination
نویسندگان
چکیده
The version of the following full text has not yet been defined or was untraceable and may differ from the publisher's version. Java P ro g ra m V erificatio n v ia a H oare Logie w ith A b r u p t T erm in ation A b s tr a c t. This paper formalises a semantics for statem ents and expres sions (in sequential imperative languages) which includes non-termina tion, normal term ination and abrupt term ination (e.g. because of an exception, break, return or continue). This extends the traditional se mantics underlying e.g. Hoare logic, which only distinguishes termination and non-termination. An extension of Hoare logic is elaborated th a t in cludes means for reasoning about abrupt term ination (and side-effects). It prominently involves rules for reasoning about while loops, which may contain exceptions, breaks, continues and returns. This extension applies in particular to Java. As an example, a standard pattern search algorithm in Java (involving a while loop with returns) is proven correct using the proof-tool PVS.
منابع مشابه
Parametrized Exceptions
Following the paradigm of encapsulation of side effects via monads, the Java execution mechanism has been described by the socalled Java monad, encorporating essentially stateful computation and exceptions, which are heavily used in Java control flow. A technical problem that appears in this model is the fact that the return exception in Java is parametrized by the return value, so that method ...
متن کاملA Termination Checker for Isabelle Hoare Logic
Hoare logic is widely used for software specification and verification. Frequently we need to prove the total correctness of a program: to prove that the program not only satisfies its preand post-conditions but also terminates. We have implemented a termination checker for Isabelle’s Hoare logic. The tool can be used as an oracle, where Isabelle accepts its claim of termination. The tool can a...
متن کاملVerification of sequential imperative programs in Isabelle-HOL
Thepurpose of this thesis is to create a verification environment for sequential imperative programs. First a general language model is proposed, which is independent of a concrete programming language but expressive enough to cover all common language features: mutually recursive procedures, abrupt termination and exceptions, runtime faults, local and global variables, pointers and heap, expre...
متن کاملJava+ITP: A Verification Tool Based on Hoare Logic and Algebraic Semantics
Java+ITP is an experimental tool for the verification of properties of a sequential imperative subset of the Java language. It is based on an algebraic continuation passing style (CPS) semantics of this fragment as an equational theory in Maude. It supports compositional reasoning in a Hoare logic for this Java fragment that we propose and prove correct with respect to the algebraic semantics. ...
متن کاملA Logic for the Java Modeling Language JML
This paper describes a specialised logic for proving specifications in the Java Modeling Language (JML). JML is an interface specification language for Java. It allows assertions like invariants, constraints, preand post-conditions, and modifiable clauses as annotations to Java classes, in a design-by-contract style. Within the LOOP project at the University of Nijmegen JML is used for specific...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000