Exploring the Effects of History Length and Age on Mining Software Change Impact
L. Moonen, S. Di Alesio, T. Rolfsnes and D. Binkley. Exploring the Effects of History Length and Age on Mining Software Change Impact. In International Working Conference on Source Code Analysis and Manipulation (SCAM). IEEE, 2016.
Abstract
The goal of Software Change Impact Analysis is to identify artifacts (typically source-code files) potentially affected by a change. Recently, there is an 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 couplings. Specifically, we report on a series of systematic experiments involving 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
Bibtex
@inproceedings {moonen:2016:exploring, title = {Exploring the Effects of History Length and Age on Mining Software Change Impact}, year = {2016}, month = {10}, publisher = {IEEE}, author = {Moonen, Leon and Di Alesio, Stefano and Rolfsnes, Thomas and Binkley, Dave} booktitle = {International Working Conference on Source Code Analysis and Manipulation (SCAM)}, }