java virtual machine
The java virtual machine specification
The Java programming language is a general-purpose, concurrent, object-oriented language. Its syntax is similar to C and C++, but it omits many of the features that make C and C++ complex, confusing, and unsafe. The Java platform was initially developed to
Comprehensive Profiling Support in the Java Virtual Machine .
Existing profilers for Java applications typically rely on custom instrumentation in the Java virtual machine , and measure only limited types of resource consumption. Garbage collection and multi-threading pose additional challenges to profiler design and
A fault-tolerant java virtual machine
We modify the Sun JDK1. 2 to provide transparent faulttolerance for many Java applications using a primarybackup architecture. We identify the sources of nondeterminism in the JVM (including asynchronous exceptions, multi-threaded access to shared data, and the
A symbolic java virtual machine for test case generation
Quality management is becoming a more and more important part of the software development process. As software testing is currently understood as the core function of the quality managment, developers start using software testing tools to facilitate their work
A Secure Java Virtual Machine .
Abstract The Java Virtual Machine is viewed by many as inherently insecure despite all the efforts to improve its security. In this paper we take a different approach to Java security and describe the design and implementation of a system that provides operating system
Return value prediction in a Java virtual machine
We present the design and implementation of return value prediction in SableVM, a Java Virtual Machine . We give detailed results for the full SPEC JVM98 benchmark suite, and compare our results with previous, more limited data. At the performance limit of existing last
Compiling Scala for the Java virtual machine
Scala is a new programming language developed by Martin Odersky and his team at LAMP . Scala aims at being a practical language, usable for large-scale programs, and incorporating several advanced concepts from recent research. From the beginning, Scala
Clustering the Java virtual machine using aspect-oriented programming
Clustering (and caching) is a crosscutting infrastructure service that has historically been implemented with API-based solutions. As a result, it has suffered from the same code scattering and tangling problems as other crosscutting concerns. In this paper we will show
DejaVu: deterministic Java replay debugger for Jalapeño Java virtual machine .
The execution behavior of a Java application can be nondeterministic due to multithreading. This non-determinism makes understanding and debugging multithreaded Java applications a difficult and laborious process. DejaVu (Deterministic Java Replay Utility)
State Capture and Resource Control for Java : The Design and Implementation of the Aroma Virtual Machine .
Although Java is currently riding a rising wave of popularity, current versions fail to address many of the unique challenges posed by the new generation of distributed applications. In particular the advent of peer-to-peer computing models and the proliferation of software
A Hardware Implementation of the Java Virtual Machine
Page 1. Slide 1 picoJava TM : picoJava TM : A Hardware Implementation of the Java Virtual Machine A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael OConnor Sun Microelectronics Page 2. Slide 2 The Java picoJava Synergy Javas origins lie
Context switching in a hardware/software co-design of the Java virtual machine
This paper introduces the idea of using a field programmable gate array(FPGA) in a hardware/software co-design of the Java virtual machine . The paper will discuss the partitioning of instructions and support for the virtual machine . Discussion will follow
An Executable Formal Java Virtual Machine Thread Model.
We discuss an axiomatic description of a simple abstract machine similar to the Java Virtual Machine (JVM). Our model supports classes, with fields and bytecoded methods, and a representative sampling of JVM bytecodes for basic operations for both data and control
Java Virtual Machine with rollback procedure allowing systematic and exhaustive testing of multithreaded Java programs
Many Java programs have sources of non-determinism, where a program depends upon factors that cannot be controlled. Such sources include (true) random numbers or the inherent non-determinism in concurrent threads, where the thread schedule is determined While program verification environments typically target source programs, there is an increasing need to provide strong guarantees for executable programs. We establish that it is possible to reuse the proof that a source Java program meets its specification to show that
Automatic object inlining in a Java virtual machine
Object-oriented Java applications allocate many small objects linked together by field references. Such fields are frequently loaded and thus impose a run-time overhead. Object inlining reduces these costs by eliminating unnecessary field loads. It embeds referenced
Using the safetsa representation to boost the performance of an existing java virtual machine
High-performance just-in-time compilers for Java need to invest a considerable effort before actual code generation can commence, both to verify each incoming JVM class file, and to translate the them into an internal representation for optimization. To ease this burden, we
Introspection of a Java virtual machine under simulation
Virtual machines are commonly used in commercially-significant systems, for example, Sun Microsystems Java and Microsofts .NET. The virtual machine offers many advantages to the system designer and administrator, but complicates the task of workload characterization: it
Remote Policy Enforcement Using Java Virtual Machine
As the reach and power of the Internet and networked systems widen, and thanks to the emergence of paradigm shifting technologies and delivery models like Web Services (WS) and Software as a Service (SaaS), ever larger numbers of users are sending huge amounts
Distributed JAVA virtual machine with thread migration
A computer cluster is a group of connected commodity computers working together to appear as a single system . The cluster is becoming the dominant high-performance parallel architecture. There are 294 clusters among the 500 most powerful computers in the
FREE IEEE PAPER