JATO: Native code atomicity for java

Siliang Li, Yu David Liu, Gang Tan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Scopus citations


Atomicity enforcement in a multi-threaded application can be critical to the application's safety. In this paper, we take the challenge of enforcing atomicity in a multilingual application, which is developed in multiple programming languages. Specifically, we describe the design and implementation of JATO, which enforces the atomicity of a native method when a Java application invokes the native method through the Java Native Interface (JNI). JATO relies on a constraint-based system, which generates constraints from both Java and native code based on how Java objects are accessed by threads. Constraints are then solved to infer a set of Java objects that need to be locked in native methods to enforce the atomicity of the native method invocation. We also propose a number of optimizations that soundly improve the performance. Evaluation through JATO's prototype implementation demonstrates it enforces native-method atomicity with reasonable run-time overhead.

Original languageEnglish (US)
Title of host publicationProgramming Languages and Systems - 10th Asian Symposium, APLAS 2012, Proceedings
Number of pages16
StatePublished - 2012
Event10th Asian Symposium on Programming Languages and Systems, APLAS 2012 - Kyoto, Japan
Duration: Dec 11 2012Dec 13 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7705 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Other10th Asian Symposium on Programming Languages and Systems, APLAS 2012

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • Computer Science(all)


Dive into the research topics of 'JATO: Native code atomicity for java'. Together they form a unique fingerprint.

Cite this