By Benjamin Weiß
Software program platforms play a significant function in sleek society, and their correctness is frequently crucially vital. Formal specification and verification are promising ways for making sure correctness extra conscientiously than simply by means of checking out. This paintings provides an process for deductively verifying design-by-contract requisites of object-oriented courses. The procedure is predicated on dynamic good judgment, and addresses the demanding situations of modularity and automation utilizing dynamic frames and predicate abstraction.
Read or Download Deductive Verification of Object-Oriented Software: Dynamic Frames, Dynamic Logic and Predicate Abstraction PDF
Similar logic books
A lucid, stylish, and entire survey of set conception, this quantity is drawn from the authors' gigantic instructing event. the 1st of 3 components specializes in axiomatic set idea. the second one half explores the consistency of the continuum speculation, and the ultimate part examines forcing and independence effects.
This publication grew out of my curiosity in what's universal to 3 disciplines: arithmetic, philosophy, and historical past. The origins of Zermelo's Axiom of selection, in addition to the debate that it engendered, definitely lie in that intersection. because the time of Aristotle, arithmetic has been involved alternately with its assumptions and with the gadgets, akin to quantity and house, approximately which these assumptions have been made.
This can be the one monograph dedicated to the expressibility of finitely axiomatizable theories, a classical topic in mathematical common sense. the amount summarizes investigations within the box that experience led to a lot of the present growth, treating systematically all confident effects referring to expressibility.
- WOPPLOT 83 Parallel Processing: Logic, Organization, and Technology
- Combinatory Logic in Programming. Computations with Objects Through Examples and Exercises
- Logic: The Laws of Truth
- Being Logical: A Guide to Good Thinking
Extra resources for Deductive Verification of Object-Oriented Software: Dynamic Frames, Dynamic Logic and Predicate Abstraction
This correctly suggests that like model fields, we can also use pure methods to achieve data abstraction in specifications. Using pure methods has the appeal that, unlike model fields, methods are a native concept of the programming language, and the necessary methods may already be present in the program anyway. 4. 4. The fact that these pure methods are now themselves the basic building blocks of the specification is emphasised by their selfreferential postconditions in lines 6 and 13, which are trivially satisfied by any implementation.
The disadvantage of doing so is that helper methods may not rely on the invariant for satisfying their contracts. In contrast, nonhelper methods are only required to satisfy their contracts for pre-states where the receiver’s invariants hold. 1 relies on the value of array being different from null as guaranteed by the invariant, and would not satisfy its normal_behaviour contract if it were a helper method. 4. Subtyping and Inheritance A core element of object-orientation is the dynamic dispatch of method calls, where the method implementation to be executed is determined at run-time based on the dynamic type of the receiver object.
In a concurrent setting, this interpretation is advantageous, because then, modifies clauses also constrain the intermediate states of execution, which allows them to be used for reasoning about non-interference between threads. On the other hand, for sequential programs the classical, more semantic, interpretation is completely sufficient, and in this thesis we stick with it. 19 2. Background on JML Modifies clauses are declared in JML with the keyword assignable. The expression after this keyword is not a normal expression, but a list of so-called “store ref expressions” denoting sets of memory locations.