Boundary Conditions (ctd) There's No Such Thing As Too Many assert()s check passed variables into functions/API calls are correct check objects that should still be there are there check objects that should still be opened are opened "strange but recoverable" errors can cascade and cause lots of random program failures