Testing should be faster. One good way to accomplish
this is to speed up the checker in general. And a good
way to do that is to precompile in all of the
specifications used by Object, which have to be read
and checked anyway.
We have also started to implement tests that are more
JUnit based, but more could perhaps be done with this.
Logged In: YES
user_id=595682
Precompiling (and storing as part of .class files?) would
also speed up all tool operation - hence my change to the
summary.
Logged In: YES
user_id=635640
I have refactored the various caches into mjc.TypeLoader and
checker.JmlTypeLoader. However, someone with more knowledge
of the refinement mechanisms (i.e., Clyde) needs to finish
the implementation of JmlTypeLoader. In particular we need
two caches (one compilation session, one VM session) for
each existing cache. Then when tests are JUnitized we can
avoid reparsing/reprocessing all the java.* and
org.jmlspecs.models.* types. Speed up on MultiJava was
better than 3x for JUnitized tests and better than 1.6x
overall. Speed up for JML will likely be even better since
the trusted types in MJ are read from bytecode but will be
read from source for JML.
See mjc.TypeLoader for the basic idea. This would be a good
project to pair program on.
Logged In: YES
user_id=633675
Caching is done. The rest can wait.