Publication Type

Conference Proceeding Article

Version

publishedVersion

Publication Date

10-2014

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.

Discipline

Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

2014 IEEE International Conference on Software Maintenance and Evolution (ICSME): 28 September - 3 October 2014, Victoria, Canada

First Page

451

Last Page

455

ISBN

9781479961467

Identifier

10.1109/ICSME.2014.72

Publisher

IEEE Computer Society

City or Country

Los Alamitos, CA

Copyright Owner and License

Publisher

Additional URL

https://doi.org/10.1109/ICSME.2014.72

Share

COinS