By using Java Native Interface (JNI), programmers can integrate Java programs with legacy systems or third-party libraries written in other languages (e.g., C, C++, and Pascal). However, the use of JNI may violate Java type safety feature because these native programs are not type-safe. As a result, such integration can cause memory errors that can be difficult to isolate. In this paper, we propose Quarantine, a runtime system that preserves memory safety of Java objects in spite of integration with native code. The goal of Quarantine is ensuring that no native threads can directly access objects in the Java heap.We provide a formal proof that our technique can achieve this goal. We then implement a prototype of Quarantine in the OpenJDK 1....
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
For performance and for incorporating legacy libraries, many Java applications contain native-code c...
For performance and for incorporating legacy libraries, many Java applications contain native-code c...
By using Java Native Interface (JNI), programmers can integrate Java programs with legacy systems or...
AbstractJava virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM h...
Explicit memory management of Java objects is a frequent source of programming errors in Java native...
Ahead-of-Time and Just-in-Time compilation are common ways to improve runtime performances of restra...
AbstractWe present a framework for statically reasoning about temporal heap safety properties. We fo...
Java provides security and robustness by building a high- level security model atop the foundation o...
Abstract—The large collection of Java class libraries is a main factor of the success of Java. Howev...
Two features distinguish Java from other main-stream programming languages like C and C++: its built...
Java applications often need to incorporate native-code components for efficiency and for reusing le...
Java provides security and robustness by building a high-level security model atop the foundation of...
The Java programming language provides safety and security guarantees such as type safety and its se...
Abstract. Ahead-of-Time and Just-in-Time compilation are common ways to improve runtime performances...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
For performance and for incorporating legacy libraries, many Java applications contain native-code c...
For performance and for incorporating legacy libraries, many Java applications contain native-code c...
By using Java Native Interface (JNI), programmers can integrate Java programs with legacy systems or...
AbstractJava virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM h...
Explicit memory management of Java objects is a frequent source of programming errors in Java native...
Ahead-of-Time and Just-in-Time compilation are common ways to improve runtime performances of restra...
AbstractWe present a framework for statically reasoning about temporal heap safety properties. We fo...
Java provides security and robustness by building a high- level security model atop the foundation o...
Abstract—The large collection of Java class libraries is a main factor of the success of Java. Howev...
Two features distinguish Java from other main-stream programming languages like C and C++: its built...
Java applications often need to incorporate native-code components for efficiency and for reusing le...
Java provides security and robustness by building a high-level security model atop the foundation of...
The Java programming language provides safety and security guarantees such as type safety and its se...
Abstract. Ahead-of-Time and Just-in-Time compilation are common ways to improve runtime performances...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
For performance and for incorporating legacy libraries, many Java applications contain native-code c...
For performance and for incorporating legacy libraries, many Java applications contain native-code c...