Software complexity: An aid to software maintainability

Abstract Recent estimates that 40–70% of software cost is being spent after the software has been tested and delivered by the development contractor, makes the area of post-delivery maintenance of software a prime candidate for major technological effort with potentially high return on investment. Maintenance is most affected by software complexity, and if complexities could somehow be identified, then maintenance procedures could be adjusted accordingly. What is needed is some method of pin-pointing the characteristics of a computer program that are difficult to maintain and measuring the degree of their presence (or lack of it). This paper discusses a number of software complexity metrics reported in the last few years and examines the applicability of these complexity metrics to form a software maintainability point of view.

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

[2]  Edward T. Chen,et al.  Program Complexity and Programmer Productivity , 1978, IEEE Transactions on Software Engineering.

[3]  Warren A. Harrison,et al.  A complexity measure based on nesting level , 1981, SIGP.

[4]  Tom Love,et al.  A Review and Evaluation of Software Science , 1978, CSUR.

[5]  Enrique Ivan Oviedo Control flow, data flow and program complexity , 1984 .

[6]  Bill Curtis,et al.  Third time charm: Stronger prediction of programmer performance by software complexity metrics , 1979, ICSE 1979.

[7]  John C. Baird,et al.  Fundamentals of scaling and psychophysics , 1978 .

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

[9]  Glenford J. Myers,et al.  An extension to the cyclomatic measure of program complexity , 1977, SIGP.

[10]  James L. Elshoff,et al.  An Analysis of Some Commercial PL/I Programs , 1976, IEEE Transactions on Software Engineering.

[11]  Martin R. Woodward,et al.  A Measure of Control Flow Complexity in Program Text , 1979, IEEE Transactions on Software Engineering.

[12]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[13]  NED CHAPIN A measure of software complexity , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

[14]  Wilfred J. Hansen,et al.  Measurement of program complexity by the pair: (Cyclomatic Number, Operator Count) , 1978, SIGP.