DocumentCode
2363992
Title
Automatically inferring temporal properties for program evolution
Author
Yang, Jinlin ; Evans, David
Author_Institution
Dept. of Comput. Sci., Virginia Univ., Charlottesville, VA, USA
fYear
2004
fDate
2-5 Nov. 2004
Firstpage
340
Lastpage
351
Abstract
It is important that program maintainers understand important properties of the programs they modify and ensure that the changes they make do not alter essential properties in unintended ways. Manually documenting those properties, especially temporal ones that constrain the ordering of events, is difficult and rarely done in practice. We propose an automatic approach to inferring a target system´s temporal properties based on analyzing its event traces. The core of our technique is a set of pre-defined property patterns among a few events. These patterns form a partial order in terms of their strictness. Our approach finds the strictest properties satisfied by a set of events based on the traces. We report results from experiments on two sets of programs: student solutions for a class assignment, and several recent versions of OpenSSL Comparing properties inferred from different implementations led us to discover important behavioral differences which revealed flaws in the programs. Differences in automatically inferred temporal properties can provide useful information to programmers evolving complex, often unspecified, programs whose correctness depends on preservation of undocumented temporal properties.
Keywords
software maintenance; OpenSSL; event traces; program evolution; program maintenance; temporal property; Automatic testing; Computer bugs; Computer science; Inspection; Programming profession; Protocols; Security; Software prototyping; Software systems; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Reliability Engineering, 2004. ISSRE 2004. 15th International Symposium on
ISSN
1071-9458
Print_ISBN
0-7695-2215-7
Type
conf
DOI
10.1109/ISSRE.2004.11
Filename
1383130
Link To Document