Bibliography of Software Maintenance Books

(C) Jussi Koskinen

Department of Computer Science and Information Systems

University of Jyväskylä, P.O. Box 35, 40351, Jyväskylä, Finland

http://www.cs.jyu.fi/~koskinen/bibsmb.htm, Oct. 2007

koskinen@cs.jyu.fi

 

 

Abstract

Software maintenance is the single most expensive and laborious phase of the software life-cycle. Often software maintenance consumes 50-75% of the total information systems development resources. For the educational purposes it would be ideal if there would be a single book that would gather all the state-of-the-art techniques. Unfortunately there exists relatively few books on software maintenance. There exists acknowledged old classics like Lientz & Swanson (1980). Fast technological progress should however also be taken into account. This bibliography aims not being a complete survey on the subject, but it hopefully includes the most important of the books. Main categories used here are: 1) general books, 2) maintenance of object-oriented software, 3) software maintenance management, 4) maintainability, 5) software maintainers, 6) standards of software maintenance, 7) impact analysis, 8) reverse engineering, 9) Y2K, 10) reengineering, 11) debugging and 12) configuration management. General Y2K discussions, language-dependent debugging and tool-specific configuration management are sub-areas on which there exists also a substantial amount of other books which are not listed here. The known significant books are presented in the Table 1. They appear in the order of the publication year. The years in the table refer to the last known edition.

 

Year

Author(s)

Title

Publisher

Pages

Category

1980

Lientz, B.P.,

Swanson, E.

"Software Maintenance Management: A Study of the Maintenance of Computer Application Software in 487 Data Processing Organizations"

Addison-Wesley

214

Management

1981

Glass, R.L.,

Noiseux, R.A.

"Software Maintenance Guidebook"

Prentice Hall

208

General

1983

Martin, J.

"Software Maintenance: The Problem and its Solution"

Prentice Hall

472

General

1985

Lehman, M.M.,

Belady, L.A.

"Program Evolution: Processes of Software Change"

(Apic Studies in Data Processing)

Academic Press

 

General

1986

Babich, W.

"Software Configuration Management: Coordination for Team Productivity"

Addison-Wesley

162

Configuration management

1986

Berlack, R.

"Software Configuration Management"

(Wiley Series in Software Engineering Practice)

John Wiley & Sons

352

Configuration management

1986

Parikh, G.

"Handbook of Software Maintenance"

John Wiley & Sons

 

General

1988

Arthur, L.J.

"Software Evolution: A Software Maintenance Challenge"

John Wiley & Sons

272

General

1988

Parikh, G. (ed.)

"Techniques of Program and Systems Maintenance"

Q.E.D.

 

General

1989

Swanson, E.B.,

Beath, C.M. (eds.)

"Maintaining Information Systems in Organizations"

John Wiley & Sons

274

General

1992

Landsbaum, J.B.,

Glass, R.L.,

Glass, R.B.

"Measuring and Motivating Maintenance Programmers"

Prentice Hall

96

Maintainers

1993

Arnold, R.

"Software Reengineering (IEEE Computer Society Press Tutorial)"

IEEE Computer Society

675

Reengineering

1993

Lano, K.,

Haughton, H.

"Reverse Engineering and Software Maintenance: A Practical Approach"

(McGraw-Hill International Series in Software Engineering).

McGraw-Hill.

 

 

Reverse engineering

1993

van Zuylen, H. (Ed.)

"The REDO Compendium: Reverse Engineering for Software Maintenance"

John Wiley & Sons

430

Reverse engineering

1994

Compton, S.,

Callahan, J.,

Conner, G. (Eds.)

"Configuration Management for Software"

Van Nostrand Reinhold

254

Configuration management

1995

Brodie, M.L.,

Stonebraker, M.

"Migrating Legacy Systems: Gateways, Interfaces & The Incremental Approach"

Morgan Kaufmann

210

Reengineering

1995

Berzins, V. (Ed.)

"Software Merging and Slicing"

IEEE Computer Society

 

Reverse engineering

1995

Blanchard, B.,

Verma, D.,

Peterson, E.

"Maintainability: A Key to Effective Serviceability and Maintenance Management"

Wiley-Interscience

560

Maintainability

1995

Tichy, W. (ed.)

"Configuration Management" (Trends in Software, no 2)

John Wiley & Sons

170

Configuration management

1995

Peng, W.,

Wallace, D.

"Software Error Analysis"

Silicon Press

 

Debugging

1996

Arnold, R.,

Bohner, S. (Eds.)

"Software Change Impact Analysis"

Wiley/IEEE Press

392

Impact analysis

1996

Capretz, L.F.,

Capretz, M.A.

"Object-Oriented Software: Design and Maintenance"

World Scientific

 

Object-orientation

1996

Ebeling, C.

