Software versioning quality parameters: Automated assessment tools based on the parameters

Version Control System (VCS) is used by software developers during a software development project with the purpose for maintaining versions and collaborative work. It is a part of configuration management. Developers work together using the same environment. Though all developers must follow the same best practices, each developer may work individually with different practices due to different knowledge and experience of using VCS. Many best practices are available, but they are different. In this paper, we define quality parameters based on quality factors. The quality factors and associated metrics are extracted from the log file of VCS. These parameters bear out good software versioning activities. To prove the concept, we build a tool for automatically assessing the quality of versioning activities of a developer, based on the log file of a VCS. The tool has been tested and used for assessing the quality of software versioning of two open source projects. As the result, developers versioning activities can be analysed.

[1]  Kazuhiro Kuwabara,et al.  Use of Metadata for Access Control and Version Management in RDF Database , 2011, KES.

[2]  Jonathan Sillito,et al.  Why are software projects moving from centralized to decentralized version control systems? , 2009, 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering.

[3]  Rachel Harrison,et al.  Dynamic and static views of software evolution , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[4]  Diomidis Spinellis Version Control Systems , 2005, IEEE Softw..

[5]  Bryan O'Sullivan,et al.  Mercurial: The Definitive Guide , 2009 .

[6]  Diomidis Spinellis Version Control, Part I , 2005, IEEE Softw..

[7]  Romain Robbes,et al.  Versioning systems for evolution research , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[8]  Chris F. Kemerer,et al.  An Empirical Approach to Studying Software Evolution , 1999, IEEE Trans. Software Eng..

[9]  Tilei Gao,et al.  A Process Model of Software Evolution Requirement Based on Feedback , 2011, 2011 International Conference of Information Technology, Computer Engineering and Management Sciences.

[10]  Stéphane Ducasse,et al.  How developers drive software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[11]  Stefan Otte,et al.  Version Control Systems , 2009 .

[12]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[13]  Arun Sundararajan,et al.  Evaluating Pricing Strategy Using Ecommerce Data: Evidence and Estimation Challenges , 2006, math/0609170.

[14]  Ayse Basar Bener,et al.  A defect prediction method for software versioning , 2008, Software Quality Journal.

[15]  Inggriani Liem,et al.  Scalable Autograder and LMS Integration , 2013 .

[16]  Michael W. Godfrey,et al.  The past, present, and future of software evolution , 2008, 2008 Frontiers of Software Maintenance.

[17]  Rudolf Ferenc,et al.  Using Version Control History to Follow the Changes of Source Code Elements , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[18]  Hemant K. Bhargava,et al.  Research Note - When Is Versioning Optimal for Information Goods? , 2008, Manag. Sci..

[19]  YingHui Wang,et al.  Lifecycle based study framework of software evolution , 2010, 2010 International Conference on Computer Application and System Modeling (ICCASM 2010).

[20]  Stas Negara,et al.  Is It Dangerous to Use Version Control Histories to Study Source Code Evolution? , 2012, ECOOP.