Verifying the equivalence of programs has been applied in many situations: for example, proving the correctness of bug-fixes, refactorings, compilation, and optimisation, proving program continuity, proving non-interference in secure information flow, proving abstraction and refinement relationships between programs, and proving that programs conform to differential privacy policies. Verifying the equivalence of heap manipulating procedures where the order and amount of memory allocations differ is challenging for state-of-the-art equivalence verifiers. We describe a fully automatic program equivalence tool, and propose a verification methodology, for such dynamically allocating programs. Recent years have seen significant progress towar...
Because every aspect of our lives is now inexorably dependent on software, it is crucial that the so...
this paper we present a formal system for deriving assertions about programs with memory. The assert...
A number of questions regarding programs involving heap-based data structures can be phrased as ques...
For most high level languages, two procedures are equivalent if they transform a pair of isomorphic ...
Program properties that are automatically inferred by static analysis tools are generally not consid...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
Almost all modern imperative programming languages include operations for dynamically manipulating t...
Almost all modern imperative programming languages include operations for dynamically manipulating t...
Almost all modern imperative programming languages include operations for dynamically manipu-lating ...
We present language-independent formal methods that are parameterized by the operational semantics o...
Current static verification techniques do not provide good support for incrementality, making it dif...
Current static verification techniques do not provide good support for incrementality, making it dif...
The date of receipt and acceptance will be inserted by the editor Abstract. Proving equivalence of p...
Abstract. Proving the equivalence of programs has several important applications, including algorith...
Because every aspect of our lives is now inexorably dependent on software, it is crucial that the so...
this paper we present a formal system for deriving assertions about programs with memory. The assert...
A number of questions regarding programs involving heap-based data structures can be phrased as ques...
For most high level languages, two procedures are equivalent if they transform a pair of isomorphic ...
Program properties that are automatically inferred by static analysis tools are generally not consid...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
Almost all modern imperative programming languages include operations for dynamically manipulating t...
Almost all modern imperative programming languages include operations for dynamically manipulating t...
Almost all modern imperative programming languages include operations for dynamically manipu-lating ...
We present language-independent formal methods that are parameterized by the operational semantics o...
Current static verification techniques do not provide good support for incrementality, making it dif...
Current static verification techniques do not provide good support for incrementality, making it dif...
The date of receipt and acceptance will be inserted by the editor Abstract. Proving equivalence of p...
Abstract. Proving the equivalence of programs has several important applications, including algorith...
Because every aspect of our lives is now inexorably dependent on software, it is crucial that the so...
this paper we present a formal system for deriving assertions about programs with memory. The assert...
A number of questions regarding programs involving heap-based data structures can be phrased as ques...