I think this monitoring concept costs too much to be really useful, but as a research project its still pretty interesting.
Essentially it's moving doing type propagation in "batch" to a "dynamic trigger" system. How effective that is really depends on the programs (or the programing style) and how often they really change types.
I hope it's not just optimized for the usual benchmarks, but some real code.