The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Predicate abstraction for software verification
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Multiple Counters Automata, Safety Analysis and Presburger Arithmetic
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
A Decision Procedure for an Extensional Theory of Arrays
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
A framework for numeric analysis of array operations
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Decision procedures for extensions of the theory of arrays
Annals of Mathematics and Artificial Intelligence
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
FCT '07 Proceedings of the 16th international symposium on Fundamentals of Computation Theory
Towards SMT Model Checking of Array-Based Systems
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
A Logic of Singly Indexed Arrays
LPAR '08 Proceedings of the 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning
Finding Loop Invariants for Programs over Arrays Using a Theorem Prover
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Invariant synthesis for combined theories
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
Array abstractions from proofs
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Quantified invariant generation using an interpolating saturation prover
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
What else is decidable about integer arrays?
FOSSACS'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Foundations of software science and computational structures
Flat parametric counter automata
ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part II
What's decidable about arrays?
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
What's decidable about sequences?
ATVA'10 Proceedings of the 8th international conference on Automated technology for verification and analysis
Inferring loop invariants using postconditions
Fields of logic and computation
Invariant synthesis for programs manipulating lists with unbounded data
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
On array theory of bounded elements
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
ATVA'12 Proceedings of the 10th international conference on Automated Technology for Verification and Analysis
Loop invariants: Analysis, classification, and examples
ACM Computing Surveys (CSUR)
Array Theory of Bounded Elements and its Applications
Journal of Automated Reasoning
Hi-index | 0.00 |
We provide a verification technique for a class of programs working on integer arrays of finite, but not a priori bounded length. We use the logic of integer arrays SIL [13] to specify pre- and post-conditions of programs and their parts. Effects of non-looping parts of code are computed syntactically on the level of SIL. Loop pre-conditions derived during the computation in SIL are converted into counter automata (CA). Loops are automatically translated--purely on the syntactical level--to transducers. Pre-condition CA and transducers are composed, and the composition over-approximated by flat automata with difference bound constraints, which are next converted back into SIL formulae, thus inferring post-conditions of the loops. Finally, validity of post-conditions specified by the user in SIL may be checked as entailment is decidable for SIL.