DeepAI AI Chat
Log In Sign Up

Verifying Array Manipulating Programs with Full-Program Induction

02/23/2020
by   Supratik Chakraborty, et al.
Tata Consultancy Services
IIT Bombay
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

06/02/2021

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

Automatic verification of array manipulating programs is a challenging p...
05/31/2021

Diffy: Inductive Reasoning of Array Programs using Difference Invariants

We present a novel verification technique to prove interesting propertie...
01/18/2021

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

We develop a framework for model checking infinite-state systems by auto...
06/01/2021

Quantifiers on Demand

Automated program verification is a difficult problem. It is undecidable...
11/13/2019

Compile-time Parallelization of Subscripted Subscript Patterns

An increasing number of scientific applications are making use of irregu...
10/20/2017

Verifying Equivalence of Database-Driven Applications

This paper addresses the problem of verifying equivalence between a pair...
06/07/2017

Counterexample-Guided k-Induction Verification for Fast Bug Detection

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