Simone Concepts

Solving problems at the intersection of people and technology

Home

Projects

Exploring Hand Function

Retraining Driving w TBI

Helping People Walk

Retraining Driving w SCI

Phone on Fire Book

About "Phone on Fire"

Foreword

"Phone on Fire" Blog

Embedded Systems

Real Embedded Systems

Defining Embedded Systems

Creating Embedded Systems

Solving Problems

Philosophy of Debugging

Types of Debugging

Debugging Stories

Bio

Debugging Stories


Tracking Down Killer Bugs by Eric McRae tells the detailed story of a fuel injector on a V8 engine, that after hours of normal operation would generate a fuel pulse 10 times longer than it was supposed to, on a random injector. In his very interesting and entertaining story, Mr. McRae mentions a sometime unintentional, although effective debugging method:

"When all else fails, you can sometimes find a solution to a problem by emphatically declaring that everything you've done is correct and submitting this information to public inspection."

When plain old embedded systems inadvertently become Life Support by Ed Nisley. Have you read your semiconductor spec sheets and realized that it seems NO device can be used in any type of life support equipment? What happens with less obvious embedded systems end up in life-critical applications?

My Hairiest Bug War Stories by Marc Eisenstadt is a neat article of some crazy bugs, with a nice classification of bug types and solution methods used to root them out.




I wrote a debugging mystery for Embedded Systems Programming Magazine called A Feynman Approach to Debugging, (or pdf) in the December 2004 issue.

"As a child, Richard Feynman could fix radios by thinking. You can take the same approach to debugging embedded systems...On Tuesday afternoon, a small oven on IEC's manufacturing line malfunctioned. Rather than heating components to a predefined temperature, it got too hot and damaged the components. The manufacturing line was stopped for the remainder of the day. Your job, find it and fix it."

It is a true story, although the name of the company, the type of embedded device, the application, and darn near the entire story except the actual bug itself have been changed to protect the guilty.

I got a good response from the Feynman Debugging article, so I wrote an entire book of these mysteries called "If I Only Changed the Software, Why is the Phone on Fire?" You can find more information here, and pick up a copy on Amazon.

Anatomy of a Software Bug is a good story and dissection of the Microsoft Word "Disk is full" on save error. The setup occurs over a ten year period, showing the difficulties in reproducing reported bugs and how the problem was identified and solved.

Collection of Software Bugs

Microsoft Crash Library
In some respects, a PC is just a large generalized embedded system, and it suffers from some of the same poor design and development problems. These are great!



Copyright 2005-2010, Simone Concepts LLC.