Nano-Pattern Detection Tool

Nano-patterns are simple boolean properties of Java methods, such as returnsVoid and containsLoop. Our ENTCS paper [here] [preprint] has more details. This project is now hosted at github. You can also download the nano-pattern detector tool here, as a jar file. (Run as java -jar np.jar CLASSFILE.) The code relies on the ASM bytecode manipulation library.

Nano-patterns were inspired by Gil and Maman's micro-patterns for Java classes. Einar Host has taken these ideas much further, in his excellent research papers.

Jikes RVM Extensions

Much of my research into memory management and managed runtime systems is based on the Jikes RVM platform. Some of my code is in the official Jikes RVM distribution. More experimental code is stored in the Research Archive, here and here .

Java Fork/Join Concordance Application

This is my entry to the SICSA multicore challenge workshop. The application creates a concordance for a text file, giving the indices of all phrases of length <= N. The parallelism is generated using Doug Lea's Java fork/join library. The code is hosted at

GCBench for Standard ML

In my work with the Poly/ML runtime system, I have used Hans Boehm's GC benchmark. I ported a variant of this code to SML: gcbench.sml