Skip to main content
Apress

Bug Patterns in Java

  • Book
  • Oct 2002

Overview

  • First book about bug patterns, previously discussed only in the "Diagnosing Java" column at IBM developerWorks.com
  • First book to integrate the process of debugging with the extreme programming method of software development
  • Loaded with examples from real-world software, and in-depth code analysis
  • Includes supplementary material: sn.pub/extras

Buy print copy

Keywords

  • Clean
  • Debugging
  • Java
  • design
  • design pattern
  • design patterns
  • development
  • programming
  • testing

About this book

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.

About the author

Eric Allen has a bachelor's degree in computer science and mathematics from Cornell University, and is a Ph.D. candidate in the Java programming languages team at Rice University. His research concerns the development of semantic models and static analysis tools for the Java language, both at the source and bytecode levels. Currently, Eric is constructing a compiler for the NextGen programming language, an extension of the Java language with added language features. He has also moderated the Java Beginner discussion forum at JavaWorld and is a project manager of DrJava, an open-source Java IDE designed for beginners.

Bibliographic Information

Publish with us