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 条
  • [1] Verification of Java']Java programs using symbolic execution and invariant generation
    Pasareanu, CS
    Visser, W
    MODEL CHECKING SOFTWARE, 2004, 2989 : 164 - 181
  • [2] Runtime Exception Detection in Java']Java Programs Using Symbolic Execution
    Kadar, Istvan
    Hegedus, Peter
    Ferene, Rudolf
    ACTA CYBERNETICA, 2014, 21 (03): : 331 - 352
  • [3] Dynamic Symbolic Execution for the Analysis of Web Server Applications in Java']Java
    Balasubramanian, Daniel
    Zhang, Zhenkai
    McDermet, Dan
    Karsai, Gabor
    SAC '19: PROCEEDINGS OF THE 34TH ACM/SIGAPP SYMPOSIUM ON APPLIED COMPUTING, 2019, : 2178 - 2185
  • [4] JDART: Dynamic Symbolic Execution for Java']Java Bytecode (Competition Contribution)
    Mues, Malte
    Howar, Falk
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT II, TACAS 2020, 2020, 12079 : 398 - 402
  • [5] SWAT: Modular Dynamic Symbolic Execution for Java']Java Applications using Dynamic Instrumentation (Competition Contribution)
    Loose, Nils
    Maechtle, Felix
    Sieck, Florian
    Eisenbarth, Thomas
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT III, TACAS 2024, 2024, 14572 : 399 - 405
  • [6] Java']Java* JNI bridge: A framework for mixed native ISA execution
    Chen, Miaobo
    Goldenberg, Shalom
    Srinivas, Suresh
    Ushakov, Valery
    Wang, Young
    Zhang, Qi
    Lin, Eric
    Zach, Yoav
    CGO 2006: 4TH INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2006, : 65 - +
  • [7] Java']Java JNI
    Cooper, G
    DR DOBBS JOURNAL, 1998, 23 (01): : 10 - 10
  • [8] Jaint: A Framework for User-Defined Dynamic Taint-Analyses Based on Dynamic Symbolic Execution of Java']Java Programs
    Mues, Malte
    Schallau, Till
    Howar, Falk
    INTEGRATED FORMAL METHODS, IFM 2020, 2020, 12546 : 123 - 140
  • [9] Visualizing the execution of Java']Java programs
    De Pauw, W
    Jensen, E
    Mitchell, N
    Sevitsky, G
    Vlissides, J
    Yang, JH
    SOFTWARE VISUALIZATION, 2002, 2269 : 151 - 162
  • [10] Probabilistic Programming for Java']Java using Symbolic Execution and Model Counting
    Visser, Willem
    Pasareanu, Corina S.
    SOUTH AFRICAN INSTITUTE OF COMPUTER SCIENTISTS AND INFORMATION TECHNOLOGISTS (SACSIT 2017), 2017, : 319 - 328