Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Simplifying Loop Invariant Generation Using Splitter Predicates

Summary: Simplifying Loop Invariant Generation Using
Splitter Predicates
Rahul Sharma, Isil Dillig, Thomas Dillig, and Alex Aiken
Department of Computer Science
Stanford University
Abstract. We present a novel static analysis technique that substan-
tially improves the quality of invariants inferred by standard loop invari-
ant generation techniques. Our technique decomposes multi-phase loops,
which require disjunctive invariants, into a semantically equivalent se-
quence of single-phase loops, each of which requires simple, conjunctive
invariants. We define splitter predicates which are used to identify phase
transitions in loops, and we present an algorithm to find useful split-
ter predicates that enable the phase-reducing transformation. We show
experimentally on a set of representative benchmarks from the litera-
ture and real code examples that our technique substantially increases
the quality of invariants inferred by standard invariant generation tech-
niques. Our technique is conceptually simple, easy to implement, and
can be integrated into any automatic loop invariant generator.
Keywords: Static analysis, invariant generation, decomposition of multi-


Source: Aiken, Alex - Department of Computer Science, Stanford University


Collections: Computer Technologies and Information Sciences