Literature

Books on Debugging

Here is a list of books on debugging:

D.J. Agans, Debugging: The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems. American Management Association, 2002
S. Ball, Debugging Embedded Microprocessor Systems. Newnes, 1998
A. Barr, Find the Bug. A Book of Incorrect Programs. Addison-Wesley Professional, 2004
Bill Blunden, Software Exorcism: A Handbook for Debugging and Optimizing Legacy Code. Apress, 2003
M.H. Brown, Algorithm animation. MIT Press, 1988
A.R. Ford, T.J. Teorey, Practical Debugging in C++. Prentice Hall, 2002
P.A. Fritzson (Editor), Automated and Algorithmic Debugging: First International Workshop, Aadebug ’93 Linkoping, Sweden, May 3-5, 1993: Proceedings (Lecture Notes in Computer Science). Springer 1993
T. Grötker, U. Holtmann, H. Keding, M. Wloka, The Developer’s Guide to Debugging, 2nd Edition. Createspace, 2012
M. Hewardt, D. Pravat, Advanced Windows Debugging. Addison-Wesley 2007
K. Kaspersky, Hacker Debugging Uncovered. A-List Publishing, 2005
R. Lencevicius, Advanced Debugging Methods. Springer, 2000
J. DiMarzio, The Debugger’s Handbook. AUERBACH 2006
N. Matloff, The Art of Debugging with GDB, DDD, and Eclipse. No Starch Press 2008
E. McKay, M. Woodring, Debugging Windows Programs: Strategies, Tools, and Techniques for Visual C++ Programmers. Addison-Wesley 2000
R.C. Metzger, Debugging by Thinking: A Multidisciplinary Approach. Digital Press, 2003
G.J. Myers, C. Sandler, T. Badgett, The Art of Software Testing, Third Edition. John Wiley & Sons, 2011
C.H. Pappas, W.H. Murray, Debugging C++. Osborne Publishing, 2000
J.B. Rosenberg, How Debuggers Work: Algorithms, Data Structures, and Architecture. Wiley, 1996
E. Shapiro, Algorithmic Program Debugging. The MIT Press, 1983
M. Stitt, Debugging: Creative Techniques and Tools for Software Repair. John Wiley & Sons Inc, 1992
M.A. Telles, Y. Hsieh, The Science of Debugging. Coriolis Group Books, 2001
D. Vostokov, Memory Dump Analysis Anthology, Volume 1, Volume 2. Opentask, 2008.

See Crash Dump Analysis and Debugging Portal for examples, book reviews, tools, links, and how to contact the author
A. Zeller, Why Programs Fail, Second Edition: A Guide to Systematic Debugging. Morgan Kaufmann, 2009.

See Why Programs Fail for software, examples, tools, references, slides, errata, and how to contact the author

Books on Debugging Tools

J. Seward, N Nethercote, J Weidendorfer, Valgrind 3.3 – Advanced Debugging and Profiling for GNU/Linux applications. Network Theory Ltd., 2008
R. Stallmann, R. Pesch, S. Shebs, E. Suvasa, M. Lee Debugging with GDB: The GNU Source-Level Debugger. Free Software Foundation; 10th edition 2011

GDB reference manual. An updated PDF version of this book can be downloaded at
http://www.gnu.org/software/gdb/documentation

Books on Debugging Embedded System Software

M. Barr, A. Massa, Programming Embedded Systems. O´Reilly, 2nd. Edition, 2006
M. Pont, Embedded C. Addison-Wesley, 2002
L. Simone, If I Only Changed the Software, Why is the Phone on Fire? Embedded Debugging Methods Revealed: Technical Mysteries for Engineers. Newnes, 2007

Books about Parallel Programming and Debugging

R. Chandra, R. Menon, L. Dagum, D. Kohr, D. Maydan, J. McDonald, Parallel Programming in OpenMP. Morgan Kaufmann, 2000
B. Chapman, G. Jost, R. van der Pas, Using OpenMP: Portable Shared Memory Parallel Programming. The MIT Press 2007
R. Eigenmann (Editor), M. Voss (Editor), OpenMP Shared Memory Parallel Programming: International Workshop on OpenMP Applications and Tools, WOMPAT 2001, West Lafayette, IN, USA, July 30-31, 2001. (Lecture Notes in Computer Science). Springer 2001
A. H. Hayes, J. S. Brown, M. L. Simmons, Debugging and Performance Tuning for Parallel Computing Systems (IEEE Computer Society Press). John Wiley & Sons 1996
J. Reinders, Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism. O’Reilly Media 2007

Books on Related CS Topics

K. Beck, C. Andres, Extreme Programming Explained: Embrace Change. Addison-Wesley Professional, 2nd Edition 2004
T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, Second Edition. The MIT Press, 3rd Edition, 2009
T. Grötker, S. Liao, G. Martin, S. Swan, System Design with SystemC. Springer, 2002
D. Keppel, Tools and Techniques for Building Fast Portable Threads Packages. Technical report University of Washington, 1993
B. Kernighan, D. Ritchie, The C Programming Language. Prentice Hall, 2nd Edition, 1988. The classic book on C. The 2nd Edition is based on the ANSI C standard.
J. Levine, Linkers and Loaders. Morgan Kaufmann, 2000
S. Meyers, Effective C++: 55 Specific Ways to Improve Your Programs and
Designs.
Addison-Wesley Professional Computing Series, 3rd Edition, 2005.
See also Scott Meyer’s www.aristeia.com for other books on software development, training classes, and his top-5 lists of the most important C++ books, articles, people, software, and C++ Aha! Moments
R. Sedgewick, K. Wayne, Algorithms, 4th Edition Addison-Wesley Professional, 2011
R. E. Tarjan, Data Structures and Network Algorithms. Society for Industrial & Applied Mathematics, 1987. Classic textbook on algorithms. Very precise, elegant proofs, our candidate for CS book with the highest content/word ratio

Journals

A list of journals that contain debugging topics:

ACM

The ACM Portal lets you search the full text collection of every article published by the ACM (Association for Computing Machinery).

Example articles on debugging topics

Dr. Dobb’s Journal

Dr. Dobb’s Portal is the web page for Dr. Dobb’s Journal, a monthly magazine on software development. For relevant articles, go to the Magazine Archive, and search for keywords “debugging”, “debugger”, “profiler”, and other keywords applicable to debugging. There is also a department section on Testing & Debugging

Here is some example articles on debugging topics:

IEEE

IEEE Explore, full searchable text access to the IEEE archives. For relevant articles, search for keywords “debugging”, “debugger”, and “profiler”.

Example articles:

Linux Journal

Linux Journal is the web page of the monthly Linux Journal magazine. For relevant articles, go to the Magazine Archive, and search for keywords “debugging”, “debugger”, and “profiler”.

Example articles:

Software Test & Performance

Software Test & Performance is a magazine on software quality and performance.


Research Papers on Debugging