TY - GEN
T1 - JATO
T2 - 10th Asian Symposium on Programming Languages and Systems, APLAS 2012
AU - Li, Siliang
AU - Liu, Yu David
AU - Tan, Gang
PY - 2012
Y1 - 2012
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=84872260069&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84872260069&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-35182-2_2
DO - 10.1007/978-3-642-35182-2_2
M3 - Conference contribution
AN - SCOPUS:84872260069
SN - 9783642351815
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 2
EP - 17
BT - Programming Languages and Systems - 10th Asian Symposium, APLAS 2012, Proceedings
Y2 - 11 December 2012 through 13 December 2012
ER -