Bibliography of Software Maintenance Books
(C) Jussi Koskinen
Department of Computer Science and Information Systems
http://www.cs.jyu.fi/~koskinen/bibsmb.htm,
Oct. 2007
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., |
"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 |
|
"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 |
|
"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., 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.