A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2017; you can also visit the original URL.
The file type is application/pdf
.
Filters
Memory Requirements of Java Bytecode Verification on Limited Devices
2005
Electronical Notes in Theoretical Computer Science
Limited devices, like Java smart cards, lack the necessary amount of memory to verify the type-safety of Java bytecode on their own. ...
In this paper, we extend this approach to real world Java software and develop a precise model of the memory requirements on the device. ...
Conclusion Rose's proof carrying code approach for bytecode verification on limited devices has served as the starting point of our research. ...
doi:10.1016/j.entcs.2005.01.031
fatcat:qvjdy6gqpvflxjtga44nyi3aya
Research on On-card Bytecode Verifier for Java Cards
2009
Journal of Computers
This feature is optional in many embedded devices since the memory requirements of the verification process and the process capability of hardware are too high. ...
The bytecode verification is a key point of the security chain of the Java Platform. ...
Xinfang Zhang, constructive suggestions from Xinlong Ma and Mingwei Fang, and collaborations of Tongyang Wang and Jun-jun Wu are gratefully acknowledged. ...
doi:10.4304/jcp.4.6.502-509
fatcat:nrwjb2bmlrb3taresf3saxn47a
A Low-Footprint Java-to-Native Compilation Scheme Using Formal Methods
[chapter]
2006
Lecture Notes in Computer Science
However, native code is much bigger than Java bytecode, which severely limits or even forbids these practices for devices with memory constraints. ...
Results show memory footprints for native code that are up to 70% smaller than the non-optimized version, and sometimes as low than 115% the size of the Java bytecode when compiled for ARM thumb. ...
Acknowledgments The authors would like to thank Jean-Louis Lanet for kindly providing us with the JML-annotated sources of the banking, scheduler and tcpip programs evaluated in this paper. ...
doi:10.1007/11733447_24
fatcat:xwgyjiskifckppytptysrwcsmm
EJVM: an economic Java run‐time environment for embedded devices
2001
Software, Practice & Experience
In this paper, we propose EJVM (Economic Java Virtual Machine), an economic way to run Java programs on network-enabled and resource-limited embedded devices. ...
In addition, we use two novel techniques to reduce the client-side memory footprints: server-side class representation conversion and on-demand bytecode loading. ...
Unfortunately, it is not easy to apply Java technology to resource-limited embedded devices due to the large resource requirements of Java platforms. ...
doi:10.1002/1097-024x(200102)31:2<129::aid-spe359>3.0.co;2-1
fatcat:xbjrsqmyerhwzgpcdpmrv22iwy
A java virtual machine architecture for very small devices
2003
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems - LCTES '03
These implementations require several tens of kilobytes. Smaller Java-like implementations also exist, but these involve compromises in Java semantics. ...
For portability and ease of debugging, the entire system is written in the Java language, with key components automatically translated into C and compiled for the target device. ...
It does this, however, with considerably smaller on-device memory requirements, both in terms of the static system footprint and the RAM required to verify, load, and run applications. ...
doi:10.1145/780737.780738
fatcat:l3v4addz4vanpfwqu4d4usrlwu
A java virtual machine architecture for very small devices
2003
SIGPLAN notices
These implementations require several tens of kilobytes. Smaller Java-like implementations also exist, but these involve compromises in Java semantics. ...
For portability and ease of debugging, the entire system is written in the Java language, with key components automatically translated into C and compiled for the target device. ...
It does this, however, with considerably smaller on-device memory requirements, both in terms of the static system footprint and the RAM required to verify, load, and run applications. ...
doi:10.1145/780731.780738
fatcat:ylmiwgu7mjfrbcmo2e4nw3oqfe
A java virtual machine architecture for very small devices
2003
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems - LCTES '03
These implementations require several tens of kilobytes. Smaller Java-like implementations also exist, but these involve compromises in Java semantics. ...
For portability and ease of debugging, the entire system is written in the Java language, with key components automatically translated into C and compiled for the target device. ...
It does this, however, with considerably smaller on-device memory requirements, both in terms of the static system footprint and the RAM required to verify, load, and run applications. ...
doi:10.1145/780732.780738
dblp:conf/lctrts/ShaylorSB03
fatcat:lcfferlzpna3hibn3ysezgadc4
Formal Methods for Smartcard Security
[chapter]
2005
Lecture Notes in Computer Science
Such an increased flexibility raises concerns about the possibility of logical attacks that could affect a very large number of devices, and requires the development of techniques and tools that can be ...
The objective of this chapter is to describe some applications of formal methods to increase the reliability of smartcards and trusted personal devices. ...
The work reported here has been partially funded by the Euro-The authors are grateful to Julien Forest and Tamara Rezk for their comments on an earlier version of the chapter, and to the former and present ...
doi:10.1007/11554578_5
fatcat:4y7miflopjhs7ik5wvacpen7f4
A Space-Aware Bytecode Verifier for Java Cards
2005
Electronical Notes in Theoretical Computer Science
This feature is optional in many embedded devices since the memory requirements of the verification process are too high. ...
The bytecode verification is a key point of the security chain of the Java Platform. ...
Among the embedded devices, Java Cards represent an interesting research challenge since they have limited resources but require high security features. ...
doi:10.1016/j.entcs.2005.02.027
fatcat:yqohtc6ocfdtlpllwqyhcixbzi
Optimized Java Binary and Virtual Machine for Tiny Motes
[chapter]
2010
Lecture Notes in Computer Science
TakaTuka optimizes storage requirements for the Java classfiles as well as for the JVM interpreter, both of which are expected to be stored on the embedded devices. ...
We have developed TakaTuka, a Java Virtual Machine optimized for tiny embedded devices such as wireless sensor motes. TakaTuka 1 requires very little memory and processing power from the host device. ...
with a limited scope of operation only on specific devices. ...
doi:10.1007/978-3-642-13651-1_2
fatcat:njopvxatmfee5mllfggm2zjrgm
A Heap Model for Java Bytecode to Support Separation Logic
2008
2008 15th Asia-Pacific Software Engineering Conference
We propose in this paper a formal heap model for Java bytecode language, on top of which we can then provide separation logic support for further memory usage verification. ...
Program codes running on or being downloaded into such devices are often available in low-level bytecode forms. ...
The resource of these micro-devices for bytecode programs, such as the memory space, is usually quite limited. ...
doi:10.1109/apsec.2008.72
dblp:conf/apsec/LuoHQ08
fatcat:s4owckry7jbqpnd6bsqxjb4gve
Attacks on Java Card 3.0 Combining Fault and Logical Attacks
[chapter]
2010
Lecture Notes in Computer Science
Nevertheless it can no longer be applied to the Java Card 3 Connected Edition context where the bytecode verification is necessarily performed on-card. ...
Finally we successfully mount these attacks on a recent device, emphasizing the necessity of taking into account these new threats when implementing Java Card 3 features. ...
Acknowledgement The authors would like to thank Nicolas Bousquet, for his valuable suggestions during the design of the case studies presented in this paper, and Nicolas Morin, for his contribution to ...
doi:10.1007/978-3-642-12510-2_11
fatcat:rlbzvlmhczf5fhomketqnkghuy
Precise analysis of memory consumption using program logics
2005
Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05)
) Java applets, and how verification tools can be used to enforce such memory consumption policies. ...
Second, we consider the issue of inferring some of the annotations required to express the memory consumption policy. ...
Verification of annotated bytecode In order to validate annotated Java bytecode programs, we resort to a verification environment for Java bytecode (described in [7] ), which is an adaptation of JACK ...
doi:10.1109/sefm.2005.34
dblp:conf/sefm/BarthePS05
fatcat:gp4kg64fefh7pag7awcdsvbxtq
PicoJava: a direct execution engine for Java bytecode
1998
Computer
A small, flexible microprocessor core, picoJava directly executes Java bytecode instructions and provides hardware support for other essential functions of the Java virtual machine. ...
To this end, it introduces a new instruction set architecture based on Java bytecodes, a stack cache to eliminate inefficiencies typically associated with stack-based instruction processing, and hardware ...
Acknowledgments The authors acknowledge the work and helpful influences of members of the picoJava and microJava 701 management and engineering teams. ...
doi:10.1109/2.722273
fatcat:slabk5xz7fawdocoqecfchfroe
An Information Flow Verifier for Small Embedded Systems
[chapter]
2007
Lecture Notes in Computer Science
The verifier is implemented as a class loader and can be used on any Java Virtual Machine. ...
We introduce a verifier able to certify at loading time Java applications already typed with signatures describing possible information flows. ...
Size of annotations Off board analysis
On board verification
Benchmark
Classes
Methods
Class
iterations
Bytecode
iterations
Analysis
time (s)
Average
memory (Kb)
Maximum
memory (Kb)
Execution ...
doi:10.1007/978-3-540-72354-7_16
fatcat:o63axqppozcito7dmqmn7bduvm
« Previous
Showing results 1 — 15 out of 1,136 results