Understanding Legacy Code
Analyzed interpreter (quake) built at DEC SRC
Discovered latent bugs (ordinary lint can do this)
Discovered programming conventions
- Documented use of built-in types (int, char, bool)
- Identified (and repaired) (nearly) abstract types
Documented action of procedures
- Use of global information, side-effects
Enhanced documentation a common thread
- Easier to read and write because formulaic
- More trustworthy because checked