Adaptable Runtime Monitoring for the Java']Java Virtual Machine

被引:1
作者
Rosa, Andrea [1 ]
Zheng, Yudi [1 ]
Sun, Haiyang [1 ]
Javed, Omar [1 ]
Binder, Walter [1 ]
机构
[1] USI, Fac Informat, Lugano, Switzerland
来源
LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: DISCUSSION, DISSEMINATION, APPLICATIONS, ISOLA 2016, PT II | 2016年 / 9953卷
关键词
Runtime monitoring; Runtime adaptation; Bytecode optimization; Bytecode instrumentation; Partial evaluation; !text type='Java']Java[!/text] Virtual Machine; VERIFICATION;
D O I
10.1007/978-3-319-47169-3_42
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Nowadays, many programming language implementations and programming frameworks target the Java Virtual Machine (JVM). Examples include the Java and Scala compilers, Oracle's Truffle framework and the interpreters built on top of it for a variety of dynamic programming languages, as well as big-data frameworks such as Apache Spark, Apache Flink, and Apache Storm. Unfortunately, the JVM provides only limited support for runtime monitoring. The JVM Tool Interface (JVMTI) offers only a very low-level programming model, often introduces high overhead, and does not guarantee proper isolation of the monitoring logic from the observed program. Aspect-Oriented Programming (AOP), in particular AspectJ, is often used to implement runtime monitoring tools. While offering a convenient programming model, the use of such technologies acerbates performance-and isolation-related problems. In this paper, we advocate the use of our dynamic program analysis framework DiSL for runtime monitoring on the JVM. DiSL reconciles an AOP-based programming model, full coverage of all executed bytecodes, optimizations of the monitoring logic, and support for isolation of the monitoring logic. Moreover, DiSL also offers an API to deploy, adapt, and remove monitoring logic at runtime, and it provides seamless support for monitoring also applications running on Android devices.
引用
收藏
页码:531 / 546
页数:16
相关论文
共 25 条
  • [1] Albert E, 2007, LECT NOTES COMPUT SC, V4354, P124
  • [2] Efficient Formalism-Independent Monitoring of Parametric Properties
    Chen, Feng
    Meredith, Patrick O'Neil
    Jin, Dongyun
    Rosu, Grigore
    [J]. 2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 383 - 394
  • [3] Dietz M., 2011, USENIX SECURITY
  • [4] Duboscq G., 2013, P 7 ACM WORKSH VIRT, P1, DOI [DOI 10.1145/2542142.2542143, 10.1145/2542142.2542143]
  • [5] Hao H., 2013, P 8 ACM SIGSAC S INF, P25
  • [6] Integrated program debugging, verification, and optimization using abstract interpretation (and the Ciao system preprocessor)
    Hermenegildo, MV
    Puebla, G
    Bueno, F
    López-García, P
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2005, 58 (1-2) : 115 - 140
  • [7] Hornyack P, 2011, PROCEEDINGS OF THE 18TH ACM CONFERENCE ON COMPUTER & COMMUNICATIONS SECURITY (CCS 11), P639
  • [8] Jin D, 2012, PROC INT CONF SOFTW, P1427, DOI 10.1109/ICSE.2012.6227231
  • [9] Jin D, 2011, PLDI 11: PROCEEDINGS OF THE 2011 ACM CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, P415
  • [10] Jones Neil, 1993, Partial evaluation and automatic program generation