Skip to main content

and
  1. No Access

    Article

    Synthesis of circular compositional program proofs via abduction

    This paper presents a new technique for synthesizing circular compositional proofs of program correctness. Our technique uses abductive inference to decompose the proof into small lemmas (i.e., compositionalit...

    Isil Dillig, Thomas Dillig, Boyang Li in International Journal on Software Tools fo… (2017)

  2. No Access

    Chapter and Conference Paper

    Bottom-Up Context-Sensitive Pointer Analysis for Java

    This paper describes a new bottom-up, subset-based, and context-sensitive pointer analysis for Java. The main novelty of our technique is the constraint-based handling of virtual method calls and instantiation...

    Yu Feng, **nyu Wang, Isil Dillig, Thomas Dillig in Programming Languages and Systems (2015)

  3. Chapter and Conference Paper

    Optimal Guard Synthesis for Memory Safety

    This paper presents a new synthesis-based approach for writing low-level memory-safe code. Given a partial program with missing guards, our algorithm synthesizes concrete predicates to plug in for the missing ...

    Thomas Dillig, Isil Dillig, Swarat Chaudhuri in Computer Aided Verification (2014)

  4. Chapter and Conference Paper

    Explain: A Tool for Performing Abductive Inference

    This paper describes a tool called Explain for performing abductive inference. Logical abduction is the problem of finding a simple explanatory hypothesis that explains observed facts. Specifically, given a set o...

    Isil Dillig, Thomas Dillig in Computer Aided Verification (2013)

  5. No Access

    Chapter and Conference Paper

    Automated Inference of Library Specifications for Source-Sink Property Verification

    Many safety properties in program analysis, such as many memory safety and information flow problems, can be formulated as source-sink problems. While there are many existing techniques for checking source-sink p...

    Haiyan Zhu, Thomas Dillig, Isil Dillig in Programming Languages and Systems (2013)

  6. Chapter and Conference Paper

    Synthesis of Circular Compositional Program Proofs via Abduction

    This paper presents a technique for synthesizing circular compositional proofs of program correctness. Our technique uses abductive inference to decompose the proof into small lemmas, which are represented as ...

    Boyang Li, Isil Dillig, Thomas Dillig in Tools and Algorithms for the Construction … (2013)

  7. Chapter and Conference Paper

    Minimum Satisfying Assignments for SMT

    A minimum satisfying assignment of a formula is a minimum-cost partial assignment of values to the variables in the formula that guarantees the formula is true. Minimum satisfying assignments have applications in...

    Isil Dillig, Thomas Dillig, Kenneth L. McMillan, Alex Aiken in Computer Aided Verification (2012)

  8. No Access

    Article

    Cuts from proofs: a complete and practical technique for solving linear inequalities over integers

    We propose a novel, sound, and complete Simplex-based algorithm for solving linear inequalities over integers. Our algorithm, which can be viewed as a semantic generalization of the branch-and-bound technique, sy...

    Isil Dillig, Thomas Dillig, Alex Aiken in Formal Methods in System Design (2011)

  9. Chapter and Conference Paper

    Simplifying Loop Invariant Generation Using Splitter Predicates

    We present a novel static analysis technique that substantially improves the quality of invariants inferred by standard loop invariant generation techniques. Our technique decomposes multi-phase loops, which requ...

    Rahul Sharma, Isil Dillig, Thomas Dillig, Alex Aiken in Computer Aided Verification (2011)

  10. No Access

    Chapter and Conference Paper

    Small Formulas for Large Programs: On-Line Constraint Simplification in Scalable Static Analysis

    Static analysis techniques that represent program states as formulas typically generate a large number of redundant formulas that are incrementally constructed from previous formulas. In addition to querying s...

    Isil Dillig, Thomas Dillig, Alex Aiken in Static Analysis (2010)

  11. Chapter and Conference Paper

    Fluid Updates: Beyond Strong vs. Weak Updates

    We describe a symbolic heap abstraction that unifies reasoning about arrays, pointers, and scalars, and we define a fluid update operation on this symbolic heap that relaxes the dichotomy between strong and weak ...

    Isil Dillig, Thomas Dillig, Alex Aiken in Programming Languages and Systems (2010)

  12. Chapter and Conference Paper

    Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers

    We propose a novel, sound, and complete Simplex-based algorithm for solving linear inequalities over integers. Our algorithm, which can be viewed as a semantic generalization of the branch-and-bound technique, sy...

    Isil Dillig, Thomas Dillig, Alex Aiken in Computer Aided Verification (2009)