Dynamic Symbolic Execution of Java']Java Programs Using JNI

被引:0
|
作者
Vartanov, Sergey [1 ]
机构
[1] Lomonosov Moscow State Univ, Russian Acad Sci, Inst Syst Programming, Moscow, Russia
关键词
dynamic symbolic analysis; !text type='Java']Java[!/text] native interface; !text type='Java']Java[!/text] bytecode; path alternation;
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
For the sake of better performance, platform-specific facilities support, or the use of legacy code, Java applications may use JNI (Java Native Interface) to call native functions. We present an approach to perform dynamic symbolic execution of a Java program that tracks tainted data flow through Java bytecode and native code of shared libraries. We propose a tool based on modified virtual machine and static binary code instrumentation. This allows us to collect path constraints for both bytecode and binary code execution but avoid redundant processing of virtual machine own code. Modified path constraints are checked for their satisfiability in order to generate new inputs and execute new paths (to cover new basic blocks of target program). We describe initial experiments with our implementation based on Avian virtual machine and Dyninst.
引用
收藏
页码:83 / 86
页数:4
相关论文
共 50 条
  • [41] Dynamic slicing concurrent java']java programs using variable cache table
    He Zhixue
    Mang Guangquan
    Rong Mei
    ADVANCED COMPUTER TECHNOLOGY, NEW EDUCATION, PROCEEDINGS, 2007, : 363 - 369
  • [42] Automatic verification of Java']Java programs with dynamic frames
    Smans, Jan
    Jacobs, Bart
    Piessens, Frank
    Schulte, Wolfram
    FORMAL ASPECTS OF COMPUTING, 2010, 22 (3-4) : 423 - 457
  • [43] Dynamic memory allocation Behavior in Java']Java programs
    Li, RCL
    Fong, AS
    Chun, HW
    Tam, CH
    COMPUTERS AND THEIR APPLICATIONS, 2001, : 362 - 365
  • [44] Dynamic data structure analysis for Java']Java programs
    Pheng, Sokhorn
    Verbrugge, Clark
    14TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2006), PROCEEDINGS, 2006, : 191 - +
  • [45] Dynamic data flow analysis for Java']Java programs
    Boujarwah, AS
    Saleh, K
    Al-Dallal, J
    INFORMATION AND SOFTWARE TECHNOLOGY, 2000, 42 (11) : 765 - 775
  • [46] An Analysis of the Dynamic Behavior of Java']Java Script Programs
    Richards, Gregor
    Lebresne, Sylvain
    Burg, Brian
    Vitek, Jan
    PLDI '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2010, : 1 - 12
  • [47] Validating converted java code via symbolic execution
    Sneed, Harry M.
    Verhoef, Chris
    Lecture Notes in Business Information Processing, 2017, 269 : 70 - 83
  • [48] ExpoSE: Practical Symbolic Execution of Standalone Java']JavaScript
    Loring, Blake
    Mitchell, Duncan
    Kinder, Johannes
    SPIN'17: PROCEEDINGS OF THE 24TH ACM SIGSOFT INTERNATIONAL SPIN SYMPOSIUM ON MODEL CHECKING OF SOFTWARE, 2017, : 196 - 199
  • [49] JaVerT 2.0: Compositional Symbolic Execution for Java']JavaScript
    Santos, Jose Fragoso
    Maksimovic, Petar
    Sampaio, Gabriela
    Gardner, Philippa
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL):
  • [50] CHERI JNI: Sinking the Java']Java Security Model into the C
    Chisnall, David
    Davis, Brooks
    Gudka, Khilan
    Brazdil, David
    Joannou, Alexandre
    Woodruff, Jonathan
    Markettos, A. Theodore
    Maste, J. Edward
    Norton, Robert
    Son, Stacey
    Roe, Michael
    Moore, Simon W.
    Neumann, Peter G.
    Laurie, Ben
    Watson, Robert N. M.
    TWENTY-SECOND INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXII), 2017, : 569 - 583