"An Introduction to Reliability and Maintainability Engineering"

McGraw-Hill

576

General engineering

1996

Levey, R.

"Reengineering COBOL With Objects: Step by Step to Sustainable Legacy Systems"

McGraw-Hill

 

Reengineering

1996

Pigoski, T.M.

"Practical Software Maintenance: Best Practices for Managing Your Software Investment"

John Wiley & Sons

400

Management

1996

Wills, L.,

Newcomb, P. (Eds.)

"Reverse Engineering".

Kluwer Academic Publ.

178

Reverse engineering

1997

McClure, C.L.

"Managing Software Development and Maintenance"

Van Nostrand Reinhold

203

Management

1998

IEEE

"IEEE Standard for Software Maintenance"

IEEE Computer Society

 

Standard

1998

Miller, H.

"Reengineering Legacy Software Systems"

Digital Press

250

Reengineering

1999

Dhillon, B.

"Engineering Maintainability: How to Design for Reliability and Easy Maintenance"

Gulf Professional Publ.

350

General engineering

1999

Feiler, J.,

Butler, B.

"Y2K Bible"

Hungry Minds

541

Y2K

1999

Fowler, M.,

Beck, K.,

Brant, J.,

Opdyke, W.,

Roberts, D.

"Refactoring: Improving the Design of Existing Code"

Addison-Wesley

431

Reengineering

1999

ISO/IEC

"ISO/IEC 14764-1999, Software Engineering - Software Maintenance"

ISO/IEC

 

Standard

1999

Lyon, D.

"Practical CM: Best Practices for the 21st Century" (2nd ed.)

Raven

260

Configuration management

1999

Smith, D.D.

"Designing Maintainable Software"

Springer-Verlag

169

Maintainability

1999

Spaccapietra, S.,

Maryanski, F. (Eds.)

"Data Mining and Reverse Engineering: Searching for Semantics"

Kluwer Academic Publ.

 

Reverse engineering

1999

Warren, I.

"The Reneissance of Legacy Systems: Method Support for Software-System Evolution"

Springer-Verlag

182

Reengineering

2000

Lencevicius, R.

"Advanced Debugging Methods"

Kluwer Academic Publ.

200

Debugging

2000

Leon, A.

"A Guide to Software Configuration Management" (Artech House Computer Library)

Artech House

384

Configuration management

2000

Pappas, C.,

Murray, W.

"Debugging C++: Troubleshooting for Programmers"

McGraw-Hill, Osborne Media

523

Debugging

2000

Robbins, J.

"Debugging Applications"

Microsoft Press

466

Debugging

2001

Haug, M.,

Olsen, E.,

Cuevas, G. (eds.)

"Managing the Change: Software Configuration & Change Management"

Springer Verlag

297

Configuration management

2001

Smith, D.J.

"Reliability, Maintainability and Risk: Practical Methods for Engineers"

Butterworth-Heinemann

352

General engineering

2001

Telles, M.,

Hsieh, Y.

"The Science of Debugging"

The Coriolis Group

512

Debugging

2002

Agans, D.

"Debugging: The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems"

AMACOM

192

Debugging

2002

Allen, E.

"Bug Patterns in Java"

APress

264

Debugging

2002

Polo, M.,

Piattini, M.,

Ruiz F. (Eds.)

"Advances in Software Maintenance Management: Technologies and Solutions"

IGI Global

312

Management

2002

Ulrich, W.

"Legacy Systems: Transformation Strategies"

Prentice-Hall

422

Reengineering

2002

Valenti, S.

"Successful Software Reengineering"

IRM Press

300

Reengineering

2002

Younessi, H.

"Object-Oriented Defect Management of Software"

Prentice Hall

376

Debugging

2003

Grubb. P.,

Takang, A.

"Software Maintenance: Concepts and Practice" (2nd ed.)

World Scientific

350

General

2003

Harsu, M.

"Ohjelmien ylläpito ja uudistaminen"

(in Finnish: Software maintenance and modernization)

Talentum: Finland

292

General

2003

Seacord, R.,

Plakosh, D.,

Lewis, G.

"Modernizing Legacy Systems:

Software Technologies, Engineering Processes, and Business Practices"

Addison-Wesley

332

General

2004

Abran, A.,

Moore J.W.,

Bourque, P.,

Dupuis, R. (Eds.)

"SWEBOK: Guide to the Software Engineering Body of Knowledge 2004 Version"

(Chapter 6 - Software Maintenance)

(Chapter 7 - Software Configuration Management) 

IEEE Computer Society

 

Standard/guide

2007

Jarzabek, S.

"Effective Maintenance and Evolution: A Reuse-Based Approach"

Auerbach

424

General

Table 1: Software maintenance books.

 

Updated: Oct. 19, 2007 by Jussi Koskinen.