JPURE: A Modularly Checkable Purity System for Java
Purity Analysis is the problem of determining whether or not a method may have side-effects. This has applications in automatic parallelisation, extended static checking, and more.
JPure is a novel purity system for Java that employs purity annotations which can be checked modularly. This is done using a flow-sensitive, intraprocedural analysis. The system exploits two properties, called freshness and locality, to increase the range of methods that can be considered pure. JPure also includes an inference engine for annotating legacy code.
Publications
JPure: a Modular Purity System for Java. David J. Pearce. In Proceedings of the Conference on Compiler Construction, volume 6601 of Lecture Notes in Computer Science, pages 104--123, 2011. © Springer-Verlag [ Postscript / PDF / PPT / Conference Website ]
Download
| Release | Date | Arch | Files |
| v0.2 | July 2011 | UNIX (inc. Linux) / Cygwin | jpure-110711.tgz |
| v0.1 | October 2010 | UNIX (inc. Linux) / Cygwin | jpure-210410.tgz |
Documentation
You will need to download the ANTLR runtime library as well; this should be loaded onto the classpath, or copied into the jpure/lib directory (where it should be picked up by the bin/jpure script). Finally, JPure builds on top of JKit.