ACM Home Page
Please provide us with feedback. Feedback
Practical extraction techniques for Java
Full text PdfPdf (1.01 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 24 ,  Issue 6  (November 2002) table of contents
Pages: 625 - 666  
Year of Publication: 2002
ISSN:0164-0925
Authors
Frank Tip  IBM T. J. Watson Research Center, Yorktown Heights, NY
Peter F. Sweeney  IBM T. J. Watson Research Center, Yorktown Heights, NY
Chris Laffra  Object Technology International, Amstelveen, The Netherlands
Aldo Eisma  Object Technology International, Amstelveen, The Netherlands
David Streeter  IBM Toronto Laboratory, Toronto, Ontario, Canada
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 20,   Downloads (12 Months): 87,   Citation Count: 17
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/586088.586090
What is a DOI?

ABSTRACT

Reducing application size is important for software that is distributed via the internet, in order to keep download times manageable, and in the domain of embedded systems, where applications are often stored in (Read-Only or Flash) memory. This paper explores extraction techniques such as the removal of unreachable methods and redundant fields, inlining of method calls, and transformation of the class hierarchy for reducing application size. We implemented a number of extraction techniques in Jax, an application extractor for Java, and evaluated their effectiveness on a set of large Java applications. We found that, on average, the class file archives for these benchmarks were reduced to 37.5% of their original size. Modeling dynamic language features such as reflection, and extracting software distributions other than complete applications requires additional user input. We present a uniform approach for supplying this input that relies on MEL, a modular specification language. We also discuss a number of issues and challenges associated with the extraction of embedded systems applications.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
 
4
 
5
6
 
7
8
9
 
10
 
11
12
13
 
14
De Sutter, B. 2002. Compactie van programma's na het linken. Ph.D. thesis, Gent University. In Dutch.
15
16
 
17
18
 
19
Digitalk Inc. 1993. Smalltalk/V for win32 Programming. Digitalk Inc. Chapter 17: Object Libraries and Library Builder.
 
20
Eisma, A. 2001. Feedback directed ahead-of-time compilation for embedded Java applications. In Java Optimization Strategies for Embedded Systems, U. Assmann, Ed. Genova, Italy, 105--112. Workshop held at ETAPS'01.
21
 
22
Fowler, M. 1999. Refactoring. Addison-Wesley.
23
24
 
25
 
26
IBM Corporation 1995. IBM Smalltalk User's Guide, Version 3.0 ed. IBM Corporation. Chapter 36: Introduction to Packaging, Chapter 37: Simple Packaging, Chapter 38: Advanced Packaging.
 
27
28
 
29
30
 
31
 
32
 
33
ParcPlace Systems 1992. ParcPlace Smalltalk, ObjectWorks Release 4.1 ed. ParcPlace Systems. Section 16: Deploying an Application, Section 28: Binary Object Streaming Service.
 
34
35
 
36
 
37
38
39
40
41
 
42
43
 
44
Sun Microsystems 1997. JavaBeans, Version 1.01 ed. Sun Microsystems, 2550 Garcia Avenue, Mountain View, CA 94043.
 
45
Sun Microsystems 1999. Java 2 {S}oftware Development Kit, Version 1.2.2 ed. Sun Microsystems, 2550 Garcia Avenue, Mountain View, CA 94043. Available at http://java.sun.com/docs/books/ tutorial/ext/security/sealing.html.
46
47
48
 
49
Thies, M. 1999a. A closer look at inter-library dependencies in Java-software. In Java-Informations-Tage 1999 (JIT'99). Informatik Aktuell. Springer Verlag.
 
50
Thies, M. 1999b. Static compositional analysis of libraries in support of dynamic optimization. Technischer Bericht tr-ri-99-210, University of Paderborn. Aug.
51
52
53
54
 
55
56

CITED BY  17


REVIEW

"Lunjin Lu : Reviewer"

The authors previously developed Jax, a suite of tools for extracting an application, in order to reduce its size and improve its execution time. This paper presents methods for analyzing, extracting, and transforming applications as implemented i  more...

Collaborative Colleagues:
Frank Tip: colleagues
Peter F. Sweeney: colleagues
Chris Laffra: colleagues
Aldo Eisma: colleagues
David Streeter: colleagues