Sciweavers

ICSE
1999
IEEE-ACM

Dynamically Discovering Likely Program Invariants to Support Program Evolution

14 years 3 months ago
Dynamically Discovering Likely Program Invariants to Support Program Evolution
ÐExplicitly stated program invariants can help programmers by identifying program properties that must be preserved when modifying code. In practice, however, these invariants are usually implicit. An alternative to expecting programmers to fully annotate code with invariants is to automatically infer likely invariants from the program itself. This research focuses on dynamic techniques for discovering invariants from execution traces. This article reports three results. First, it describes techniques for dynamically discovering invariants, along with an implementation, named Daikon, that embodies these techniques. Second, it reports on the application of Daikon to two sets of target programs. In programs from Gries's work on program derivation, the system rediscovered predefined invariants. In a C program lacking explicit invariants, the system discovered invariants that assisted a software evolution task. These experiments demonstrate that, at least for small programs, invarian...
Michael D. Ernst, Jake Cockrell, William G. Griswo
Added 04 Aug 2010
Updated 04 Aug 2010
Type Conference
Year 1999
Where ICSE
Authors Michael D. Ernst, Jake Cockrell, William G. Griswold, David Notkin
Comments (0)