Questions tagged [antibugging]

Design and implementation techniques for preventing bugs to happen and for ensuring graceful or corrective handling if they nevertheless would occur. Includes defensive designing, defensive coding, automatic error correction, and error recovery strategies. Shall not be used for debugging techniques, which are primarily focused on identifying and catching bugs and provide tools for analyzing their root cause if they happen.

The term antibugging was introduced by the software engineering pioneer Ed Yourdon in his book "Techniques of Program Structure and Design" published in 1975.

Antibugging is an activity that spans the development life cycle with several methods and techniques:

  • design that prevents conditions of bugs
  • defensive coding to prevent bugs or handle them to avoid error propagation
  • graceful handling of unexpected cases
  • automatic error correction if possible,
  • recovery strategies to resume processing if possible
6 questions
115
votes
17 answers

Why should 'boneheaded' exceptions not be caught, especially in server code?

I am confused because in quite a few places I've already read that the so-called 'boneheaded' exceptions (ones that result from bugs in code) are not supposed to be caught. Instead, they must be allowed to crash the application: Vexing exceptions,…
gaazkam
  • 3,517
  • 3
  • 19
  • 35
5
votes
3 answers

What is the difference between debugging and antibugging?

The terms debugging and antibugging seem to be widely used for referring to tools, measures and design patterns to get rid of bugs. After reading Peter Norvig's Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP I was not…
3
votes
3 answers

How to prevent bugs in business-level configurations with similar discipline as in source code?

We have a system that allows our clients to coordinate people (shoppers) so that they can delivery groceries within 45 minutes from the order creation. Each client has a set of stores where the orders are processed by the shoppers and each shopper…
1
vote
3 answers

Features to catch bugs that make it to production

Apologies if this isn't the right place for this question, please direct me elsewhere if that is the case :) I was having a discussion with my boss who has experience (but not official education) in software engineering about a member-field in an…
user6567423
  • 433
  • 4
  • 9
0
votes
3 answers

Introducing "status" column to an SQL table changes its definition

I saw this pattern in multiple projects I wrote: I create an SQL model for a certain type of entities and at some point, we realize that there's a need to store multiples types of the same entities. Usually I introduce a "status" column to the…
d33tah
  • 143
  • 5
-1
votes
4 answers

Best practices for reducing bugs while optimizing code

Earlier today I was working on a simple program from a textbook. Although I solved the question with confidence and a clear robust solution, the solution wasn't perfect as it had steps which were redundant. The more I optimized and tried to make it…