Michiel Helvensteijn wrote:
* Add 'uninitialized' to the set of possible states of each type. Every time a variable is read, assert that it is initialized first. Use the static analysis techniques that *are* available (a set that will continue to grow) to eliminate these tests (and the extended state) where possible.
I believe this is what valgrind does by instrumenting each variable at runtime.