Bug Magnets: Booby-Traps in your Code

By Dave Aronson

Elevator Pitch

Have you ever inherited code, made a simple change, and had it completely fail to work how you thought it would? It might not be entirely your fault! The previous developer may have laid a trap for you. This talk will help you spot many such traps, and avoid laying them yourself.

Description

Have you ever inherited code, made a simple change, had it completely fail to work how you thought it would, and spent hours hunting down a subtle bug? It might not be entirely your fault! The previous developer may have laid a trap for you to step into. This talk will help you spot many such traps before you trigger them, and avoid laying them yourself.

Notes

There is code, so of course each one is in some specific language, but most of the concepts are language-independent.

Agenda:

  • What’s a bug-magnet?
  • Famous real-life examples, like Apple’s goto-fail
  • Other bug-attractive common situations, like complex code or lacking tests
  • Less well known examples
  • Theoretical examples I haven’t actually seen
  • General advice
  • Tools
  • Wrapup