Software

Jinn: Synthesizing Dynamic Bug Detectors for Foreign Language Interfaces

Download Now Date Added: Jun 2010
Format: PDF

Programming language specifications mandate static and dynamic analyses to preclude syntactic and semantic errors. Although individual languages are usually well-specified, composing languages is not, and this poor specification is a source of many errors in multilingual programs. For example, virtually all Java programs compose Java and C using the Java Native Interface (JNI). Since JNI is informally specified, developers have difficulty using it correctly, and current Java compilers and Virtual Machines (VMs) inconsistently check only a subset of JNI constraints.