Hostname: page-component-74656f9884-rdgjk Total loading time: 0 Render date: 2026-11-07T21:42:55.827Z Has data issue: false hasContentIssue false

Automatically inferring loop invariants via algorithmic learning†

Published online by Cambridge University Press:  17 December 2014

YUNGBUM JUNG
Affiliation:
Program Analysis Department, Fasoo, Seoul, Republic of Korea
SOONHO KONG
Affiliation:
School of Computer Science, Carnegie Mellon University, Pittsburgh, United States Email: soonhok@cs.cmu.edu
CRISTINA DAVID
Affiliation:
Department of Computer Science School of Computing, National University of Singapore, Singapore
BOW-YAW WANG
Affiliation:
INRIA and Institute of Information Science, Academia Sinica, Taipei, Taiwan
KWANGKEUN YI
Affiliation:
School of Computer Science and Engineering, Seoul National University, Seoul, Republic of Korea
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

By combining algorithmic learning, decision procedures, predicate abstraction and simple templates for quantified formulae, we present an automated technique for finding loop invariants. Theoretically, this technique can find arbitrary first-order invariants (modulo a fixed set of atomic propositions and an underlying satisfiability modulo theories solver) in the form of the given template and exploit the flexibility in invariants by a simple randomized mechanism. In our study, the proposed technique was able to find quantified invariants for loops from the Linux source and other realistic programs. Our contribution is a simpler technique than the previous works yet with a reasonable derivation power.

Information

Type
Paper
Copyright
Copyright © Cambridge University Press 2014