An Approach for Extracting Library-Based Object-Oriented Applications

        An extraction tool determines redundant program constructs using static analysis, and eliminates these constructs in order to reduce application size. Library-based object-oriented applications typically use only part of the functionality of the class libraries they rely on, and are therefore likely to be excellent candidates for extraction. Thus far, extraction tools have targeted complete applications, and relied on adhoc solutions to accommodate "dynamic" language features such as reflection and dynamic loading. We present a general approach for extracting applications ranging from complete programs to extendible class libraries, in which the user supplies additional information about these features using a modular specification language. We implemented our approach in the context of Jax, an industrial-strength extractor for Java that has been applied to several commercial applications.

By: Peter F. Sweeney, Frank Tip

Published in: RC21596 in 1999

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.

21596.ps.gz

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