DeepAI AI Chat
Log In Sign Up

Verifying Array Manipulating Programs with Full-Program Induction

by   Supratik Chakraborty, et al.
Tata Consultancy Services
IIT Bombay

We present a full-program induction technique for proving (a sub-class of) quantified as well as quantifier-free properties of programs manipulating arrays of parametric size N. Instead of inducting over individual loops, our technique inducts over the entire program (possibly containing multiple loops) directly via the program parameter N. Significantly, this does not require generation or use of loop-specific invariants. We have developed a prototype tool Vajra to assess the efficacy of our technique. We demonstrate the performance of Vajra vis-a-vis several state-of-the-art tools on a set of array manipulating benchmarks.


page 1

page 2

page 3

page 4


Putting the Squeeze on Array Programs: Loop Verification via Inductive Rank Reduction

Automatic verification of array manipulating programs is a challenging p...

Diffy: Inductive Reasoning of Array Programs using Difference Invariants

We present a novel verification technique to prove interesting propertie...

Counterexample-Guided Prophecy for Model Checking Modulo the Theory of Arrays

We develop a framework for model checking infinite-state systems by auto...

Quantifiers on Demand

Automated program verification is a difficult problem. It is undecidable...

Compile-time Parallelization of Subscripted Subscript Patterns

An increasing number of scientific applications are making use of irregu...

Verifying Equivalence of Database-Driven Applications

This paper addresses the problem of verifying equivalence between a pair...

Counterexample-Guided k-Induction Verification for Fast Bug Detection

Recently, the k-induction algorithm has proven to be a successful approa...