Extracting Java library subsets for deployment on embedded systems
Derek Rayside,Kostas Kontogiannis +1 more
- 03 Mar 1999
- Vol. 45, Iss: 2, pp 102-110
TL;DR: This paper presents a technique that is used for dynamically selecting, on an as needed basis, the subset of library entities that is exactly required for a given Java application to run, which can then be down-loaded to the device for execution.
read more
Abstract: Embedded systems provide means for enhancing the functionality delivered by small-sized electronic devices such as hand-held computers and cellular phones. Java is a programming language which incorporates a number of features that are useful for developing such embedded systems. However the size and the complexity of the Java language and its libraries have slowed its adoption for embedded systems, due to the processing power and storage space limitations found in these systems. A common approach to address storage space limitations is for the vendor to offer special versions of the libraries with reduced functionality and size to meet the constraints of embedded systems. This paper presents a technique that is used for dynamically selecting, on an as needed basis, the subset of library entities that is exactly required for a given Java application to run. This subset can then be down-loaded to the device for execution. The advantage of this approach is that the developer can use arbitrary libraries, instead of being restricted to those which have been adapted for embedded systems by the vendors. A prototype system, that dynamically builds library subsets on an as needed per application basis, has been built and tested on several mid-size Java applications with positive results.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Measuring the Impact of Code Dependencies on Software Architecture Recovery Techniques
Thibaud Lutellier,Devin Chollak,Joshua Garcia,Lin Tan,Derek Rayside,Nenad Medvidovic,Robert Kroeger +6 more
TL;DR: The results of the evaluation of nine architecture recovery techniques and their variants suggest that using accurate symbol dependencies has a major influence on recovery quality, and more accurate recovery techniques are needed.
Practical extraction techniques for Java
TL;DR: 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, and presents a uniform approach for supplying this input that relies on MEL, a modular specification language.
83
Comparing software architecture recovery techniques using accurate dependencies
Thibaud Lutellier,Devin Chollak,Joshua Garcia,Lin Tan,Derek Rayside,Nenad Medvidovic,Robert Kroeger +6 more
- 16 May 2015
TL;DR: The results suggest that in addition to architecture recovery techniques, the accuracy of dependencies used as their inputs is another factor to consider for high recovery accuracy, and more accurate recovery techniques are needed.
77
Initialize once, start fast: application initialization at build time
Christian Wimmer,Codrut Stancu,Peter Hofer,Vojin Jovanovic,Paul Wögerer,Peter B. Kessler,Oleg A. Pliss,Thomas Würthinger +7 more
- 10 Oct 2019
TL;DR: GraalVM Native Image uses a novel iterative application of points-to analysis and heap snapshotting, followed by ahead-of-time compilation with an optimizing compiler, which allows Java applications to have a better startup performance than Go applications and the V8 JavaScript VM.
59
Analyzing Java software by combining metrics and program visualization
Tarja Systä,Ping Yu,Hausi A. Müller +2 more
- 29 Feb 2000
TL;DR: Shimba, a prototype reverse engineering environment, has been built to support the understanding of Java software and uses Rigi and SCED to analyze, visualize, and explore the static and dynamic aspects of the subject system.
50
References
•Book
The Java Language Specification
James Gosling,Bill Joy,Guy L. Steele +2 more
- 12 Sep 1996
TL;DR: The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.
•Book
The Java Virtual Machine Specification
Tim Lindholm,Frank Yellin +1 more
- 19 Sep 1996
TL;DR: In this article, the authors present a detailed overview of the Java Virtual Machine, including the internal structure of the class file format, the internal form of Fully Qualified Class and Interface names, and the implementation of new class instances.
•Dissertation
A discourse analysis of business negotiations in China : the effects of cultural background on the negotiation process
Line Bertheussen
- 01 Jan 2005
TL;DR: In this paper, the problem of finding a provably optimal cable routing in a large-scale broadcast network is addressed using a set of heuristisch konstruierten and meta-heuristic methods.
734
Fast static analysis of C++ virtual function calls
David F. Bacon,Peter F. Sweeney +1 more
- 01 Oct 1996
TL;DR: This work investigates the ability of three static analysis algorithms to improve C++ programs by resolving virtual function calls, thereby reducing compiled code size and reducing program complexity so as to improve both human and automated program understanding and analysis.
Practical virtual method call resolution for Java
Vijay Sundaresan,Laurie Hendren,Chrislain Razafimahefa,Raja Vallée-Rai,Patrick Lam,Etienne Gagnon,Charles Godin +6 more
- 01 Oct 2000
TL;DR: This paper addresses the problem of resolving virtual method and interface calls in Java bytecode by developing a technique that can be solved with only one iteration, and thus scales linearly with the size of the program, while at the same time providing more accurate results than two popular existing linear techniques, class hierarchy analysis and rapid type analysis.
Related Papers (5)
James Gosling,Bill Joy,Guy L. Steele +2 more
- 12 Sep 1996
David F. Bacon,Peter F. Sweeney +1 more
- 01 Oct 1996
Derek Rayside,Evan Mamas,Erik Hons +2 more
- 08 Nov 1999
Tim Lindholm,Frank Yellin +1 more
- 19 Sep 1996