plural case studies at ecoop 2009

Updated October 2010

A paper on case studies with Plural was published at ECOOP 2009 in Genova. For this paper I annotated a number of Java standard library APIs with Plural-readable annotations. In the interest scientific transparancy, I am making the annotated Java API files available here.

For license-technical reasons, I currently cannot make the open-source programs I checked against these APIs available publicly; please contact me if you would like to look at these files.

plural internals paper

Posted February 2009

I recently wrote a paper for ISSTA on how Plural infers permissions flowing through Java code. Check it out to see how Plural really works!

plural collection examples

Posted January 2009

Based on a recent case study on annotating Java APIs I added sample specifications of Java Collections Framework interfaces to the Plural subversion repository on Google Code. The provided sample files extend Collections interfaces that are part of the Java standard library. They do not add any methods but rather include Plural annotations for existing most methods. The specification illustrates the use of marker states aka type qualifiers to distinguish modifiable from unmodifiable collections, one of the tricky aspects of using the Collections API. It also shows, in particular in the List and Map interfaces, how permissions can be used to capture collection views, an issue that is hard to handle with other protocol enforcement approaches.


Posted June 2008

Plural is a static protocol analysis tool for Java that I am developing with Nels Beckman.  You can download the sources for Plural and find instructions on how to install it under Eclipse on Google Code.