Assume/Guarantee (A/G) reasoning for heap-manipulating programs is challenging because the heap can be mutated in an arbitrary way by procedure calls. Moreover, specifying the potential side-effects of a procedure is non-trivial. We report on an on-going effort to reduce the burden of A/G reasoning for heap-manipulating programs by automatically generating post-conditions and estimating side-effects of non-recursive procedures. Our method is sound. It combines the use of theorem provers and abstract-interpretation algorithms. Key words: assume-guarantee reasoning, side-effect, mod-clauses, shape analysis, abstract interpretation, theorem prove
Automatically reasoning about programs is of significant interest to the program verification, compi...
Heap-manipulating programs (HMPs), which manipulate unbounded linked data structures via pointers, a...
Almost all modern imperative programming languages include operations for dynamically manipu-lating ...
AbstractAssume/Guarantee (A/G) reasoning for heap-manipulating programs is challenging because the h...
Abstract. Termination of a heap-manipulating program generally de-pends on preconditions that are he...
Existing heap analysis techniques lack the ability to supply counterexamples in case of property vio...
Abstract. Existing heap analysis techniques lack the ability to supply counterexamples in case of pr...
We consider the problem of automatically verifying programs that manipulate a dynamic heap, maintain...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
Program properties that are automatically inferred by static analysis tools are generally not consid...
A number of questions regarding programs involving heap-based data structures can be phrased as ques...
Current static verification techniques do not provide good support for incrementality, making it dif...
Automated verification of heap-manipulating programs is a challenging task due to the complexity of ...
We propose natural proofs for reasoning with programs that ma-nipulate data-structures against speci...
Verifying the equivalence of programs has been applied in many situations: for example, proving the ...
Automatically reasoning about programs is of significant interest to the program verification, compi...
Heap-manipulating programs (HMPs), which manipulate unbounded linked data structures via pointers, a...
Almost all modern imperative programming languages include operations for dynamically manipu-lating ...
AbstractAssume/Guarantee (A/G) reasoning for heap-manipulating programs is challenging because the h...
Abstract. Termination of a heap-manipulating program generally de-pends on preconditions that are he...
Existing heap analysis techniques lack the ability to supply counterexamples in case of property vio...
Abstract. Existing heap analysis techniques lack the ability to supply counterexamples in case of pr...
We consider the problem of automatically verifying programs that manipulate a dynamic heap, maintain...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
Program properties that are automatically inferred by static analysis tools are generally not consid...
A number of questions regarding programs involving heap-based data structures can be phrased as ques...
Current static verification techniques do not provide good support for incrementality, making it dif...
Automated verification of heap-manipulating programs is a challenging task due to the complexity of ...
We propose natural proofs for reasoning with programs that ma-nipulate data-structures against speci...
Verifying the equivalence of programs has been applied in many situations: for example, proving the ...
Automatically reasoning about programs is of significant interest to the program verification, compi...
Heap-manipulating programs (HMPs), which manipulate unbounded linked data structures via pointers, a...
Almost all modern imperative programming languages include operations for dynamically manipu-lating ...