Toward a unified framework for version modeling in engineering databases
ACM Computing Surveys (CSUR)
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Slicing class hierarchies in C++
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Simple and effective analysis of statically-typed object-oriented programs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Fast static analysis of C++ virtual function calls
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concrete type inference: delivering object-oriented applications
Concrete type inference: delivering object-oriented applications
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Class hierarchy specialization
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Call graph construction in object-oriented languages
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compatible genericity with run-time types for the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Tailored compression of Java class files
Software—Practice & Experience
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Practical experience with an application extractor for Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compression of Java class files
Compression of Java class files
Practical virtual method call resolution for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Scalable propagation-based call graph construction algorithms
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java bytecode compression for low-end embedded systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Inside the Java Virtual Machine
Inside the Java Virtual Machine
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
Thinking in Java
Embedded Internet Systems: Poised for Takeoff
IEEE Internet Computing
Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
A Generic Worklist Algorithm for Graph Reachability Problems in Program Analysis
CSMR '02 Proceedings of the 6th European Conference on Software Maintenance and Reengineering
Compact Java binaries for embedded systems
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
JAZZ: an efficient compressed format for Java archive files
CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
Sharpening global static analysis to cope with Java
CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
Extracting Java Library Subsets for Deployment on Embedded Systems
CSMR '99 Proceedings of the Third European Conference on Software Maintenance and Reengineering
Change and Adaptive Maintenance Detection in Java Software Systems
WCRE '98 Proceedings of the Working Conference on Reverse Engineering (WCRE'98)
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Fast and effective optimization of statically typed object-oriented languages
Fast and effective optimization of statically typed object-oriented languages
A language-independent software renovation framework
Journal of Systems and Software - Special issue: Software reverse engineering
The ExoVM system for automatic VM and application reduction
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Tactics for minimal interference from class loading in real-time Java™
JTRES '07 Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems
A search-based approach for dynamically re-packaging downloadable applications
CASCON '07 Proceedings of the 2007 conference of the center for advanced studies on Collaborative research
Applying genetic algorithm for the development of the components-based embedded system
Computer Standards & Interfaces
Efficient off-board deployment and customization of virtual machine-based embedded systems
ACM Transactions on Embedded Computing Systems (TECS)
Romization: early deployment and customization of java systems for constrained devices
CASSIS'05 Proceedings of the Second international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Ahead of time deployment in ROM of a Java-OS
ICESS'05 Proceedings of the Second international conference on Embedded Software and Systems
Application-Driven customization of an embedded java virtual machine
EUC'05 Proceedings of the 2005 international conference on Embedded and Ubiquitous Computing
Hi-index | 0.00 |
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. 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. However, such an approach will severely limit the type of applications that can be deployed. This paper presents a technique that is used for selecting, of 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 on an as needed basis. 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 builds library subsets on per application basis, has been built and tested on several mid-size Java applications with encouraging results.