Filters








1,136 Hits in 3.8 sec

Memory Requirements of Java Bytecode Verification on Limited Devices

Karsten Klohs, Uwe Kastens
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

Tongyang Wang, Pengfei Yu, Jun-jun Wu, Xin-long Ma
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]

Alexandre Courbot, Mariela Pavlova, Gilles Grimaud, Jean-Jacques Vandewalle
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

Da‐Wei Chang, Ruei‐Chuan Chang
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

Nik Shaylor, Douglas N. Simon, William R. Bush
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

Nik Shaylor, Douglas N. Simon, William R. Bush
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

Nik Shaylor, Douglas N. Simon, William R. Bush
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]

Gilles Barthe, Guillaume Dufay
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

Cinzia Bernardeschi, Giuseppe Lettieri, Luca Martini, Paolo Masci
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]

Faisal Aslam, Luminous Fennell, Christian Schindelhauer, Peter Thiemann, Gidon Ernst, Elmar Haussmann, Stefan Rührup, Zastash A. Uzmi
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

Chenguang Luo, Guanhua He, Shengchao Qin
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]

Guillaume Barbu, Hugues Thiebeauld, Vincent Guerin
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

G. Barthe, M. Pavlova, G. Schneider
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

H. McGhan, M. O'Connor
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]

Dorina Ghindici, Gilles Grimaud, Isabelle Simplot-Ryl
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