Maintenance Effort Estimation for Open Source Software: A Systematic Literature Review

Open Source Software (OSS) is distributed and maintained collaboratively by developers all over the world. However, frequent personnel turnover and lack of organizational management makes it difficult to capture the actual development effort. Various OSS maintenance effort estimation approaches have been developed to provide a way to understand and estimate development effort. The goal of this study is to identify the current state of art of the existing maintenance effort estimation approaches for OSS. We performed a systematic literature review on the relevant studies published in the period between 2000-2015 by both automatic and manual searches from different sources. We derived a set of keywords from the research questions and established selection criteria to carefully choose the papers to evaluate. 29 out of 3,312 papers were selected based on a well designed selection process. Our results show that the commonly used OSS maintenance effort estimation methods are actual effort estimation and maintenance activity time prediction, the most commonly used metrics and factors for actual effort estimation are source code measurements and people related metrics, the most commonly mentioned activity for maintenance activity time prediction is bug fixing. Accuracy measures and cross validation is used for validating the estimation models. Based on the above findings, we identified the issues in evaluation methods for actual maintenance effort estimations and the needs for quantitative OSS maintenance effort inference from size-related metrics. Meanwhile, we highlighted individual contribution and performance measurement as a novel and promising research area.

[1]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[2]  Hakam W. Alomari A SLICING-BASED EFFORT ESTIMATION APPROACH FOR OPEN-SOURCE SOFTWARE PROJECTS , 2016 .

[3]  Andreas Zeller,et al.  How Long Will It Take to Fix This Bug? , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[4]  Lucas D. Panjer Predicting Eclipse Bug Lifetimes , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[5]  Stefan Koch,et al.  Effort, co‐operation and co‐ordination in an open source software project: GNOME , 2002, Inf. Syst. J..

[6]  Ying Zou,et al.  Studying the fix-time for bugs in large open source projects , 2011, Promise '11.

[7]  Ahmed E. Hassan,et al.  Studying the needed effort for identifying duplicate issues , 2015, Empirical Software Engineering.

[8]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007, IEEE Transactions on Software Engineering.

[9]  Barry Boehm,et al.  Software Cost Estimation with Cocomo II with Cdrom , 2000 .

[10]  Mladen A. Vouk,et al.  On predicting the time taken to correct bug reports in open source projects , 2009, 2009 IEEE International Conference on Software Maintenance.

[11]  Claes Wohlin,et al.  Experiences from using snowballing and database searches in systematic literature studies , 2015, EASE.

[12]  Chiara Francalanci,et al.  The Economics of Community Open Source Software Projects: An Empirical Analysis of Maintenance Effort , 2010, Adv. Softw. Eng..

[13]  Hui Zeng,et al.  Estimation of software defects fix effort using neural networks , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[14]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[15]  E. Guest Effort , 1924 .

[16]  Daniela Cruzes,et al.  Empirical validation of human factors in predicting issue lead time in open source projects , 2011, Promise '11.

[17]  Daniel Izquierdo-Cortazar,et al.  Effort estimation of FLOSS projects: a study of the Linux kernel , 2013, Empirical Software Engineering.

[18]  Hajimu Iida,et al.  Micro process analysis of maintenance effort: an open source software case study using metrics based on program slicing , 2013, J. Softw. Evol. Process..

[19]  Yasutaka Kamei,et al.  Is lines of code a good measure of effort in effort-aware models? , 2013, Inf. Softw. Technol..

[20]  Eirini Kalliamvakou,et al.  Mediterranean Conference on Information Systems ( MCIS ) 2009 Measuring Developer Contribution From Software Repository Data , 2017 .

[21]  Ashish Sureka,et al.  Mining Peer Code Review System for Computing Effort and Contribution Metrics for Patch Reviewers , 2014, 2014 IEEE 4th Workshop on Mining Unstructured Data.

[22]  Harald C. Gall,et al.  Predicting the fix time of bugs , 2010, RSSE '10.

[23]  Kai Petersen,et al.  Guidelines for conducting systematic mapping studies in software engineering: An update , 2015, Inf. Softw. Technol..

[24]  Franz Wotawa,et al.  Program File Bug Fix Effort Estimation Using Machine Learning Methods for OSS , 2009, SEKE.

[25]  Arpit Gupta,et al.  Samiksha: mining issue tracking system for contribution and performance assessment , 2013, ISEC.

[26]  Shrish Verma,et al.  Predictive data mining model for software bug estimation using average weighted similarity , 2010, 2010 IEEE 2nd International Advance Computing Conference (IACC).

[27]  Stefan Koch,et al.  Effort modeling and programmer participation in open source software projects , 2008, Inf. Econ. Policy.

[28]  Jesús M. González-Barahona,et al.  Estimating development effort in Free/Open source software projects by mining software repositories: a case study of OpenStack , 2014, MSR 2014.

[29]  Ladan Tahvildari,et al.  An effort prediction framework for software defect correction , 2010, Inf. Softw. Technol..

[30]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[31]  Vu Nguyen,et al.  Improved size and effort estimation models for software maintenance , 2010, 2010 IEEE International Conference on Software Maintenance.

[32]  Ken-ichi Matsumoto,et al.  The impact of bug management patterns on bug fixing: A case study of Eclipse projects , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[33]  Gregorio Robles,et al.  Effort estimation by characterizing developer activity , 2006, EDSER '06.

[34]  Mehwish Riaz,et al.  A systematic review of software maintainability prediction and metrics , 2009, ESEM 2009.

[35]  Jai Asundi,et al.  The need for effort estimation models for open source software projects , 2005, ACM SIGSOFT Softw. Eng. Notes.

[36]  Christoph Treude,et al.  A comparative exploration of FreeBSD bug lifetimes , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[37]  Liguo Yu Indirectly predicting the maintenance effort of open-source software , 2006, J. Softw. Maintenance Res. Pract..

[38]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007 .

[39]  Meera Sharma,et al.  The Way Ahead for Bug-fix time Prediction , 2015, QuASoQ/WAWSE/CMCE@APSEC.

[40]  M. Kholief,et al.  Bug fix-time prediction model using naïve Bayes classifier , 2012, 2012 22nd International Conference on Computer Theory and Applications (ICCTA).

[41]  Michele Marchesi,et al.  On the influence of maintenance activity types on the issue resolution time , 2014, PROMISE.