![[ IBM Research ]](/research/newmast/projectmasts/masthead10.GIF)
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