Assessing Software System Maintainability using Structural Measures and Expert Assessments

Software maintenance is often expensive; hence, strategies for assessing the maintainability of complete software systems are important. Nevertheless, a software client usually has few means of assessing the maintainability of a software system as part of the acquisition process. Assessing the maintainability of complete systems is difficult due to the influence of many factors, such as the people, tasks and tools, in addition to the code. Furthermore, most research on maintainability focuses on individual classes of individual systems. This paper describes an empirical study in which the maintainability of four functionally equivalent systems developed in Java was assessed using both structural measures and expert assessments. The results suggest that such a combination may be useful. Although the assessment based on structural measures mostly corresponded with the expert assessments, there were several examples of potential problems regarding maintainability that were not captured by the structural measures.

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

[2]  Dag I. K. Sjøberg,et al.  Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software , 2004, IEEE Transactions on Software Engineering.

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

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

[5]  B. Anda,et al.  A Multiple-Case Study of Effort Estimation based on Use Case Points , 2005 .

[6]  Tibor Gyimóthy,et al.  Towards Portable Metrics-based Models for Software Maintenance Problems , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[7]  Bente Anda,et al.  A multiple-case study of software effort estimation based on use case points , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[8]  Magne Jørgensen,et al.  Forecasting of software development work effort: Evidence on expert judgement and formal models , 2007 .

[9]  Walter F. Tichy,et al.  A Controlled Experiment Comparing the Maintainability of Programs Designed with and without Design Patterns—A Replication in a Real Programming Environment , 2004, Empirical Software Engineering.

[10]  M. J. Shepperd,et al.  System architecture metrics for controlling software maintainability , 1990 .

[11]  Rachel Harrison,et al.  An Evaluation of the MOOD Set of , 1998 .

[12]  Bente Anda,et al.  Assessing Software Product Maintainability Based on Class-Level Structural Measures , 2006, PROFES.

[13]  M. Mäntylä,et al.  Subjective evaluation of software evolvability using code smells: An empirical study , 2006, Empirical Software Engineering.

[14]  Steve Webster,et al.  An empirical study into the use of measurement to support OO design evaluation , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

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