Bad advice on confirming the existence of bugs.

# Mark S. Miller (8 years ago)

On Wed, Jul 27, 2016 at 10:20 AM, Alex Vincent <ajvincent at gmail.com> quoted:

-- "The first step in confirming there is a bug in someone else's work is confirming there are no bugs in your own." -- Alexander J. Vincent, June 30, 2001

I rarely comment on these incidental aphorisms, but this one is so wrong that it is worth pointing out. You can confirm the existence of many bugs by

  • demonstration via failing test case,
  • finding the bug,
  • having a plausible explanation for why it is incorrect,
  • writing a fix with a plausible explanation for why it fixes the problem, and
  • demonstrating that the fix repairs the demonstrated test case.

However hard this is, it is vastly easier than confirming that there are no bugs in your own code.

# Mike Samuel (8 years ago)

On Aug 4, 2016 11:57 AM, "Mark S. Miller" <erights at google.com> wrote:

On Wed, Jul 27, 2016 at 10:20 AM, Alex Vincent <ajvincent at gmail.com>

quoted:

-- "The first step in confirming there is a bug in someone else's work is

confirming there are no bugs in your own."

-- Alexander J. Vincent, June 30, 2001

I rarely comment on these incidental aphorisms, but this one is so wrong

that it is worth pointing out. You can confirm the existence of many bugs by

  • demonstration via failing test case,
  • finding the bug,
  • having a plausible explanation for why it is incorrect,
  • writing a fix with a plausible explanation for why it fixes the

problem, and

  • demonstrating that the fix repairs the demonstrated test case.

However hard this is, it is vastly easier than confirming that there are

no bugs in your own code.

The latter requires a closed definition of "bug," but the former can be done using an open definition.