Verifying Array Manipulating Programs with Full-Program Induction

02/23/2020
by   Supratik Chakraborty, et al.
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

research
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...
research
05/31/2021

Diffy: Inductive Reasoning of Array Programs using Difference Invariants

We present a novel verification technique to prove interesting propertie...
research
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...
research
06/01/2021

Quantifiers on Demand

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

Compile-time Parallelization of Subscripted Subscript Patterns

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

Verifying Equivalence of Database-Driven Applications

This paper addresses the problem of verifying equivalence between a pair...
research
02/26/2021

Tensors Fitting Perfectly

Multidimensional arrays (NDArrays) are a central abstraction in modern s...

Please sign up or login with your details

Forgot password? Click here to reset