Existing heap analysis techniques lack the ability to supply counterexamples in case of property violations. This hinders diagnosis, prevents test-case generation and is a barrier to the use of these tools among non-experts. We present a verification technique for reasoning about aliasing and reachability in the heap which uses ACDCL (a combination of the well-known CDCL SAT algorithm and abstract interpretation) to perform interleaved proof generation and model construction. Abstraction provides us with a tractable way of reasoning about heaps; ACDCL adds the ability to search for a model in an efficient way. We present a prototype tool and demonstrate a number of examples for which we are able to obtain useful concrete counterexamples
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...
Almost all modern imperative programming languages include operations for dynamically manipulating t...
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...
AbstractAssume/Guarantee (A/G) reasoning for heap-manipulating programs is challenging because the h...
One of the main challenges to software testing today is to efficiently handle heap-manipulating prog...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
Automated verification of heap-manipulating programs is a challenging task due to the complexity of ...
Assume/Guarantee (A/G) reasoning for heap-manipulating programs is challenging because the heap can ...
Abstract. Termination of a heap-manipulating program generally de-pends on preconditions that are he...
We present a new approach for automatic verification of data-dependent programs manipulating dynamic...
We present a strictly bottom-up, summary-based, and precise heap analysis targeted for program verif...
We present a strictly bottom-up, summary-based, and precise heap analysis targeted for program verif...
AbstractWe define the class of single-parent heap systems, which rely on a singly-linked heap in ord...
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...
Almost all modern imperative programming languages include operations for dynamically manipulating t...
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...
AbstractAssume/Guarantee (A/G) reasoning for heap-manipulating programs is challenging because the h...
One of the main challenges to software testing today is to efficiently handle heap-manipulating prog...
First order logic with transitive closure, and separation logic enable elegant interactive verificat...
Automated verification of heap-manipulating programs is a challenging task due to the complexity of ...
Assume/Guarantee (A/G) reasoning for heap-manipulating programs is challenging because the heap can ...
Abstract. Termination of a heap-manipulating program generally de-pends on preconditions that are he...
We present a new approach for automatic verification of data-dependent programs manipulating dynamic...
We present a strictly bottom-up, summary-based, and precise heap analysis targeted for program verif...
We present a strictly bottom-up, summary-based, and precise heap analysis targeted for program verif...
AbstractWe define the class of single-parent heap systems, which rely on a singly-linked heap in ord...
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...
Almost all modern imperative programming languages include operations for dynamically manipulating t...