Bug Patterns in Java

By Eric Allen

Bug Patterns in Java Cover Image

Bug Patterns in Java presents a methodology for diagnosing and debugging computer programs. Eric Allen lays out a theory of debugging, and how it relates to the rest of the development cycle.

Full Description

  • ISBN13: 978-1-59059-061-4
  • 264 Pages
  • User Level: Beginner to Advanced
  • Publication Date: October 3, 2002
  • Available eBook Formats: PDF
  • Print Book Price: $34.95
  • eBook Price: $24.99
Buy eBook Buy Print Book Add to Wishlist

Related Titles

Full Description

Bug Patterns in Java presents a methodology for diagnosing and debugging computer programs. The act of debugging will be presented as an ideal application of the scientific method. Skill in this area is entirely independent of other programming skills, such as designing for extensibility and reuse. Nevertheless, it is seldom taught explicitly. Eric Allen lays out a theory of debugging, and how it relates to the rest of the development cycle. In particular, he stresses the critical role of unit testing in effective debugging. At the same time, he argues that testing and debugging, while often conflated, are properly considered to be distinct tasks.

Upon laying this groundwork, Allen then discusses various "bug patterns" (recurring relationships between signaled errors and underlying bugs in a program) that occur frequently in computer programs. For each pattern, the book discusses how to identify them, how to treat them, and how to prevent them.

Table of Contents

Table of Contents

  1. Agile Methods in a Chaotic Environment
  2. Bugs, Specifications, and Implementations
  3. Debugging and the Development Process
  4. Debugging and the Testing Process
  5. The Scientific Method of Debugging
  6. About the Bug Patterns
  7. The Rogue Tile
  8. Null Pointers Everywhere!
  9. The Dangling Composite
  10. The Null Flag
  11. The Double Descent
  12. The Liar View
  13. Saboteur Data
  14. The Broken Dispatch
  15. The Impostor Type
  16. The Split Cleaner
  17. The Fictitious Implementation
  18. The Orphaned Thread
  19. The Run-On Initialization
  20. Platform-Dependent Patterns
  21. A Diagnostic Checklist
  22. Design Patterns for Debugging
  23. References
Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.

Errata

Please Login to submit errata.

No errata are currently published