Unfortunately I haven’t been able to do much lately. I was taking some time off, tried a few things with DrJava that haven’t worked out so far (status updates when the hourglass comes on, etc.; except for anonymizing error output for bug reports, I put that in), and the last few days I’ve been sick too. I’ve been able to beef up my unit tests for the predicate thread checker enough to have faith in it.
What I should still do is create an easier way to invoke the FileInstrumentor
for the thread checker (mimicing either java or javac, probably), write it as a custom class loader, and write a wholly dynamic thread checker that uses annotations with RUNTIME
retention, and the only inserted code is a call to a Java method that performs all the checking. I believe it will be a lot less efficient than what I’m doing now, but it would be nice to prove that.