Assessing Software Product Maintainability Based on Class-Level Structural Measures

A number of structural measures have been suggested to support the assessment and prediction of software quality attributes. The aim of our study is to investigate how class-level measures of structural properties can be used to assess the maintainability of a software product as a whole. We survey, structure and discuss current practices on this topic, and apply alternative strategies on four functionally equivalent systems that were constructed as part of a multi-case study. In the absence of historical data needed to build statistically based prediction models, we apply elements of judgment in the assessment. We show how triangulation of alternative strategies as well as sensitivity analysis may increase the confidence in assessments that contain elements of judgment. This paper contributes to more systematic practices in the application of structural measures. Further research is needed to evaluate and improve the accuracy and precision of judgment-based strategies.

[1]  James M. Bieman,et al.  Cohesion and reuse in an object-oriented system , 1995, SSR '95.

[2]  Jyrki Kontio,et al.  A case study in applying a systematic method for COTS selection , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[3]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[4]  Lionel C. Briand,et al.  Empirical Studies of Quality Models in Object-Oriented Systems , 2002, Adv. Comput..

[5]  Tore Dybå,et al.  Evidence-Based Software Engineering for Practitioners , 2005, IEEE Softw..

[6]  David P. Tegarden,et al.  A software complexity model of object-oriented systems , 1995, Decis. Support Syst..

[7]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[8]  Michael Saboe The use of software quality metrics in the materiel release process experience report , 2001, Proceedings Second Asia-Pacific Conference on Quality Software.

[9]  M. Schroeder A practical guide to object-oriented metrics , 1999 .

[10]  Judith Barnard,et al.  A new reusability metric for object-oriented software , 1998, Software Quality Journal.

[11]  Richard C. Gronback Software Remodeling: Improving Design and Implementation Quality , 2003 .

[12]  Maurice H. Halstead,et al.  Elements of software science (Operating and programming systems series) , 1977 .

[13]  Paul W. Oman,et al.  Development and Application of an Automated Source Code Maintainability Index , 1997, J. Softw. Maintenance Res. Pract..

[14]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[15]  Robert C. Sharble,et al.  The object-oriented brewery: a comparison of two object-oriented development methods , 1993, SOEN.

[16]  Jean Mayrand,et al.  System acquisition based on software product assessment , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[17]  Martin Hitz,et al.  Measuring coupling and cohesion in object-oriented systems , 1995 .

[18]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[19]  Premkumar T. Devanbu,et al.  An Investigation into Coupling Measures for C++ , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[20]  I. Jolliffe Principal Component Analysis , 2002 .

[21]  Ramanath Subramanyam,et al.  Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects , 2003, IEEE Trans. Software Eng..

[22]  Barry W. Boehm,et al.  Identifying Quality-Requirement Conflicts , 1996, IEEE Softw..

[23]  Curtis R. Cook,et al.  Use of Factor Analysis to Develop OOP Software Complexity Metrics , 1994 .

[24]  Richard H. Carver,et al.  An Evaluation of the MOOD Set of Object-Oriented Software Metrics , 1998, IEEE Trans. Software Eng..

[25]  Thomas Drake,et al.  Measuring Software Quality: A Case Study , 1996, Computer.

[26]  Tibor Gyimóthy,et al.  Extracting facts from open source software , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[27]  Lionel C. Briand,et al.  The impact of design properties on development cost in object-oriented systems , 2001, Proceedings Seventh International Software Metrics Symposium.

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

[29]  Tore Dybå,et al.  Evidence-based software engineering , 2004, Proceedings. 26th International Conference on Software Engineering.

[30]  Paul H. Lewis,et al.  Comparing programming paradigms: an evaluation of functional and object-oriented programs , 1996, Softw. Eng. J..

[31]  Lionel C. Briand,et al.  Integrating scenario-based and measurement-based software product assessment , 2001, J. Syst. Softw..

[32]  Ioannis Stamelos,et al.  A new method to evaluate software artifacts against predefined profiles , 2002, SEKE '02.

[33]  Paul W. Oman,et al.  Construction and testing of polynomials predicting software maintainability , 1994, J. Syst. Softw..

[34]  Ioannis Stamelos,et al.  Code quality analysis in open source software development , 2002, Inf. Syst. J..

[35]  C. Kemerer,et al.  OO Metrics in Practice , 2005, IEEE Softw..