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|
|T. Soulami, Inside Windows Debugging. Microsoft Press, 2012|
|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
Books on Debugging Embedded System Software
Books about Parallel Programming and Debugging
Books on Related CS Topics
|T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, Second Edition. The MIT Press, 3rd Edition, 2009|
|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|
A list of journals that contain debugging topics:
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
- The Debugging Scandal and What to Do About It, Henry Lieberman, April 1997
- Uprooting Software Defects at the Source, Seth Hallem, Coverity, Nov. 2003
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:
- Measuring Execution Time and Real-time Performance: Part 1 and Part 2, David B. Stewart, InHand Electronics, Inc., Nov. 2006
- Avoiding the Most Common Software Development Goofs, Ben Chelf, Coverity, Feb. 2006
- Debugging Complex Embedded Applications, Graham Morphew, April 2005
IEEE Explore, full searchable text access to the IEEE archives. For relevant articles, search for keywords “debugging”, “debugger”, and “profiler”.
- Software debugging, testing, and verification, by B. Hailpern and P. Santhanam
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”.
- Advanced Memory Allocation, by Gianluca Insolvibile.
- gprof, bprof and Time Profilers, by Andy Vaught.
Software Test & Performance
Software Test & Performance is a magazine on software quality and performance.
Research Papers on Debugging
- Delta Debugging: From automated testing to automated debugging – web site for the Delta Debugging project at the Software Engineering Chair, Saarland University. Also see Why Programs Fail on the same topic.
- Ben Liblit: Bug Isolation in an Imperfect World – research papers on new approaches to debugging
- The Design and Implementation of a Dataflow Language for Scriptable Debugging, G. Marceau, G. H. Cooper, J. P. Spiro, S. Krishnamurthi, S. P. Reiss, Automated Software Engineering Journal, 2006. – web page has abstract, software, and PDF paper
- A Survey of Systems for Detecting Serial Run-time Errors, G. Luecke, J. Coyle. J. Hoekstra, M. Kraeva, Y. Li, O. Taborskaia, Y. Wang, 2006. – evaluation of tools for detecting run-time errors in C and C++