Exhaustive Test Suite - oils-for-unix/oils GitHub Wiki
Exhaustive test suites (i.e. nearly 100% test coverage) make a lot of hard problems easy.
-
type checking: like I'm doing with ASDL. You can have a very strict type system, but have it be dynamically checked. It's trivial to implement and helps program correctness a lot.
-
buffer overflow detection and security testing: ASAN
-
performance testing. Microbenchmarks, etc.
-
better code structure due to fearless refactoring