3. Identify Bugs
Test code bugs
No
Yes
Function code
bugs
No
Yes
Specification
bugs
No
Yes
Compiler or Lib
bugs
No
Yes
Fix it
Fix it
Discuss about it
Fix It
or ask people
in community
Other
deeper layer
4. Assertions
• Self-checking
• Fail fast
• Pre-condition
• Post-condition
• Maintain invariant
• Note: don’t forget to turn it off in production code