Bug Patterns in Java and over one million other books are available for Amazon Kindle. Learn more

Have one to sell? Sell yours here
Bug Patterns In Java
 
 
Start reading Bug Patterns in Java on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Bug Patterns In Java [Paperback]

Eric Allen (Author)
4.3 out of 5 stars  See all reviews (6 customer reviews)


Available from these sellers.


Formats

Amazon Price New from Used from
Kindle Edition $19.22  
Paperback --  

Book Description

Expert's Voice October 4, 2002

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

  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

Customers Who Viewed This Item Also Viewed


Editorial Reviews

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.

Product Details

  • Paperback: 264 pages
  • Publisher: Apress; 1 edition (October 4, 2002)
  • Language: English
  • ISBN-10: 1590590619
  • ISBN-13: 978-1590590614
  • Product Dimensions: 9.3 x 7.4 x 0.6 inches
  • Shipping Weight: 8.8 ounces
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (6 customer reviews)
  • Amazon Best Sellers Rank: #1,199,340 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

6 Reviews
5 star:
 (4)
4 star:
 (1)
3 star:    (0)
2 star:
 (1)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.3 out of 5 stars (6 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

4 of 4 people found the following review helpful:
5.0 out of 5 stars Great Guide to Debugging, October 2, 2003
By 
tpruett "ntpruett" (Eagan, MN United States) - See all my reviews
This review is from: Bug Patterns In Java (Paperback)
Bugs. All code has them to one degree or another and they always seem to take twice as long to fix as the original code took to write. This book boils thirteen of the most common bugs down to their root causes and formulates them as 'bug patterns'. Each bug pattern describes how to identify the bug by the symptoms it exhibits, why the bug is occurring, and gives one or more suggestions to fix it and prevent it from occurring again.
If the bug you are searching for isn't among one of the thirteen bug patterns covered, the author also covers a methodical approach to tracking down bugs effieciently and quickly. Suggestions on how to prevent bugs from occurring in various stages of the development cycle are also presented, which are helpful even if you aren't currently searching for a bug in your code. Most of the suggestions are based on the XP development model, but the practices that are important are pointed out so they can be incorporated into any other style of development.
Even though debugging doesn't sound like a fun topic, the author has a very readable style and is able to get you excited about preventing and fixing bugs. The chapters have been very well thought out and the book is broken into topics very well. You can read a chapter in about ten minutes or less and feel like you have a good grasp of the topic covered.
This is a great book to partner with a 'best coding practices' type of book, like 'Practical Java' or 'Effective Java'. Those books are really good at describing how Java should be coded. This book gives examples of why those practices should be followed, and how to quickly get back on track when they aren't and something goes wrong.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful:
5.0 out of 5 stars Valuable Resource, April 28, 2003
By 
C. M. Lowry (Columbia JUG, Columbia, SC USA) - See all my reviews
This review is from: Bug Patterns In Java (Paperback)
Time is a very valuable resource on every project, and this book can help conserve that resource. The first six chapters of the book present defect management within the larger concept of Agile development methods. Chapters 7-20 detail various bug patterns with symptoms, causes, cures, and preventions. The remainder of the book provides some nice resources like a diagnostic checklist, a glossary, a reference list, and an index.

I recognized some of the patterns from the author's column on developerWorks, but the book does a solid of pulling them together to present debugging as a rather orderly and scientific process. The author relies on his real project experience with the DrJava project to illustrate his examples. Various tables are available to link concepts with potential bug patterns or problems to a bug pattern that could be related.

The patterns are explained and depicted with code with each chapter having a summary of the concepts at the end. Tips and variations on the patterns are sprinkled in the text. I found the glossary of particularly helpful. The text is easy to read and the examples are clearly explained. This book and "Bitter Java" may have a good "ROI" as required reading for Java developers.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2 of 2 people found the following review helpful:
5.0 out of 5 stars An excellent reference, very well organized, March 28, 2003
By 
Janine M. Joseph (Buffalo, NY United States) - See all my reviews
This review is from: Bug Patterns In Java (Paperback)
A great Java resource for programmers of widely varying experience levels. Author found the perfect balance between theory and practical application. There is a wealth of useful information in the chapters devoted to detailed descriptions of the symptoms and cures for the most common and/or most troublesome Java bugs. The book is organized in a very friendly way, making it an excellent reference. I plan on keeping this book very handy.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews




Only search this product's reviews



Inside This Book (learn more)
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
double descent, impostor type, orphaned thread, linked list, null flag, agile methods, rogue tiles, fictitious implementations, bug pattern, instanceof checks, extra invariants, static type system, null flags, composite data structure, platform dependence, multithreaded code, checked exceptions, static type checking, static checking, null pointers, visitor class
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Fictitious Implementation, Liar View, Run-On Initializer, Rogue Tile, Dangling Composite, Split Cleaner, Broken Dispatch, Pattern Checklist, Platform-Dependent Bugs, Concept-Oriented Troubleshooting Guide, The Run-On Initialization, Diagnostic Checklist Table, Java Robot, Small Anomalies, Building Cost-Effective Specifications, Internet Explorer, The Rogue Title, Chaotic Environment, Saboteur Data, Unit Tests
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Surprise Me!
Search Inside This Book:


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(2)

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Create a Listmania! list

So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject