Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Extracting library-based Java applications

Published: 01 August 2003 Publication History

Abstract

Reducing the size of Java applications by creating an application extractor.

References

[1]
Agesen, O. and Ungar, D. Sifting out the gold: Delivering compact applications from an exploratory object-oriented programming environment. In Proceedings of the Ninth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'94), (Portland, OR, Oct. 1994), 355--370.
[2]
Arnold, K., Gosling, J., and Holmes, D. The Java Programming Language, Third Editon. Addison-Wesley, 2000.
[3]
Bacon, D.F. and Sweeney, P.F. Fast static analysis of C++ virtual function calls. In Proceedings of the 11th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'96), (San Jose, CA, Oct. 1996), 324--341.
[4]
Grove, D. and Chambers, C. A framework for call graph construction algorithms. ACM TOPLAS 23, 6 (Nov. 2001), 685--746.
[5]
Lindholm, T. and Yellin, F. The Java Virtual Machine Specification. Addison-Wesley, 1999.
[6]
Ossher, H. and Tarr, P.L. Using multidimensional separation of concerns to (re)shape evolving software. Commun. ACM 44, 10 (Oct. 2001), 43--50.
[7]
Sweeney, P.F. and Tip, F. Extracting library-based object-oriented applications. In Proceedings of the Eighth International Symposium on the Foundations of Software Engineering (FSE-8), (San Diego, CA, Nov. 6--10, 2000), 98--107.
[8]
Sweeney, P.F. and Tip, F. A study of dead data members in C++ applications. In Proceedings of the ACM SIGLAN '98 Conference on Programming Language Design and Implementation (PLDI'98), (Montreal, CA, June 17--19), 1998.
[9]
Tip, F. and Palsberg, J. 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, Oct. 15--19, 2000), 281--293.
[10]
Tip, F. and Sweeney, P.F. Class hierarchy specialization. Acta Informatica 36 (2000), 927--982.
[11]
Tip, F., Sweeney, P.F., Laffra, C., Eisma, A. and Streeter, D. Practical extraction techniques for Java. ACM TOPLAS 24, 6 (Nov. 2002), 625--666.

Cited By

View all
  • (2019)Leveraging WebAssembly for Numerical JavaScript Code VirtualizationIEEE Access10.1109/ACCESS.2019.29535117(182711-182724)Online publication date: 2019
  • (2018)“Slimming” a Java virtual machine by way of cold code removal and optimistic partial program loadingScience of Computer Programming10.1016/j.scico.2010.04.00876:11(1037-1053)Online publication date: 31-Dec-2018
  • (2010)Efficient off-board deployment and customization of virtual machine-based embedded systemsACM Transactions on Embedded Computing Systems (TECS)10.1145/1698772.16987799:3(1-53)Online publication date: 5-Mar-2010
  • Show More Cited By

Recommendations

Reviews

James Edward Tomayko

The problem with Java, even its later versions, is its associated size constraint: 64K for Java Archive (JAR) files, and 512K overall. This is generous, but still a constraint. The authors make a free tool available, called Jax, which accomplishes the goal set forth in the title: extracting library-based Java applications. The use of Jax to pull out used methods from libraries, while leaving those that are unused, results in a 50 percent size savings. The article itself is a solid introduction to the extraction process, contains a link to Internet resources for Jax, and discusses its effectiveness. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 46, Issue 8
Program compaction
August 2003
112 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/859670
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 2003
Published in CACM Volume 46, Issue 8

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)101
  • Downloads (Last 6 weeks)10
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Leveraging WebAssembly for Numerical JavaScript Code VirtualizationIEEE Access10.1109/ACCESS.2019.29535117(182711-182724)Online publication date: 2019
  • (2018)“Slimming” a Java virtual machine by way of cold code removal and optimistic partial program loadingScience of Computer Programming10.1016/j.scico.2010.04.00876:11(1037-1053)Online publication date: 31-Dec-2018
  • (2010)Efficient off-board deployment and customization of virtual machine-based embedded systemsACM Transactions on Embedded Computing Systems (TECS)10.1145/1698772.16987799:3(1-53)Online publication date: 5-Mar-2010
  • (2010)Computer-Aided Extraction of Software ComponentsProceedings of the 2010 17th Working Conference on Reverse Engineering10.1109/WCRE.2010.28(183-192)Online publication date: 13-Oct-2010
  • (2009)The effectiveness of producer‐side machine‐independent optimizations for mobile codeSoftware: Practice and Experience10.1002/spe.92139:10(923-946)Online publication date: 15-Apr-2009
  • (2008)DolotoProceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering10.1145/1453101.1453151(350-360)Online publication date: 9-Nov-2008
  • (2008)Slim VMProceedings of the 6th international symposium on Principles and practice of programming in Java10.1145/1411732.1411749(117-126)Online publication date: 9-Sep-2008
  • (2007)Tactics for minimal interference from class loading in real-time Java™Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems10.1145/1288940.1288944(23-32)Online publication date: 26-Sep-2007
  • (2005)RomizationProceedings of the Second international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices10.1007/11741060_4(57-76)Online publication date: 8-Mar-2005
  • (2005)Ahead of time deployment in ROM of a Java-OSProceedings of the Second international conference on Embedded Software and Systems10.1007/11599555_9(63-70)Online publication date: 16-Dec-2005
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Magazine Site

View this article on the magazine site (external)

Magazine Site

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media