Techniques for application software maintenance

Abstract Software maintenance accounts for up to 90% of software lifecycle effort. Software maintenance activities are re-classified into five categories. Reasons for high maintenance costs are described for each maintenance type. Several techniques to reduce current and future maintenance are described and compared. Current maintenance techniques for program browsing, software documentation, and program analysis as well as commercially available computer-aided software maintenance tools are described. Techniques to improve software maintainability, such as software re-structuring, re-engineering, reverse engineering, and defensive programming approach, and techniques to increase the maintenance productivity of future programs are described. Selection criteria in choosing these maintenance techniques and some recommendations for maintenance organization are discussed.

[1]  Robert L. Glass,et al.  Software Maintenance Guidebook , 1981 .

[2]  Meilir Page-Jones,et al.  The practical guide to structured systems design , 1980 .

[3]  Bennet P. Lientz,et al.  Issues in Software Maintenance , 1983, CSUR.

[4]  Shari Lawrence Pfleeger,et al.  Software Engineering: The Production of Quality Software , 1987 .

[5]  E Bush,et al.  The automatic restructuring of COBOL , 1986 .

[6]  Atul Prakash,et al.  Software Engineering: Problems and Perspectives , 1984, Computer.

[7]  D Cooper,et al.  Condensed Pascal , 1987 .

[8]  Roussopoulos,et al.  Future Directions in Database Systems - Architectures for Information Engineering: Guest Editor's Introduction , 1986, Computer.

[9]  Martin P. Ward,et al.  A knowledge-based system for software maintenance , 1988, Proceedings. Conference on Software Maintenance, 1988..

[10]  James A. Senn,et al.  System structure and software maintenance performance , 1989, Commun. ACM.

[11]  Elliot Soloway,et al.  Delocalized Plans and Program Comprehension , 1986, IEEE Software.

[12]  D R Kuhn,et al.  Simple tools to automate documentation , 1986 .

[13]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[14]  E. Burton Swanson,et al.  Problems in application software maintenance , 1981, CACM.

[15]  Victor R. Basili,et al.  Error localization during software maintenance: generating hierarchical system descriptions from the source code alone , 1988, Proceedings. Conference on Software Maintenance, 1988..

[16]  David A. Gustafson,et al.  Classifying software maintenance , 1988, Proceedings. Conference on Software Maintenance, 1988..