• DocumentCode
    2333874
  • Title

    Automated and portable native code isolation

  • Author

    Czajkowski, Grzegorz ; Daynès, Laurent ; Wolczko, Mario

  • Author_Institution
    Sun MicroSystems Lab., Mountain View, CA, USA
  • fYear
    2001
  • fDate
    27-30 Nov. 2001
  • Firstpage
    298
  • Lastpage
    307
  • Abstract
    The coexistence of programs written in a safe language with user-supplied unsafe (native) code is convenient (e.g., it enables direct access to operating system resources), but at the same time it is problematic (e.g., it may decrease reliability and debuggability). This work aims at retaining most of the benefits of interfacing a safe language with native code while addressing its problems. It is carried out in the context of the JavaTM Native Interface (JNI). Our approach is to execute the native code in an operating system process different than that of the safe language application. A technique presented in this paper accomplishes this transparently, automatically,, and without sacrificing any of the JNI functionality. No changes to the Java virtual machine (JVMTM) or its runtime are necessary. The resulting prototype does not depend on a particular implementation of the JVM, and is highly portable across hardware architectures and operating systems. This approach can be used to improve reliability of applications consisting of a mix of safe and native code and to facilitate debugging them.
  • Keywords
    Java; program debugging; software portability; JNI; Java virtual machine; JavaTM Native Interface; debugging; native code; portable; reliability; Computer languages; Interference; Java; Laboratories; Operating systems; Programming profession; Runtime library; Software libraries; Software safety; Sun;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Reliability Engineering, 2001. ISSRE 2001. Proceedings. 12th International Symposium on
  • ISSN
    1071-9458
  • Print_ISBN
    0-7695-1306-9
  • Type

    conf

  • DOI
    10.1109/ISSRE.2001.989483
  • Filename
    989483