Browser must be script enabled to view current section [ IBM Research ]Skip to main content
[ Find ] [ News ] [ Products ] [ Support ] [ Business solutions ] [ Inside IBM ] [ Interest groups ]

JAX: An Application Extractor for Java

Scope

The Jax project is concerned with reducing the size of Java applications in order to reduce download time. JAX reads in the class files that constitute a Java application, and performs a whole-program analysis to determine the components (e.g., classes, methods, and fields) of the application that must be retained in order to preserve program behavior. JAX then applies several size-reducing transformations to the application, and writes out a class file archive containing the extracted application. Transformations currently incorporated in JAX include: removal of redundant attributes such as local variable name tables and line-number tables, removal of redundant methods and fields, inlining of method calls in cases where this reduces program size, transformation of the class hierarchy, and renaming of packages, classes, methods and fields. of up to 2,300 classes, and we have measured size reductions of up to 90%, where the larger size reductions generally occur for large, library-based applications. The average size reduction we observed is about 50%.

Project status

The JAX project has been concluded, and its members have moved on to other projects. You are welcome to download JAX from alphaWorks, but beware that the tools is made available be on an as-is basis. Nobody is actively supporting JAX, so you will be on your own!

Miscellaneous information

FAQ
The people who developed JAX
download JAX from alphaWorks
a tutorial about JAX

Publications related to the JAX project

The following papers describe research projects that were carried out in the context of JAX.
Frank Tip, Chris Laffra, Peter F. Sweeney, and David Streeter, Practical experience with an application extractor for Java, In Proceedings of the Fourteenth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'99), (Denver, CO, November 1--5, 1999), pp 292-305. Appeared in ACM SIGPLAN Notices 34(10).
Peter F. Sweeney and Frank Tip, Extracting library-based object-oriented applications, In Proceedings of the Eighth International Symposium on the Foundations of Software Engineering (FSE-8), (San Diego, CA, November 6--10, 2000), pp. 98-107. Appeared in ACM SIGSOFT Software Engineering Notes 25(6).
Frank Tip and Jens Palsberg, Scalable propagation-based call graph construction algorithms, In Proceedings of the Fifteenth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'00), (Minneapolis, MN, October 15-19, 2000), pp. 281-293. Appeared in ACM SIGPLAN Notices 35(10).
These pages will be updated infrequently.

Copyright IBM 1997-2001. All Rights Reserved
Contact IBM Legal Privacy Order IBM Home Research Home