|Authors||L. Moonen, S. Di Alesio, D. Binkley and T. G. Rolfsnes|
|Title||Practical Guidelines for Change Recommendation using Association Rule Mining|
|Afilliation||Software Engineering, Software Engineering, Software Engineering|
|Project(s)||evolveIT: Evidence-Based Recommendations to Guide the Evolution of Component-Based Product Families, The Certus Centre (SFI)|
|Publication Type||Proceedings, refereed|
|Year of Publication||2016|
|Conference Name||IEEE/ACM International Conference on Automated Software Engineering (ASE)|
|Keywords||association rule mining, change impact analysis, change recommendations, evolutionary coupling, parameter tuning|
Association rule mining is an unsupervised learning technique that infers relationships among items in a data set. This technique has been successfully used to analyze a system's change history and uncover evolutionary coupling between system artifacts. Evolutionary coupling can, in turn, be used to recommend artifacts that are potentially impacted by a given set of changes to the system. In general, the quality of such recommendations is affected by (1) the values selected for various parameters of the mining algorithm, (2) the characteristics of the change set used to derive the recommendation, and (3) the characteristics of the system's change history for which recommendations are generated.
In this paper, we empirically investigate the extent to which these factors affect change recommendation. Specifically, we conduct a series of systematic experiments on the change histories of two large industrial systems and eight large open source systems, in which we control the change size for which to derive recommendations, the measure used to assess the strength of the evolutionary coupling, and the maximum size of historical changes taken into account when inferring these couplings. We use the results from our study to derive a number of practical guidelines for applying association rule mining to derive software change recommendations.