An Empirical Validation of the Complexity of Code Changes and Bugs in Predicting the Release Time of Open Source Software

With the increasing popularity of open source software, the changes in source code are inevitable. These changes in code are due to feature enhancement, new feature introduction and bug repair or fixed. It is important to note that these changes can be quantified by using entropy based measures. The pattern of bug fixing scenario with complexity of code change is responsible for the next release as these changes will cover the number of requirements and fixes. In this paper, we are proposing a method to predict the next release problem based on the complexity of code change and bugs fixed. We applied multiple linear regression to predict the time of the next release of the product and measured the performance using different residual statistics, goodness of fit curve and R2. We observed from the results of multiple linear regression that the predicted value of release time is fitting well with the observed value of number of months for the next release.

[1]  Guy Lebanon,et al.  Linear Regression , 2010 .

[2]  Günther Ruhe,et al.  Optimized Resource Allocation for Software Release Planning , 2009, IEEE Transactions on Software Engineering.

[3]  Michele Lanza,et al.  Evaluating defect prediction approaches: a benchmark and an extensive comparison , 2011, Empirical Software Engineering.

[4]  Ahmed E. Hassan,et al.  Predicting faults using the complexity of code changes , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[5]  He Jiang,et al.  Solving the Large Scale Next Release Problem with a Backbone-Based Multilevel Algorithm , 2012, IEEE Transactions on Software Engineering.

[6]  Eric A. von Hippel,et al.  How Open Source Software Works: 'Free' User-to-User Assistance? , 2000 .

[7]  James M. Bieman,et al.  The FreeBSD project: a replication case study of open source development , 2005, IEEE Transactions on Software Engineering.

[8]  Giampaolo Garzarelli,et al.  Open source software and the economics of organization , 2003 .

[9]  Björn Regnell,et al.  An experiment on linguistic tool support for consolidation of requirements from multiple sources in market-driven product development , 2006, Empirical Software Engineering.

[10]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[11]  Walt Scacchi,et al.  Free and open source development practices in the game community , 2004, IEEE Software.

[12]  Chiara Francalanci,et al.  The Economics of Open Source Software: An Empirical Analysis of Maintenance Costs , 2007, 2007 IEEE International Conference on Software Maintenance.

[13]  Jifeng Xuan,et al.  Approximate backbone based multilevel algorithm for next release problem , 2010, GECCO '10.

[14]  P. K. Kapur,et al.  SOFTWARE RELEASE TIME BASED ON DIFFERENT MULTI-ATTRIBUTE UTILITY FUNCTIONS , 2013 .

[15]  Victor J. Rayward-Smith,et al.  The next release problem , 2001, Inf. Softw. Technol..

[16]  Jingyuan Zhang,et al.  A Hybrid ACO algorithm for the Next Release Problem , 2010, The 2nd International Conference on Software Engineering and Data Mining.

[17]  Günther Ruhe,et al.  When-to-release decisions for features with time-dependent value functions , 2010, Requirements Engineering.

[18]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

[19]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[20]  Giancarlo Succi,et al.  Open Source Development, Communities and Quality, IFIP 20th World Computer Congress, Working Group 2.3 on Open Source Software, OSS 2008, September 7-10, 2008, Milano, Italy , 2008, OSS.

[21]  Eric S. Raymond,et al.  Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary , 2001 .

[22]  Günther Ruhe,et al.  The art and science of software release planning , 2005, IEEE Software.

[23]  Evan Leibovitch The Business Case for Linux , 1999, IEEE Softw..

[24]  Bo Yang,et al.  A Study of Uncertainty in Software Cost and Its Impact on Optimal Software Release Time , 2008, IEEE Transactions on Software Engineering.

[25]  Mark Harman,et al.  Search Based Approaches to Component Selection and Prioritization for the Next Release Problem , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[26]  K. K. Chaturvedi,et al.  Entropy based bug prediction using support vector regression , 2012, 2012 12th International Conference on Intelligent Systems Design and Applications (ISDA).

[27]  Malik Beshir Malik,et al.  Applied Linear Regression , 2005, Technometrics.

[28]  Michele Lanza,et al.  An extensive comparison of bug prediction approaches , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[29]  Chiara Francalanci,et al.  Empirical Analysis of the Bug Fixing Process in Open Source Projects , 2008, OSS.

[30]  Steven Weber,et al.  The Success of Open Source , 2004 .

[31]  K. K. Chaturvedi,et al.  Improving the Quality of Software by Quantifying the Code Change Metric and Predicting the Bugs , 2013, ICCSA.

[32]  Walt Scacchi,et al.  Free/Open Source Software Development Practices in the Computer Game Community , 2003 .

[33]  Kevin Crowston,et al.  Free/Libre open-source software development: What we know and what we do not know , 2012, CSUR.

[34]  David G. Glance Release criteria for the Linux kernel , 2004, First Monday.

[35]  Björn Lundell,et al.  Open source in Swedish companies: where are we? , 2010, Inf. Syst. J..