A cost model based on software maintainability

In this paper we present a maintainability based model for estimating the costs of developing source code in its evolution phase. Our model adopts the concept of entropy in thermodynamics, which is used to measure the disorder of a system. In our model, we use maintainability for measuring disorder (i.e. entropy) of the source code of a software system. We evaluated our model on three proprietary and two open source real world software systems implemented in Java, and found that the maintainability of these evolving software is decreasing over time. Furthermore, maintainability and development costs are in exponential relationship with each other. We also found that our model is able to predict future development costs with high accuracy in these systems.

[1]  Jongmoon Baik,et al.  Empirical study on enhancing the accuracy of software cost estimation model for defense software development project applications , 2010, 2010 The 12th International Conference on Advanced Communication Technology (ICACT).

[2]  Martin J. Shepperd,et al.  Software project economics: a roadmap , 2007, Future of Software Engineering (FOSE '07).

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

[4]  Paolo Nesi,et al.  Effort estimation and prediction of object-oriented systems , 1998, J. Syst. Softw..

[5]  Alexander K. Petrenko,et al.  Certification of Technical Quality of Software Products , 2008 .

[6]  Adam Trendowicz,et al.  Handling Estimation Uncertainty with Bootstrapping: Empirical Evaluation in the Context of Hybrid Prediction Methods , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[7]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[8]  Reidar Conradi,et al.  Software Entropy in Agile Product Evolution , 2010, 2010 43rd Hawaii International Conference on System Sciences.

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

[10]  M. van Genuchten,et al.  Calibrating a software cost estimation model: why and how , 1987 .

[11]  Ning Nan,et al.  Impact of Budget and Schedule Pressure on Software Development Cycle Time and Effort , 2009, IEEE Transactions on Software Engineering.

[12]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[13]  Chris F. Kemerer,et al.  An empirical validation of software cost estimation models , 1987, CACM.

[14]  Carolyn Mair,et al.  The consistency of empirical comparisons of regression and analogy-based software project cost prediction , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[15]  Manish Agrawal,et al.  Software Effort, Quality, and Cycle Time: A Study of CMM Level 5 Projects , 2007, IEEE Transactions on Software Engineering.

[16]  A. Jefferson Offutt,et al.  Algorithmic analysis of the impacts of changes to object-oriented software , 2000, Proceedings. 34th International Conference on Technology of Object-Oriented Languages and Systems - TOOLS 34.

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

[18]  Victor R. Basili,et al.  A Validation of Object-Oriented Design Metrics as Quality Indicators , 1996, IEEE Trans. Software Eng..

[19]  Elmar Jürgens,et al.  Software quality models: Purposes, usage scenarios and requirements , 2009, 2009 ICSE Workshop on Software Quality.

[20]  Yukio Miyazaki,et al.  COCOMO evaluation and tailoring , 1985, ICSE '85.

[21]  BoehmBarry,et al.  Software development cost estimation approaches A survey , 2000 .

[22]  Alessandro Bianchi,et al.  Evaluating software degradation through entropy , 2001, Proceedings Seventh International Software Metrics Symposium.

[23]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[24]  Parag C. Pendharkar,et al.  A Probabilistic Model for Predicting Software Development Effort , 2003, ICCSA.

[25]  Jean-Francois Girard,et al.  An Activity-Based Quality Model for Maintainability , 2007, 2007 IEEE International Conference on Software Maintenance.

[26]  Elli Georgiadou,et al.  GEQUAMO—A Generic, Multilayered, Customisable, Software Quality Model , 2003, Software Quality Journal.

[27]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[28]  Barry W. Boehm,et al.  Software Development Effort Estimation: Formal Models or Expert Judgment? , 2009, IEEE Software.

[29]  Lionel C. Briand,et al.  A replicated assessment and comparison of common software cost modeling techniques , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[30]  Sanjay Kumar Dubey,et al.  Assessment of maintainability metrics for object-oriented software system , 2011, SOEN.

[31]  John E. Gaffney,et al.  Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation , 1983, IEEE Transactions on Software Engineering.

[32]  Chiara Francalanci,et al.  An Empirical Study on the Relationship among Software Design Quality , Development Effort , and Governance in Open Source Projects , 2008 .

[33]  Gerardo Canfora,et al.  An Exploratory Study of Factors Influencing Change Entropy , 2010, 2010 IEEE 18th International Conference on Program Comprehension.

[34]  Sanjay Kumar Dubey,et al.  Usability Estimation of Software System by using Object-Oriented Metrics , 2011, SOEN.

[35]  Ewan D. Tempero,et al.  A systematic review of software maintainability prediction and metrics , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[36]  D. M. Allen Mean Square Error of Prediction as a Criterion for Selecting Variables , 1971 .

[37]  Douglas Fisher,et al.  Machine Learning Approaches to Estimating Software Development Effort , 1995, IEEE Trans. Software Eng..

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

[39]  Lukasz Radlinski,et al.  ON PREDICTING SOFTWARE DEVELOPMENT EFFORT USING MACHINE LEARNING TECHNIQUES AND LOCAL DATA , 2010 .

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

[41]  Lionel C. Briand,et al.  An assessment and comparison of common software cost estimation modeling techniques , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[42]  Barry W. Boehm,et al.  Cost models for future software life cycle processes: COCOMO 2.0 , 1995, Ann. Softw. Eng..