• Publications
  • Influence
Shape Analysis for Composite Data Structures
A shape analysis that adapts to some of the complex composite data structures found in industrial systems-level programs and introduces the use of generic higher-order inductive predicates describing spatial relationships together with a method of synthesizing new parameterized spatial predicates which can be used in combination with the higher- order predicates. Expand
Automating Separation Logic Using SMT
This paper presents a reduction of decidable SL fragments to a decidable first-order theory that fits well into the satisfiability modulo theories (SMT) framework and shows how to use this reduction to automate satisfiability, entailment, frame inference, and abduction problems for separation logic using SMT solvers. Expand
Complete Instantiation-Based Interpolation
This paper presents a generic framework to build new interpolation procedures via a reduction to existing interpolations procedures, and identifies a model-theoretic criterion that allows it to detect the cases where the technique is complete. Expand
Boolean Heaps
We show that the idea of predicates on heap objects can be cast in the framework of predicate abstraction. This leads to an alternative view on the underlying concepts of three-valued shape analysisExpand
GRASShopper - Complete Heap Verification with Mixed Specifications
GRASShopper, a tool for compositional verification of heap-manipulating programs against user-provided specifications, is presented with its decidable specification language, which supports mixing of assertions expressed in separation logic and first-order logic. Expand
Finding Minimum Type Error Sources
The approach works by reducing the search for minimum error sources to an optimization problem that is formulated in terms of weighted maximum satisfiability modulo theories (MaxSMT), which allows it to build on SMT solvers to support rich type systems and at the same time abstract from the concrete criterion that is used for ranking the error sources. Expand
Automating Separation Logic with Trees and Data
A fragment of classical first-order logic for local reasoning about tree-like data structures is presented and implemented and integrated into an SL-based verification tool, successfully used to verify functional correctness of tree-based data structure implementations. Expand
Using First-Order Theorem Provers in the Jahob Data Structure Verification System
The integration of efficient resolution-based theorem provers into the Jahob data structure verification system enables Jahob to automatically verify the correctness of a range of complex dynamically instantiable data structures, such as hash tables and search trees, without the need for interactive theorem proving or techniques tailored to individual data structures. Expand
Error Invariants
An algorithm that computes error invariants from Craig interpolants is presented, which is constructed from proofs of unsatisfiability of formulas that explain why an error trace violates a particular correctness assertion. Expand
Full Accounting for Verifiable Outsourcing
A new VA system, called Giraffe, is described; charges Giraffe for all three costs; and identifies regimes where outsourcing is worthwhile, as well as developing a design template that produces hardware designs automatically for a wide range of parameters. Expand