Tools for defensive programming
