Evaluating software degradation through entropy

Software systems are affected by degradation as an effect of continuous change. Since late interventions are too much onerous, software degradation should be detected early in the software lifetime. Software degradation is currently detected by using many different complexity metrics, but their use to monitor maintenance activities is costly. These metrics are difficult to interpret, because each emphasizes a particular aspect of degradation and the aspects shown by different metrics are not orthogonal. The purpose of our research is to measure the entropy of a software system to assess its degradation. In this paper, we partially validate the entropy class of metrics by a case study, replicated on successive releases of a set of software systems. The validity is shown through direct measures of software quality, such as the number of detected defects, the maintenance effort and the number of slipped defects.

[1]  Glenford J. Myers,et al.  Structured Design , 1974, IBM Syst. J..

[2]  Victor R. Basili,et al.  Iterative enhancement: A practical technique for software development , 1975, IEEE Transactions on Software Engineering.

[3]  Meir M. Lehman Programs, life cycles, and laws of software evolution , 1980 .

[4]  Dennis G. Kafura,et al.  The Use of Software Complexity Metrics in Software Maintenance , 1987, IEEE Transactions on Software Engineering.

[5]  H. Dieter Rombach,et al.  A Controlled Expeniment on the Impact of Software Structure on Maintainability , 1987, IEEE Transactions on Software Engineering.

[6]  M. Shepperd,et al.  A critique of cyclomatic complexity as a software metric , 1988, Softw. Eng. J..

[7]  Victor R. Basili,et al.  Viewing maintenance as reuse-oriented software development , 1990, IEEE Software.

[8]  Pankaj Jalote,et al.  An Integrated Approach to Software Engineering , 1991, Springer Compass International.

[9]  Norman F. Schneidewind,et al.  Methodology For Validating Software Metrics , 1992, IEEE Trans. Software Eng..

[10]  Shawn A. Bohner,et al.  Impact analysis-Towards a framework for comparison , 1993, 1993 Conference on Software Maintenance.

[11]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[12]  Giuseppe Visaggio,et al.  Decision-driven Maintenance , 1995, J. Softw. Maintenance Res. Pract..

[13]  Shari Lawrence Pfleeger,et al.  Towards a Framework for Software Measurement Validation , 1995, IEEE Trans. Software Eng..

[14]  Pankaj Jalote,et al.  An Integrated Approach to Software Engineering , 1997, Undergraduate Texts in Computer Science.

[15]  Giuseppe Visaggio Structural information as a quality metric in software systems organization , 1997, 1997 Proceedings International Conference on Software Maintenance.

[16]  Harry M. Sneed Measuring the performance of a software maintenance department , 1997, Proceedings. First Euromicro Conference on Software Maintenance and Reengineering.

[17]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[18]  Giuseppe Visaggio,et al.  Assessing the maintenance process through replicated, controlled experiments , 1999, J. Syst. Softw..

[19]  Giuseppe Visaggio,et al.  Improving software comprehension through an automated dependency tracer , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[20]  Giuseppe Visaggio,et al.  A software model for impact analysis: a validation experiment , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[21]  Alessandro Bianchi,et al.  An exploratory case study of the maintenance effectiveness of traceability models , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.