Practical Extraction Techniques for Java

Copyright [©] () by Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distrubuted for profit or commericial advantage. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee.

Reducing the application size is important for software that is distributed via the internet, in order to keep download times manageable, and for software that is deployed on embedded devices where memory is a scarce resource. This paper is concerned with the use of program transformations such as the removal of dead methods and fields, inlining of method calls, and transformation of the class hierarchy for reducing application size . We Implemented a number of these techniques in JAX , an application extractor for Java, and evaluate their effectiveness on a set of applications ranging from 45 to 2,326 classes ( with Archives ranging from 55,565 to 3,810,120 bytes). We measured an average size reduction of 54.2% on these benchmarks. Modeling dynamic language features such as reflection, and extracting software distributions other than complete applications requires additional user input in the form of MEL , a modular specification language for specifying extraction. We also study the domain-specific issues that Arise when extracting embedded systems applications.

By: Frank Tip, Peter F. Sweeney, Chris Laffra, Aldo Eisma, David Streeter

Published in: ACM Transactions on Programming Languages and Systems , volume 24, (no 6), pages 625-65 in 2002

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

RC22178.pdf

Questions about this service can be mailed to reports@us.ibm.com .