2021
DOI: 10.1007/978-3-030-81688-9_42
|View full text |Cite
|
Sign up to set email alerts
|

Diffy: Inductive Reasoning of Array Programs Using Difference Invariants

Abstract: We present a novel verification technique to prove properties of a class of array programs with a symbolic parameter N denoting the size of arrays. The technique relies on constructing two slightly different versions of the same program. It infers difference relations between the corresponding variables at key control points of the joint control-flow graph of the two program versions. The desired post-condition is then proved by inducting on the program parameter N, wherein the difference invariants are crucia… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
8
0
2

Year Published

2021
2021
2024
2024

Publication Types

Select...
4
1
1

Relationship

2
4

Authors

Journals

citations
Cited by 11 publications
(10 citation statements)
references
References 50 publications
(62 reference statements)
0
8
0
2
Order By: Relevance
“…Yet another approach uses mathematical induction-based techniques to reason about array-manipulating programs with loops. [16] verify the validity of a given parameterized Hoare triple where the length of array N is used as a parameter of the pre-and post-condition.…”
Section: Related Workmentioning
confidence: 99%
“…Yet another approach uses mathematical induction-based techniques to reason about array-manipulating programs with loops. [16] verify the validity of a given parameterized Hoare triple where the length of array N is used as a parameter of the pre-and post-condition.…”
Section: Related Workmentioning
confidence: 99%
“…Most notably, we analyze programs with only non-nested loops. We have designed a variant of the full-program induction technique [39] that can verify a class of programs with nested loops. The technique greatly simplifies the computation of difference programs.…”
Section: Limitationsmentioning
confidence: 99%
“…It infers and uses relations between two slightly different versions of the program during the inductive step. We refer the interested reader to [39].…”
Section: Limitationsmentioning
confidence: 99%
“…Note that these restrictions still allow a large class of programs with nested loops to be analyzed using our technique that simply cannot be analyzed using stateof-the-art tools. Refer to [13] for further generalization of nested loops supported by our technique. The peel of such a generic loop is shown in Fig.…”
Section: A3: Generation Of the Difference Invariantmentioning
confidence: 99%
“…We use the SMT solver Z3(v4.8.7) [39] for proving Hoare triples of loop-free programs. Diffy and the supporting data to replicate the experiments are openly available at [14].…”
Section: Experimental Evaluationmentioning
confidence: 99%