Another cool project would be to build a dependency analysis tool on top of Spy, which would take care of dynamic dependencies (especially invocations, perhaps also types).
I exactly worked on this years ago. Extracting nominal types from the test execution. It works well. It helped me to find many problems in Mondrian. For example, the fact that I needed a MONodeShape. There was some nil references passing around, and many more. http://www.moosetechnology.org/tools/spy/Keri
Even though this is useful, it may be the last time I worked on type. This is very hard to sell because of the conservatism of the ecoop and oopsla community. E.g., Are you saying that these problems would not exist if it was written in a statically typed language? Is Mondrian type safe? ...
My guess is that it would be pretty easy to push MooseChef on top of that (write some primitive queries) and even perhaps build mixed tool for analysis of static vs dynamic dependencies.
Oh yes...
Alexandre