Aggregating Association Rules to Improve Change Recommendation

T. Rolfsnes, L. Moonen, S. Di Alesio, R. Behjati and D. Binkley. Aggregating Association Rules to Improve Change Recommendation. In Journal of Empirical Software Engineering (EMSE). Springer, 2017. doi://10.1007/s10664-017-9560-y

[Download PDF]

Abstract

As the complexity of software systems grows, it becomes increasingly difficult for developers to be aware of all the dependencies that exist between artifacts (e.g., files or methods) of a system. Change recommendation has been proposed as a technique to overcome this problem, as it suggests to a developer relevant source-code artifacts related to her changes. Association rule mining has shown promise to deriving such recommendations by uncovering relevant patterns in the system’s change history. The strength of the mined association rules is captured using a variety of interestingness measures. However, state-of-the-art recommendation engines typically use only the rule with the highest interestingness value when more than one rule applies. In contrast, we argue that when multiple rules apply, this indicates collective evidence, and aggregating those rules (and their evidence) will lead to more accurate change recommendation.

To investigate this hypothesis we conduct a large empirical study of 15 open source software systems and two systems from our industry partners. We evaluate association rule aggregation using four variants of the change history for each system studied, enabling us to compare two different levels of granularity in two different scenarios. Furthermore, we study 40 interestingness measures using the rules produced by two different mining algorithms. The results show that (1) between 13 and 90 of change recommendations can be improved by rule aggregation, (2) rule aggregation almost always improves change recommendation for both algorithms and all measures, and (3) fine-grained histories benefit more from rule aggregation.

Keywords

change impact analysis, change recommendations, evolutionary coupling, interestingness aggregator, rule aggregation, targeted association rule mining

Bibtex


@article{
 title = {Aggregating Association Rules to Improve Change Recommendation},
 author = {Rolfsnes, Thomas and Moonen, Leon and Di Alesio, Stefano and Behjati, Razieh and Binkley, Dave},
 journal = {Journal of Empirical Software Engineering (EMSE)}
 year = {2017},
 pages = {1--49},
 doi = {10.1007/s10664-017-9560-y}
 websites = {http://link.springer.com/10.1007/s10664-017-9560-y},
 publisher = {Springer},
}