Evolutionary coupling measurement: Making sense of the current chaos

Objective: The aim of this research is to evaluate the measurement of evolutionary coupling (EC) in software artefacts from a measurement theory perspective. Background: Evolutionary coupling (EC) can be defined as the implicit relationship between two or more software artefacts which are frequently changed together. Previous studies on EC show that EC measures which are based on software change history information play an important role in measuring software quality and predicting defects. The many previous EC measures published are disparate and no comprehensive evaluation of the current EC measures exists. Therefore it is hard for researchers and practitioners to compare, choose and use EC measures. Methods: We define 19 evaluation criteria based on the principles of measurement theory and metrology. We evaluate previously published EC measures by applying these criteria. Results: Our evaluation results revealed that current EC measurement has the particular weaknesses around establishing sound empirical relation systems, defining detailed and standardised measurement procedures as well as scale type and mathematical validation. Conclusions: We provide information about the quality of existing EC measures and measurement methods. The results suggest that there is more work to be done to put EC measurement on a firm footing that will enable the reliable measurement of EC and the accurate replication of EC measurement.

[1]  Ahmed E. Hassan,et al.  Identifying crosscutting concerns using historical code changes , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

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

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

[4]  Jonathan I. Maletic,et al.  Combining Single-Version and Evolutionary Dependencies for Software-Change Prediction , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[5]  Dirk Beyer,et al.  Animated Visualization of Software History using Evolution Storyboards , 2006, 2006 13th Working Conference on Reverse Engineering.

[6]  Audris Mockus,et al.  Software Dependencies, Work Dependencies, and Their Impact on Failures , 2009, IEEE Transactions on Software Engineering.

[7]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[8]  Barbara Russo,et al.  Co-evolution of logical couplings and commits for defect estimation , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

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

[10]  Yu Zhou,et al.  A Bayesian Network Based Approach for Change Coupling Prediction , 2008, 2008 15th Working Conference on Reverse Engineering.

[11]  Thomas Zimmermann,et al.  Mining Aspects from Version History , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

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

[13]  Morgan Ericsson,et al.  A Study of the Effect of Data Normalization on Software and Information Quality Assessment , 2013, 2013 20th Asia-Pacific Software Engineering Conference (APSEC).

[14]  Manishankar Mondal,et al.  Improving the detection accuracy of evolutionary coupling by measuring change correspondence , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[15]  Werner Kurschl,et al.  Improving Change Impact Analysis with a Tight Integrated Process and Tool , 2010, 2010 Seventh International Conference on Information Technology: New Generations.

[16]  Andreas Zeller,et al.  Mining version histories to guide software changes , 2005, Proceedings. 26th International Conference on Software Engineering.

[17]  Bora Caglayan,et al.  Değişiklik Bağlaşımı ve Yazılım Hataları İlişkisinin İncelenmesi , 2014, UYMS.

[18]  Victor R. Basili,et al.  A Methodology for Collecting Valid Software Engineering Data , 1984, IEEE Transactions on Software Engineering.

[19]  Alfred V. Aho,et al.  Do Crosscutting Concerns Cause Defects? , 2008, IEEE Transactions on Software Engineering.

[20]  Manoel G. Mendonça,et al.  Mining Software Change History in an Industrial Environment , 2009, 2009 XXIII Brazilian Symposium on Software Engineering.

[21]  Jonathan I. Maletic,et al.  A preliminary investigation of using age and distance measures in the detection of evolutionary couplings , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[22]  Ali Idri,et al.  Chidamber and Kemerer Object-Oriented Measures: Analysis of their Design from the Metrology Perspective , 2014 .

[23]  Ken-ichi Matsumoto,et al.  Using Co-change Histories to Improve Bug Localization Performance , 2013, 2013 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing.

[24]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[25]  Lech Madeyski,et al.  Which process metrics can significantly improve defect prediction models? An empirical study , 2014, Software Quality Journal.

[26]  Bora Caglayan,et al.  The effect of evolutionary coupling on software defects: an industrial case study on a legacy system , 2014, ESEM '14.

[27]  Dirk Beyer,et al.  Mining Co-Change Clusters from Version Repositories , 2005 .

[28]  Michele Lanza,et al.  On the Relationship Between Change Coupling and Software Defects , 2009, 2009 16th Working Conference on Reverse Engineering.

[29]  Horst Zuse,et al.  A Framework of Software Measurement , 1998 .

[30]  Ehsan Kouroshfar,et al.  Studying the effect of co-change dispersion on software quality , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[31]  Abraham Bernstein,et al.  Predicting defect densities in source code files with decision tree learners , 2006, MSR '06.

[32]  Barbara Kitchenham,et al.  What's up with software metrics? - A preliminary mapping study , 2010, J. Syst. Softw..

[33]  Harald C. Gall,et al.  Visualizing multiple evolution metrics , 2005, SoftVis '05.

[34]  Barbara A. Kitchenham,et al.  Validating software measures , 1991, Softw. Test. Verification Reliab..

[35]  Alain Abran,et al.  Software Metrics and Software Metrology , 2010 .

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