@article{14756, keywords = {evolutionary coupling, targeted association rule mining, change impact analysis, change recommendations, interestingness aggregator, rule aggregation}, author = {Thomas Rolfsnes and Leon Moonen and Stefano Di Alesio and Razieh Behjati and David Binkley}, title = {Aggregating Association Rules to Improve Change Recommendation}, abstract = {As the complexity of software systems grows, it becomes increasinglydifficult for developers to be aware of all the dependencies thatexist between artifacts (e.g., files or methods) of a system. Changerecommendation has been proposed as a technique to overcome thisproblem, as it suggests to a developer relevant source-code artifactsrelated to her changes. Association rule mining has shown promiseto deriving such recommendations by uncovering relevant patternsin the system{\textquoteright}s change history. The strength of the mined associationrules is captured using a variety of interestingness measures.However, state-of-the-art recommendation engines typically use onlythe rule with the highest interestingness value when more than onerule 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 studyof 15 open source software systems and two systems from our industrypartners. We evaluate association rule aggregation using fourvariants of the change history for each system studied, enablingus to compare two different levels of granularity in two differentscenarios. Furthermore, we study 40 interestingness measures usingthe rules produced by two different mining algorithms. The resultsshow that (1) between 13\% and 90\% of change recommendations can beimproved by rule aggregation, (2) rule aggregation almost alwaysimproves change recommendation for both algorithms and all measures,and (3) fine-grained histories benefit more from rule aggregation.}, year = {2018}, journal = {Journal of Empirical Software Engineering (EMSE)}, volume = {23}, pages = {987-1035}, month = {04/2018}, publisher = {Springer}, issn = {1382-3256}, url = {https://doi.org/10.1007/s10664-017-9560-y}, doi = {10.1007/s10664-017-9560-y}, }