Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Parametric shape analysis via 3-valued logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A framework for numeric analysis of array operations
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lifting abstract interpreters to quantified logical domains
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Discovering properties about arrays in simple programs
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
A combination framework for tracking partition sizes
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Shape-Value Abstraction for Verifying Linearizability
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
Automatic Verification of Integer Array Programs
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Apron: A Library of Numerical Abstract Domains for Static Analysis
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Array abstractions from proofs
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Interprocedural shape analysis with separated heap abstractions
SAS'06 Proceedings of the 13th international conference on Static Analysis
An analysis of permutations in arrays
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
Predicate abstraction and canonical abstraction for singly-linked lists
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Programs with lists are counter automata
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
On inter-procedural analysis of programs with lists and data
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Automatically refining partial specifications for program verification
FM'11 Proceedings of the 17th international conference on Formal methods
Abstract domains for automated reasoning about list-manipulating programs with infinite data
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Predicate abstraction of Java programs with collections
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Static analysis of list-manipulating programs via bit-vectors and numerical abstractions
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Automatically refining partial specifications for heap-manipulating programs
Science of Computer Programming
Hi-index | 0.00 |
We address the issue of automatic invariant synthesis for sequential programs manipulating singly-linked lists carrying data over infinite data domains We define for that a framework based on abstract interpretation which combines a specific finite-range abstraction on the shape of the heap with an abstract domain on sequences of data, considered as a parameter of the approach We instantiate our framework by introducing different abstractions on data sequences allowing to reason about various aspects such as their sizes, the sums or the multisets of their elements, or relations on their data at different (linearly ordered or successive) positions To express the latter relations we define a new domain whose elements correspond to an expressive class of first order universally quantified formulas We have implemented our techniques in an efficient prototype tool and we have shown that our approach is powerful enough to generate non-trivial invariants for a significant class of programs.