Evaluating Human-Assessed Software Maintainability Metrics

Being highly maintainable is the key to reduce approximately 75% of most systems’ life cycle costs. Software maintainability is defined as the ease with which a software system or a component can be modified, to correct faults, improve performance or other attributes, or adapt to a changed environment. There exist metrics that can help developers measure and analyze the maintainability level of a project objectively. Most of these metrics involve automated analysis of the code. In this paper, we evaluate the software maintainability versus a set of human-evaluation factors used in the Constructive Cost Model II (COCOMO II) Software Understandability (SU) metric, through conducting a controlled experiment on humans assessing SU and performing change-request modifications on open source software (OSS) projects.

[1]  A. Yamashita,et al.  Exploring the impact of inter-smell relations on software maintainability: An empirical study , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[2]  Stephen R. Schach,et al.  Measuring the maintainability of open-source software , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[3]  Yuming Zhou,et al.  Predicting the maintainability of open source software using design metrics , 2008, Wuhan University Journal of Natural Sciences.

[4]  Aiko Fallas Yamashita,et al.  Do code smells reflect important maintainability aspects? , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[5]  Jihad Qaddour,et al.  Design metrics for web application maintainability measurement , 2008, 2008 IEEE/ACS International Conference on Computer Systems and Applications.

[6]  Barry W. Boehm,et al.  Incremental development productivity decline , 2013, PROMISE.

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

[8]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[9]  Kurt D. Welker,et al.  Software Maintainability Index Revisited , 2001 .

[10]  Paul W. Oman,et al.  Using metrics to evaluate software system maintainability , 1994, Computer.

[11]  Wei Zhang,et al.  SMPLearner: learning to predict software maintainability , 2014, Automated Software Engineering.

[12]  Barry W. Boehm,et al.  Quantitative evaluation of software quality , 1976, ICSE '76.

[13]  Barry Boehm,et al.  The ROI of systems engineering: Some quantitative results for software-intensive systems , 2008 .

[14]  Ioannis Stamelos,et al.  The SQO-OSS Quality Model: Measurement Based Open Source Software Evaluation , 2008, OSS.

[15]  R. W. Selby,et al.  Empirically analyzing software Reuse in a production environment , 1988 .

[16]  P. Oman,et al.  Metrics for assessing a software system's maintainability , 1992, Proceedings Conference on Software Maintenance 1992.

[17]  Aiko Fallas Yamashita,et al.  To what extent can maintenance problems be predicted by code smell detection? - An empirical study , 2013, Inf. Softw. Technol..

[18]  Barry Boehm,et al.  The Key Roles of Maintainability in an Ontology for System Qualities , 2016 .