Efficient incremental algorithms for dynamic detection of likely invariants

TitleEfficient incremental algorithms for dynamic detection of likely invariants
Publication TypeConference Paper
Year of Publication2004
AuthorsPerkins JH, Ernst MD
Conference NameProceedings of the ACM SIGSOFT 12th Symposium on the Foundations of Software Engineering (FSE 2004)
Date or Month PublishedNovember 2–4
Conference LocationNewport Beach, CA, USA
Abstract<p>Dynamic detection of likely invariants is a program analysis that generalizes over observed values to hypothesize program properties. The reported program properties are a set of likely invariants over the program, also known as an operational abstraction. Operational abstractions are useful in testing, verification, bug detection, refactoring, comparing behavior, and many other tasks. </p> <p> Previous techniques for dynamic invariant detection scale poorly or report too few properties. Incremental algorithms are attractive because they process each observed value only once and thus scale well with data sizes. Previous incremental algorithms only checked and reported a small number of properties. This paper takes steps toward correcting this problem. The paper presents two new incremental algorithms for invariant detection and compares them analytically and experimentally to two existing algorithms. Furthermore, the paper presents four optimizations and shows how to implement them in the context of incremental algorithms. The result is more scalable invariant detection that does not sacrifice functionality.</p>
DownloadsDaikon implementation PDF PostScript slides (PDF)
Citation KeyPerkinsE2004
Last changed Mon, 2013-06-03 10:27