Institute for Software Research
School of Computer Science, Carnegie Mellon University
JavaD: Bringing Ownship Domains
Marwan Abi-Antoun, Jonathan Aldrich
Currently, AliasJava is implemented as a non-backwards compatible extension of the Java programming language. As a result, none of the tool support for Java (from debugging and refactoring to syntax highlighting) is available for AliasJava programs, making it harder to justify the case that Java programs are easier to evolve with AliasJava annotations than without. Furthermore, this makes it harder to specify the ownership and aliasing annotations for a large legacy system since the program cannot be annotated partially and incrementally with AliasJava.
We present JavaD, a re-implementation of the AliasJava language and analysis as a set of Java 1.5 annotations, using the Eclipse Java Development Tooling (JDT) infrastructure and the Crystal Data Flow Analysis framework. We conclude with some lessons learned and future plans.