Verification of Modifies Clauses in Dynamic Logic with Non-rigid Functions
نویسندگان
چکیده
For modular verification of object-oriented programs, it is necessary to constrain what may be changed by a method in addition to how it is changed. Doing so with the classical means of preand postconditions is cumbersome, and even impossible if the program context is not entirely known. Therefore, specifications make use of an additional construct, known as a “frame property” or “modifies clause”, which lists the memory locations that can at most be modified. Deductively verifying the correctness of such modifies clauses is difficult because the focus is on those locations which are not mentioned in the modifies clause. We present a novel approach to encode the correctness of modifies clauses as compact and readable proof obligations in dynamic logic. These proof obligations can be discharged efficiently with existing dynamic logic calculi, such as the one implemented in the KeY verification system. Additionally, we describe how a variant of our technique can be used for the verification of loops.
منابع مشابه
Dynamic Logic with Non-rigid Functions - A Basis for Object-oriented Program Verification
We introduce a dynamic logic that is enriched by non-rigid functions, i.e., functions that may change their value from state to state (during program execution), and we present a (relatively) complete sequent calculus for this logic. In conjunction with dynamically typed object enumerators, non-rigid functions allow to embed notions of objectorientation in dynamic logic, thereby forming a basis...
متن کاملDynamic Logic with Non-rigid Functions: A Basis for Object-oriented Verification
We introduce a dynamic logic that is enriched by non-rigid functions, i.e., functions that may change their value from state to state (during program execution), and we present a (relatively) complete sequent calculus for this logic. In conjunction with dynamically typed object enumerators, non-rigid functions allow to embed notions of objectorientation in dynamic logic, thereby forming a basis...
متن کاملNonlinear inelastic dynamic analysis of space steel frames with semi-rigid connections in urban buildings
Applied studies addressing semi-rigid connections have been limited. Scant information exists in regulations except little brief information. Therefore, this research analyzes the behavior of three-dimensional steel frames and semi-rigid connections based on beam-column method and non-linear dynamic analysis. Stability functions and geometric stiffness matrix were used to study the non-linear g...
متن کاملVerification of Security Protocols with a Bounded Number of Sessions Based on Resolution for Rigid Variables
First-order logic resolution is a standard way to automate the verification of security protocols. However, it sometimes fails to produce security proofs for secure protocols because of the detection of false attacks. For the verification of a bounded number of sessions, false attacks can be avoided by introducing rigid variables. Unfortunately, this yields complicated resolution procedures. We...
متن کاملProtocol Verification Via Rigid/Flexible Resolution
We propose a decision procedure, i.e. an inference system for clauses containing rigid and flexible variables. Rigid variables are only allowed to have one instantiation, whereas flexible variables are allowed as many instantiations as desired. We assume a set of clauses containing only rigid variables together with a set of clauses containing only flexible variables. When the flexible clauses ...
متن کامل