Search
Now showing items 1-10 of 20
On Role Logic
(2003-10-24)
We present role logic, a notation for describing propertiesof relational structures in shape analysis, databases, andknowledge bases. We construct role logic using the ideas ofde Bruijn's notation for lambda calculus, an ...
Set Interfaces for Generalized Typestate and Data Structure Consistency Verification
(2007-10-31)
Typestate systems allow the type of an object to change during its lifetime in the computation. Unlike standard type systems, they can enforce safety properties that depend on changing object states. We present a new, ...
AvatarSAT: An Auto-tuning Boolean SAT Solver
(2009-08-26)
We present AvatarSAT, a SAT solver that uses machine-learning classifiers to automatically tune the heuristics of an off-the-shelf SAT solver on a per-instance basis. The classifiers use features of both the input and ...
On Using First-Order Theorem Provers in the Jahob Data Structure Verification System
(2006-11-09)
This paper presents our integration of efficient resolution-based theorem provers into the Jahob data structure verification system. Our experimental results show that this approach enables Jahob to automatically ...
Using Cyclic Memory Allocation to Eliminate Memory Leaks
(2005-10-26)
We present and evaluate a new memory management technique foreliminating memory leaks in programs with dynamic memoryallocation. This technique observes the execution of the program on asequence of training inputsto find ...
On Spatial Conjunction as Second-Order Logic
(2004-10-25)
Spatial conjunction is a powerful construct for reasoning about dynamically allocateddata structures, as well as concurrent, distributed and mobile computation. Whileresearchers have identified many uses of spatial ...
On The Boolean Algebra of Shape Analysis Constraints
(2003-08-22)
Shape analysis is a promising technique for statically verifyingand extracting properties of programs that manipulatecomplex data structures. We introduce a new characterizationof constraints that arise in parametric ...
A Combined Pointer and Purity Analysis for Java Programs
(2004-05-17)
We present a new method purity analysis for Java programs.A method is pure if it does not mutate any location that exists in the program state right before method invocation.Our analysis is built on top of a combined pointer ...
On Algorithms and Complexity for Sets with Cardinality Constraints
(2005-08-03)
Typestate systems ensure many desirable properties of imperativeprograms, including initialization of object fields and correct use ofstateful library interfaces. Abstract sets with cardinalityconstraints naturally ...
On Verifying a File System Implementation
(2004-05-06)
We present a correctness proof for a basic file system implementation. This implementation contains key elements of standard Unix file systems such as inodes and fixed-size disk blocks. We prove the implementation correct ...