The Journal of Systems and Software On Adaptive Change Recommendation

As the complexity of a software system grows, it becomes harder for developers to be aware of all the dependencies between its artifacts (e.g., files or methods). Change impact analysis helps to overcome this challenge, by recommending relevant source-code artifacts related to a developer’s current changes. As- sociation rule mining has shown promise in determining change impact by uncovering relevant patterns in the system’s change history. State-of-the-art change impact mining typically uses a change history of tens of thousands of transactions. For efficiency, targeted association rule mining constrains the transactions used to those potentially relevant to answering a particular query . However, it still considers all the relevant transactions in the history. This paper presents Atari , a new adaptive approach that further constrains targeted association rule mining by considering a dynamic selection of the relevant transactions. Our investigation of adaptive change impact mining empirically studies fourteen algorithm variants. We show that adaptive algorithms are viable, can be just as applicable as the start-of-the-art complete-history algorithms, and even outper- form them for certain queries. However, more important than this direct comparison, our investigation motivates and lays the groundwork for the future study of adaptive techniques, and their application to challenges such as on-the-fly impact analysis at GitHub-scale.

[1]  Dave W. Binkley,et al.  Aggregating Association Rules to Improve Change Recommendation , 2018, Empirical Software Engineering.

[2]  Stefano Di Alesio,et al.  What are the effects of history length and age on mining software change impact? , 2018, Empirical Software Engineering.

[3]  David W. Binkley,et al.  Practical guidelines for change recommendation using association rule mining , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[4]  Andreia Silva,et al.  Constrained pattern mining in the new era , 2016, Knowledge and Information Systems.

[5]  Dave W. Binkley,et al.  Improving Change Recommendation using Aggregated Association Rules , 2016, 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR).

[6]  A. Zeller,et al.  The impact of tangled code changes on defect prediction models , 2016, Empirical Software Engineering.

[7]  Dave W. Binkley,et al.  Generalizing the Analysis of Evolutionary Coupling for Software Change Impact Analysis , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[8]  Din J. Wasem,et al.  Mining of Massive Datasets , 2014 .

[9]  Huzefa H. Kagdi,et al.  Impact analysis of change requests on source code based on interaction and commit histories , 2014, MSR 2014.

[10]  Yann-Gaël Guéhéneuc,et al.  Detecting asynchrony and dephase change patterns by mining software repositories , 2014, J. Softw. Evol. Process..

[11]  Denys Poshyvanyk,et al.  Integrating conceptual and logical couplings for change impact analysis in software , 2013, Empirical Software Engineering.

[12]  Jonathan I. Maletic,et al.  srcML: An Infrastructure for the Exploration, Analysis, and Manipulation of Source Code: A Tool Demonstration , 2013, 2013 IEEE International Conference on Software Maintenance.

[13]  Andreas Zeller,et al.  The impact of tangled code changes , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[14]  Gabriele Bavota,et al.  An empirical study on the developers' perception of software coupling , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[15]  B. Nath,et al.  Incremental association rule mining: a survey , 2013, WIREs Data Mining Knowl. Discov..

[16]  Bogdan Dit,et al.  An adaptive approach to impact analysis from change requests to source code , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[17]  Leon Moonen,et al.  Crossing the boundaries while analyzing heterogeneous component-based software systems , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[18]  Huan Wang,et al.  Predicting Co-Changed Software Entities in the Context of Software Evolution , 2009, 2009 International Conference on Information Engineering and Computer Science.

[19]  Reza Zafarani,et al.  Towards a more efficient static software change impact analysis method , 2008, PASTE '08.

[20]  A.E. Hassan,et al.  The road ahead for Mining Software Repositories , 2008, 2008 Frontiers of Software Maintenance.

[21]  Romain Robbes,et al.  Logical Coupling Based on Fine-Grained Change Information , 2008, 2008 15th Working Conference on Reverse Engineering.

[22]  Jonathan I. Maletic,et al.  Mining sequences of changed-files from version histories , 2006, MSR '06.

[23]  Nan Jiang,et al.  Research issues in data stream association rule mining , 2006, SGMD.

[24]  Gerardo Canfora,et al.  Impact analysis by mining software and change request repositories , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[25]  Dirk Beyer,et al.  Clustering software artifacts based on frequent common changes , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[26]  Frank Tip,et al.  Chianti: a tool for change impact analysis of java programs , 2004, OOPSLA.

[27]  Richard C. Holt,et al.  Predicting change propagation in software systems , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[28]  Gail C. Murphy,et al.  Predicting source code changes by mining change history , 2004, IEEE Transactions on Software Engineering.

[29]  Andreas Zeller,et al.  Mining Version Histories to Guide Software Changes , 2004 .

[30]  Vijay V. Raghavan,et al.  Itemset Trees for Targeted Association Querying , 2003, IEEE Trans. Knowl. Data Eng..

[31]  Harald C. Gall,et al.  CVS release history data for detecting logical couplings , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[32]  Gregg Rothermel,et al.  Whole program path-based dynamic impact analysis , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[33]  Jaideep Srivastava,et al.  Selecting the right interestingness measure for association patterns , 2002, KDD.

[34]  Wee Keong Ng,et al.  Rapid association rule mining , 2001, CIKM '01.

[35]  Ron Kohavi,et al.  Real world performance of association rule algorithms , 2001, KDD '01.

[36]  Harvey P. Siy,et al.  Predicting Fault Incidence Using Software Change History , 2000, IEEE Trans. Software Eng..

[37]  Vijay V. Raghavan,et al.  The Item-Set Tree: A Data Structure for Data Mining , 1999, DaWaK.

[38]  Harald C. Gall,et al.  Detection of logical coupling based on product release history , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[39]  Ramakrishnan Srikant,et al.  Mining Association Rules with Item Constraints , 1997, KDD.

[40]  Tomasz Imielinski,et al.  Mining association rules between sets of items in large databases , 1993, SIGMOD Conference.

[41]  Lori A. Clarke,et al.  A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance , 1990, IEEE Trans. Software Eng..

[42]  Manishankar Mondal,et al.  Detecting Evolutionary Coupling Using Transitive Association Rules , 2018 .

[43]  L. Moonen,et al.  The Case for Adaptive Change Recommendation , 2018 .

[44]  Abdulkareem Alali,et al.  AN EMPIRICAL CHARACTERIZATION OF COMMITS IN SOFTWARE REPOSITORIES , 2008 .

[45]  J. Pei,et al.  Mining Frequent Patterns without Candidate Generation: A Frequent-Pattern Tree Approach , 2006, Sixth IEEE International Conference on Data Mining - Workshops (ICDMW'06).

[46]  Ronen Feldman,et al.  The Data Mining and Knowledge Discovery Handbook , 2005 .

[47]  Sergio A. Alvarez,et al.  Efficient Adaptive-Support Association Rule Mining for Recommender Systems , 2004, Data Mining and Knowledge Discovery.

[48]  Audris Mockus,et al.  Does Code Decay? Assessing the Evidence from Change Management Data , 2001, IEEE Trans. Software Eng..

[49]  R. Agarwal Fast Algorithms for Mining Association Rules , 1994, VLDB 1994.