| P. Hartel and L. Moreau. Formalizing the Safety of Java, the Java Virtual Machine and Java Card. ACM Computing Surveys, 33(4):517558, December 2001. |
....in standard Java programming environments. 1. 2 Does Java support true separate compilation Though Java is widely known as paradigmatic example of language supporting separate compilation, neither standard Java compilers nor existing formal de nitions of the Java type system (e.g. 3] see [6] for more references) match the above schema. First, let us brie y recall how a standard Java compiler works. Assume for simplicity that source fragments coincide with .java les containing exactly one class or interface declaration , and that we invoke the compiler on only one class, say C. ....
....and implementation issues, leaving for future work a more complete treatment able to encompass this preliminary study. 3. 1 When Java compilers perform true separate compilation As already mentioned, all formal speci cations of Java typechecking compilation de ned so far (e.g. 3, 4] but see [6] for a more complete list of references) do not consider the issue of true separate compilation: programs (that is, collections of class de nitions either in source or in bytecode) are assumed to be closed, that is, they cannot refer to classes whose de nition is not available. However in ....
P. H. Hartel and L. A. V. Moreau. Formalizing the safety of Java, the Java Virtual Machine and Java card. ACM Computing Surveys, 2001. To appear.
....by its operand and places the address of the next instruction on top of the stack. The ret instruction jumps to the address stored in local variable i. 7 Related Work Since its official release, the Java language has attracted considerable interest from the research community. Hartel and Moreau [10] provide a comprehensive review of the substantial amount of work dedicated to the study of each of the main components of Java: the Java Language[11 13] the Java Virtual Machine (JVM) 14 16] and Java to JVM compiler [17,18] and most of its interesting features: object orientation, dynamic class ....
....of Java: the Java Language[11 13] the Java Virtual Machine (JVM) 14 16] and Java to JVM compiler [17,18] and most of its interesting features: object orientation, dynamic class loading, garbage collection, multithreading, its type system and bytecode verification. However, as pointed out in [10], no single attempt has been made at specifying full Java, the full JVM, or the full compiler. The type system used in this paper is influenced by the work of Freund and Mitchell [19] The smaller size and complexity of the Java Card platform simplifies the task of formalising the whole system or ....
P. H. Hartel, L. A. V. Moteau, Formalizing the safety of Java, the Java Virtual Machine and Java Card, ACM Computing Surveys 33 (4) (2001) 517-558.
.... by the lack of precision in the reference publications of Sun s verifier [9, 31, 14] many researchers have published rational reconstructions, formalizations, and formal proofs of correctness of various subsets of Sun s verifier [6, 22, 21, 23, 7, 18, 25] See Hartel and Moreau s survey [12] for a more detailed description. These works were influential in understanding the issues, uncovering bugs in Sun s implementation of the verifier, and generating confidence in the algorithm. Unfortunately, most of these works address only a subset of the verifier. In particular, 25] is the ....
Hartel PH and Moreau LAV. Formalizing the safety of Java, the Java virtual machine and Java card. ACM Computing Surveys, 2001. To appear.
....The JCSystem class seems to be the hardest class in the API to specify, and it is closely connected with some of the peculiarities of JavaCard as opposed to Java. 1 Introduction There has been a lot of work on formalisations of the Java(Card) platform. For a comprehensive overview see [4]. However, most of the work has concentrated on the Java(Card) Virtual Machine, and there has only been very little work on formalisations of the other component of the JavaCard platform, the JavaCard API. This paper reports on an ongoing e ort to develop a formal speci cation of the JavaCard API ....
P. H. Hartel and L. A. V. Moreau. Formalizing the safety of Java, the Java virtual machine and Java Card. ACM Computing Surveys, 2001. to appear.
....based on ideas of type systems for continuations and polymorphic recursion. It seems that any type system (or bytecode verifier) that checks each subroutine only once will reject legal Java programs like Test1 and Test2. This includes also various systems by Qian (e.g. 14] and other systems (see [7]) There exists type systems and bytecode verifiers that assign more than one stack map to instructions in subroutines (e.g. Haase [6] or Henrio and Serpette [8] Such bytecode verifiers accept Test1 and Test2, since a subroutine can then be typed (or verified) di#erently for each call of the ....
P. H. Hartel and L. Moreau. Formalising the safety of Java, the Java Virtual Machine and Java Card. ACM Computing Surveys, 2001. To appear.
....to use a data AEow analyser to construct a bytecode verier from an abstract virtual machine. In contrast, our work is focused on deriving abstract virtual machines from defensive ones, and proving them correct. We are not aware of any similar eoeort, despite tremendous activity in the eldsee e.g. [19] for a recent survey of ongoing work. 6.2 Future work The paper reports on preliminary results with the implementation and use of Jakarta. Clearly, much work remains to be done, e.g. extending JSL with modules, extending JPI to support other proof assistants, programming languages, and modifying ....
P. Hartel and L. Moreau. Formalizing the Safety of Java, the Java Virtual Machine and Java Card. ACM Computing Surveys, 2001. To appear.
....objectively checkable definitions, claims, and justifications. It is a crucial feature of the method that, although abstract, it is run time oriented. This is indispensable if one wants to come up with formulating precise and reliably implementable conditions on what auditing secure systems [21] may mean. It is also crucial for the practicality of the approach that by exploiting the abstraction and refinement capabilities of ASMs, one can layer complex systems, like Java and the JVM, into several natural strata, each responsible for di#erent aspects of system execution and of its ....
....properties at link time, e.g. conditions on types and on stack bounds which one wants to be satisfied at run time The access right checker, i.e. a security manager which controls the access to the file system, to network addresses, to critical windowing operations, etc. As is well known (see [21]) many Java implementation errors have been found in the complex interplay between the JVM class loader, the bytecode verifier, and the run time system. We show under what assumptions Java programs can be proved to be type safe (Theorem 8.4.1) and successfully verified (Theorem 16.5.2 and ....
[Article contains additional citation context not shown here]
P. H. Hartel and L. Moreau. Formalising the safety of Java, the Java Virtual Machine and Java Card. 2001. Submitted to ACM Computing Surveys.
No context found.
P. Hartel and L. Moreau. Formalizing the Safety of Java, the Java Virtual Machine and Java Card. ACM Computing Surveys, 33(4):517558, December 2001.
No context found.
Pieter H. Hartel and Luc A. V. Moreau. Formalizing the safety of Java, the Java virtual machine and Java Card. ACM Computing Surveys, 33(4):517--558, 2001.
No context found.
P. H. Hartel and L. A. V. Moreau. Formalizing the safetyofJava, the Java Virtual Machine and Java card. ### ######### #######, 2001. To appear.
No context found.
P. Hartel and L. Moreau. Formalizing the safety of Java, the Java Virtual Machine and Java Card. ACM Computing Surveys, 33(4):517--558, 2001.
No context found.
P. Hartel and L. Moreau. Formalizing the Safety of Java, the Java Virtual Machine and Java Card. ACM Computing Surveys, 33:517558, December 2001.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC