Practical extraction techniques for Java

Practical extraction techniques for Java
复制标题

Java 实用提取技术

DOI:
10.1145/586088.586090
复制
发表时间:
2002
期刊:
ACM Trans. Program. Lang. Syst.
影响因子:
--
通讯作者:
D. Streeter
D. Streeter
中科院分区:
--
文献类型:
--
作者:
F. Tip;P. Sweeney;C. Laffra;A. Eisma;D. Streeter

文献摘要

被引文献

相似文献

减少应用程序大小对于通过Internet分发的软件很重要,以使下载时间可管理,并且在嵌入式系统的范围内,在该系统的范围内,该应用程序通常存储在(无读或闪存)内存中。本文探讨了提取技术,例如删除无法实现的方法和冗余字段,方法呼叫的内衬以及用于减少应用程序大小的类层次结构的转换。我们在Jax(Java的应用提取器)中实施了许多提取技术,并评估了它们对一组大型Java应用程序的有效性。我们发现,平均而言,这些基准的类文件档案将其降低到其原始大小的37.5%。建模动态语言功能,例如反射和提取完整应用程序以外的其他软件分布需要其他用户输入。我们提出了一种统一的方法来提供此输入,该输入依赖于MEL(一种模块化规范语言)。我们还讨论了与嵌入式系统应用程序提取相关的许多问题和挑战。
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.