The Impact of Version Control Operations on the Quality Change of the Source Code

The number of software systems under development and maintenance is rapidly increasing. The quality of a system’s source code tends to decrease during its lifetime which is a problem because maintaining low quality code consumes a big portion of the available efforts. In this research we investigated one aspect of code change, the version control commit operations (add, update, delete). We studied the impact of these operations on the maintainability of the code. We calculated the ISO/IEC 9126 quality attributes for thousands of revisions of an industrial and three open-source software systems. We also collected the cardinality of each version control operation type for every investigated revision. Based on these data, we identified that operation Add has a rather positive, while operation Update has a rather negative effect on the quality. On the other hand, for operation Delete we could not find a clear connection to quality change.

[1]  Andy Zaidman,et al.  Evaluating the Lifespan of Code Smells using Software Repository Mining , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[2]  Rahul Chaudhary,et al.  Estimation of software maintainability using fuzzy logic technique , 2014, 2014 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT).

[3]  Stuart Anderson,et al.  Requirements Evolution from Process to Product Oriented Management , 2001, PROFES.

[4]  Walter F. Tichy,et al.  Proceedings 25th International Conference on Software Engineering , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[5]  Tibor Gyimóthy,et al.  A probabilistic software quality model , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[6]  Diomidis Spinellis,et al.  Refactoring--Does It Improve Software Quality? , 2007, Fifth International Workshop on Software Quality (WoSQ'07: ICSE Workshops 2007).

[7]  Harald C. Gall,et al.  Do Code and Comments Co-Evolve? On the Relation between Source Code and Comment Changes , 2007, 14th Working Conference on Reverse Engineering (WCRE 2007).

[8]  Harald C. Gall,et al.  Mining Software Evolution to Predict Refactoring , 2007, ESEM 2007.

[9]  Abraham Bernstein,et al.  When process data quality affects the number of bugs: Correlations in software engineering datasets , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[10]  Tibor Gyimóthy,et al.  A cost model based on software maintainability , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[11]  Christian Neumann,et al.  Exploring the Effects of Process Characteristics on Products Quality in Open Source Software Development , 2008, J. Database Manag..

[12]  Daniel M. Germán,et al.  What do large commits tell us?: a taxonomical study of large commits , 2008, MSR '08.

[13]  Audris Mockus,et al.  Using Version Control Data to Evaluate the Impact of Software Tools: A Case Study of the Version Editor , 2002, IEEE Trans. Software Eng..

[14]  Witold Pedrycz,et al.  A Model to Identify Refactoring Effort during Maintenance by Mining Source Code Repositories , 2008, PROFES.

[15]  Audris Mockus,et al.  Understanding and predicting effort in software projects , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[16]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

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

[18]  Arpad Beszedes,et al.  Adjusting effort estimation using micro-productivity profiles , 2011 .

[19]  Sandip C. Patel,et al.  A metrics-based software maintenance effort model , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[20]  Eleni Stroulia,et al.  Digging the Development Dust for Refactorings , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[21]  C. Borror Nonparametric Statistical Methods, 2nd, Ed. , 2001 .