Software maintenance is the dominant factor contributing to the high cost of software. In this paper, the software maintenance process and the important software quality attributes that affect the maintenance effort are discussed. One of the most important quality attributes of software maintainability is the stability of a program, which indicates the resistance to the potential ripple effect that the program would have when it is modified. Measures for estimating the stability of a program and the modules of which the program is composed are presented, and an algorithm for computing these stability measures is given. An algorithm for normalizing these measures is also given. Applications of these measures during the maintenance phase are discussed along with an example. An indirect validation of these stability measures is also given. Future research efforts involving application of these measures during the design phase, program restructuring based on these measures, and the development of an overall maintainability measure are also discussed.
[1]
Marvin V. Zelkowitz,et al.
Perspectives in Software Engineering
,
1978,
CSUR.
[2]
Jim A. McCall,et al.
Factors in Software Quality. Volume-III. Preliminary Handbook on Software Quality for an Acquisiton Manager
,
1977
.
[3]
Stephen S. Yau,et al.
Ripple effect analysis of software maintenance
,
1978,
COMPSAC.
[4]
Maurice H. Halstead,et al.
Elements of software science
,
1977
.
[5]
Norman L. Soong,et al.
A program stability measure
,
1977,
ACM Annual Conference.
[6]
Glenford J Myers,et al.
Reliable software through composite design
,
1975
.
[7]
James L. Elshoff,et al.
An Analysis of Some Commercial PL/I Programs
,
1976,
IEEE Transactions on Software Engineering.
[8]
Anas N. Al-Rabadi,et al.
A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions
,
2004
.
[9]
Meir M. Lehman,et al.
Characteristics of Large Systems
,
1978
.