What are the Effects of History Length and Age on Mining Software Change Impact?

L. Moonen, T. Rolfsnes, D. Binkley, and S. Di Alesio. What are the Effects of History Length and Age on Mining Software Change Impact?. In Journal of Empirical Software Engineering (EMSE). Springer, 2018. doi://10.1007/s10664-017-9588-z

[Download PDF]

Abstract

The goal of Software Change Impact Analysis is to identify artifacts (typically source-code files or individual methods therein) potentially affected by a change. Recently, there has been increased interest in mining software change impact based on evolutionary coupling. A particularly promising approach uses association rule mining to uncover potentially affected artifacts from patterns in the system’s change history. Two main considerations when using this approach are the history length, the number of transactions from the change history used to identify the impact of a change, and history age, the number of transactions that have occurred since patterns were last mined from the history. Although history length and age can significantly affect the quality of mining results, few guidelines exist on how to best select appropriate values for these two parameters.

In this paper, we empirically investigate the effects of history length and age on the quality of change impact analysis using mined evolutionary coupling. Specifically, we report on a series of systematic experiments using three state-of-the-art mining algorithms that involve the change histories of two large industrial systems and 17 large open source systems. In these experiments, we vary the length and age of the history used to mine software change impact, and assess how this affects precision and applicability. Results from the study are used to derive practical guidelines for choosing history length and age when applying association rule mining to conduct software change impact analysis.

Keywords

change impact analysis, evolutionary coupling, association rule mining, parameter tuning

Replication Package

The data of the open source systems is made available for replication.

Bibtex


@article{
 title = {What are the Effects of History Length and Age on Mining Software Change Impact?},
 author = {Moonen, Leon and Rolfsnes, Thomas and Binkley, Dave and Di Alesio, Stefano},
 journal = {Journal of Empirical Software Engineering (EMSE)}
 year = {2018},
 pages = {1--36},
 doi = {10.1007/s10664-017-9588-z}
 websites = {http://link.springer.com/10.1007/s10664-017-9588-z},
 publisher = {Springer},
}