Martin Heller
Contributing Writer

Fear of bugs

analysis
Apr 2, 20082 mins

I used to give a talk at trade shows and seminars called Bugoholics Anonymous. I'd start with "Hi, my name is Martin, and I'm a bugoholic." The audience would invariably respond with "Hi, Martin." I'd apologize for the lack of a coffeepot (unless there actually was one in the room), and go on to talk about how I had no power over bugs, but bugs had power over me. Then, of course, I'd present

Then, of course, I’d present a twelve-step program for learning to deal with bugs. The talk always went over well, and often filled the venue. It wasn’t just for the entertainment value, though.

What was the serious content? First, that errors in software are inevitable: even if the software is perfect when it goes out the door, the environment will change, and break assumptions that you hadn’t even known were changeable and hadn’t realized that you’d built into the software.

At the time, a commonly broken assumption was “memory pointers can’t change.” In 16-bit Windows, memory pointers could change if they weren’t locked, and the best practice was to unlock memory you weren’t actively using to allow Windows memory management to work.

The second piece of serious content in that talk was that you should welcome bug reports, not fear them. A good tester is a pearl beyond price. A developer who views each bug report as an opportunity to improve what is inherently imperfect code is going to be much better at debugging than one who views each bug report as a personal insult that has to be caused by user error, or as the saying goes, “PIBKAC.”

Do you believe that your code is perfect? How do you react emotionally to a bug report?

Martin Heller

Martin Heller is a contributing writer at InfoWorld. Formerly a web and Windows programming consultant, he developed databases, software, and websites from his office in Andover, Massachusetts, from 1986 to 2010. From 2010 to August of 2012, Martin was vice president of technology and education at Alpha Software. From March 2013 to January 2014, he was chairman of Tubifi, maker of a cloud-based video editor, having previously served as CEO.

Martin is the author or co-author of nearly a dozen PC software packages and half a dozen Web applications. He is also the author of several books on Windows programming. As a consultant, Martin has worked with companies of all sizes to design, develop, improve, and/or debug Windows, web, and database applications, and has performed strategic business consulting for high-tech corporations ranging from tiny to Fortune 100 and from local to multinational.

Martin’s specialties include programming languages C++, Python, C#, JavaScript, and SQL, and databases PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database, Google Cloud Spanner, CockroachDB, MongoDB, Cassandra, and Couchbase. He writes about software development, data management, analytics, AI, and machine learning, contributing technology analyses, explainers, how-to articles, and hands-on reviews of software development tools, data platforms, AI models, machine learning libraries, and much more.

More from this author