Title
Dynamic Inference of Change Contracts
Abstract
Software evolves and thus developers frequently make changes to systems that are logged in version control systems. These changes are often poorly documented--often commit logs are empty or only contain minimal information. Thus, it is often a challenge to understand why certain changes are made especially if they were introduced many months or even years ago. Understanding these changes is important when pertinent questions are raised during future bug fixing or software evolution efforts. Thus, there is a need for an automated approach that can help developers better document changes with little or minimal effort. To address this need, we propose a dynamic inference framework that automatically infers change contracts. Recently, change contract is proposed as a formalism to capture the semantics of changes. Different from standard program contract, change contract focuses in expressing the changed behavior between two versions of software systems. Our system infers candidate contracts based on actual changes and developers can further modify these contracts to reflect intended changes. We have performed a preliminary evaluation of our dynamic inference framework on a set of 15 real bug fixing changes from AspectJ with promising results.
Year
DOI
Venue
2014
10.1109/ICSME.2014.72
ICSME
Keywords
Field
DocType
change contract, specification mining, dynamic analysis
Software engineering,Systems engineering,Commit,Computer science,Inference,Software system,Software,AspectJ,Formalism (philosophy),Software evolution,Semantics
Conference
ISSN
Citations 
PageRank 
1063-6773
4
0.38
References 
Authors
17
5
Name
Order
Citations
PageRank
Tien-Duy B. Le125811.63
Jooyong Yi226612.04
David Lo35346259.67
Ferdian Thung464133.28
Abhik Roychoudhury52449122.18