The dynamic frames approach has proven to be a powerful formalism for specifying and verifying object-oriented programs. However, it requires writing and checking many frame annotations. In this paper, we propose a variant of the dynamic frames approach that eliminates the need to explicitly write and check frame annotations. In this paper, we improve upon the classical dynamic frames approach in two ways: (1) method contracts are more concise and (2) fewer proof obligations must be discharged by the verifier. We have proven soundness, implemented the approach in a verifier prototype and demonstrated its expressiveness by verifying several challenging examples from related work.nrpages: 59status: publishe
We present first a series of examples involving the development of information systems, which sugges...
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for ...
With the years, program complexity has increased dramatically: ensuring program correctness has beco...
The dynamic frames approach has proven to be a powerful formalism for specifying and verifying objec...
An important, challenging problem in the verification of imperative programs with shared, mutable st...
Program verification is a technique for proving that a program satisfies its specification. An impor...
Abstract. Framing in the presence of data abstraction is a challenging and important problem in the ...
Framing in the presence of data abstraction is a challenging and important problem in the verificati...
The theory of Dynamic Frames has been invented to deal with the frame problem in the presence of enc...
Separation logic is a concise method for specifying programs that manipulate dynamically allocated s...
Data abstraction is crucial in the construction of modular programs, since it ensures that internal ...
Software systems play a central role in modern society, and their correctness is often crucially imp...
The project files for the article `Reasoning About Invariant Properties of Object-oriented Programs'...
Abstract. We introduce a dynamic logic that is enriched by non-rigid functions, i.e., functions that...
The specification of object-oriented and other pointer-based programs must be able to describe the s...
We present first a series of examples involving the development of information systems, which sugges...
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for ...
With the years, program complexity has increased dramatically: ensuring program correctness has beco...
The dynamic frames approach has proven to be a powerful formalism for specifying and verifying objec...
An important, challenging problem in the verification of imperative programs with shared, mutable st...
Program verification is a technique for proving that a program satisfies its specification. An impor...
Abstract. Framing in the presence of data abstraction is a challenging and important problem in the ...
Framing in the presence of data abstraction is a challenging and important problem in the verificati...
The theory of Dynamic Frames has been invented to deal with the frame problem in the presence of enc...
Separation logic is a concise method for specifying programs that manipulate dynamically allocated s...
Data abstraction is crucial in the construction of modular programs, since it ensures that internal ...
Software systems play a central role in modern society, and their correctness is often crucially imp...
The project files for the article `Reasoning About Invariant Properties of Object-oriented Programs'...
Abstract. We introduce a dynamic logic that is enriched by non-rigid functions, i.e., functions that...
The specification of object-oriented and other pointer-based programs must be able to describe the s...
We present first a series of examples involving the development of information systems, which sugges...
Reasoning about object-oriented programs is hard, due to aliasing, dynamic binding and the need for ...
With the years, program complexity has increased dramatically: ensuring program correctness has beco...