On a related note, one thing I was wondering is whether Jif still needs to be implemented as java "extension". The paper is from 2000, well before annotations really made their way into Java. It seems like maybe now all the language features of jif could be implemented as an annotation
processor. I imagine (naively?) that you could use real java annotations*, do all the static compile-time checking, and emit run-time checks into the source for declassification. I'm not terribly familiar with the API for annotation processing, though. Does anyone know if it would be possible?
*admittedly, defining the owner->reader maps would be kind of syntactically clunky, since you're limited to arrays