POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Fast Decision Procedures Based on Congruence Closure
Journal of the ACM (JACM)
Reasoning About Recursively Defined Data Structures
Journal of the ACM (JACM)
The pointer assertion logic engine
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parametric shape analysis via 3-valued logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verifying reachability invariants of linked structures
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
TVLA: A System for Implementing Static Analyses
SAS '00 Proceedings of the 7th International Symposium on Static Analysis
Region-based shape analysis with tracked locations
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Existential heap abstraction entailment is undecidable
SAS'03 Proceedings of the 10th international conference on Static analysis
Verifying properties of well-founded linked lists
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient software model checking of data structure properties
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Interpolation for data structures
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Conditional must not aliasing for static race detection
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Applications of Hierarchical Reasoning in the Verification of Complex Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Decision procedures for extensions of the theory of arrays
Annals of Mathematics and Artificial Intelligence
Design and results of the 2nd annual satisfiability modulo theories competition (SMT-COMP 2006)
Formal Methods in System Design
Back to the future: revisiting precise program verification using SMT solvers
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Relational inductive shape analysis
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Full functional verification of linked data structures
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Universal symbolic execution and its application to likely data structure invariant generation
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Programming with Proofs: Language-Based Approaches to Totally Correct Software
Verified Software: Theories, Tools, Experiments
Hierarchical and Modular Reasoning in Complex Theories: The Case of Local Theory Extensions
FroCoS '07 Proceedings of the 6th international symposium on Frontiers of Combining Systems
A Coinduction Rule for Entailment of Recursively Defined Properties
CP '08 Proceedings of the 14th international conference on Principles and Practice of Constraint Programming
GC assertions: using the garbage collector to check heap properties
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Linear Functional Fixed-points
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Incremental Instance Generation in Local Reasoning
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Decision procedures for algebraic data types with abstractions
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verification of Java Programs with Interacting Analysis Plugins
Electronic Notes in Theoretical Computer Science (ENTCS)
Maintaining doubly-linked list invariants in shape analysis with local reasoning
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
A reachability predicate for analyzing low-level software
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
An abstract domain for analyzing heap-manipulating low-level software
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Verifying heap-manipulating programs in an SMT framework
ATVA'07 Proceedings of the 5th international conference on Automated technology for verification and analysis
On local reasoning in verification
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Detecting inefficiently-used containers to avoid bloat
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
What can the GC compute efficiently?: a language for heap assertions at GC time
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
An overview of the Jahob analysis system: project goals and current status
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Decidable logics combining heap structures and data
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic verification of parametric specifications with complex topologies
IFM'10 Proceedings of the 8th international conference on Integrated formal methods
Towards complete reasoning about axiomatic specifications
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Using disjoint reachability for parallelization
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
On Deciding Satisfiability by Theorem Proving with Speculative Inferences
Journal of Automated Reasoning
Efficient decision procedures for heaps using STRAND
SAS'11 Proceedings of the 18th international conference on Static analysis
JELIA'06 Proceedings of the 10th European conference on Logics in Artificial Intelligence
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
A logic and decision procedure for predicate abstraction of heap-manipulating programs
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
On hierarchical reasoning in combinations of theories
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Automatic verification of real-time systems with rich data: an overview
TAMC'12 Proceedings of the 9th Annual international conference on Theory and Applications of Models of Computation
Static detection of loop-invariant data structures
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Shape analysis with structural invariant checkers
SAS'07 Proceedings of the 14th international conference on Static Analysis
Locality in reasoning about graph transformations
AGTIVE'11 Proceedings of the 4th international conference on Applications of Graph Transformations with Industrial Relevance
Instantiation Schemes for Nested Theories
ACM Transactions on Computational Logic (TOCL)
Hi-index | 0.00 |
We describe a program verification methodology for specifying global shape properties of data structures by means of axioms involving predicates on scalar fields, pointer equalities, and pointer disequalities, in the neighborhood of a memory cell. We show that such local invariants are both natural and sufficient for describing a large class of data structures. We describe a complete decision procedure for axioms without disequalities, and practical heuristics for the full language. The procedure has the key advantage that it can be extended easily with reasoning for any decidable theory of scalar fields.