Safe Heterogeneous Applications: Curing the Java Native Interface
|Authors:||Tan, Gang, Appel, Andrew W., Chakradhar, Srimat, Raghunathan, Anand, Ravi, Srivaths, Wang, Daniel C.|
The Java Native Interface (JNI) allows type-safe Java code to interact with unsafe C code. When a type-safe language interacts with an unsafe language in the same address space, the application becomes unsafe. We identify the loopholes specific to using JNI that would permit C code to bypass the type safety of the JVM. We have designed a solution based on an extension of CCured that makes calling native methods in C as type-safe as pure Java code.