DocumentCode :
351607
Title :
Dynamically discovering likely program invariants to support program evolution
Author :
Ernst, Michael D. ; Cockrell, Jake ; Griswold, William G. ; Notkin, David
Author_Institution :
Dept. of Comput. Sci. & Eng., Washington Univ., Seattle, WA, USA
fYear :
1999
fDate :
22-22 May 1999
Firstpage :
213
Lastpage :
224
Abstract :
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 invariants from the program itself. This research focuses on dynamic techniques for discovering invariants from execution traces. This paper reports two results. First, it describes techniques for dynamically discovering invariants, along with an instrumenter and an inference engine that embody these techniques. Second, it reports on the application of the engine to two sets of target programs. In programs from Cries´s work on program derivation, we rediscovered predefined invariants. In a C program lacking explicit invariants, we discovered invariants that assisted a software evolution task.
Keywords :
formal specification; inference mechanisms; software maintenance; C program; automatically inferred invariants; code modification; dynamically discovered program invariants; execution trace; explicitly stated program invariants; inference engine; instrumenter; predefined invariants; program derivation; program evolution; program property preservation; Application software; Computer science; Engines; Formal specifications; Pattern analysis; Pattern recognition; Permission; Programming profession; Runtime; Testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering, 1999. Proceedings of the 1999 International Conference on
Conference_Location :
Los Angeles, CA, USA
ISSN :
0270-5257
Print_ISBN :
1-58113-074-0
Type :
conf
Filename :
841011
Link To Document :
بازگشت