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 条
  • [21] Quantifying the Characteristics of Java']Java Programs that May Influence Symbolic Execution from a Test Data Generation Perspective
    Eler, Marcelo M.
    Endo, Andre T.
    Durelli, Vinicius H. S.
    2014 IEEE 38TH ANNUAL INTERNATIONAL COMPUTERS, SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2014, : 181 - 190
  • [22] JPF-SE: A symbolic execution extension to Java']Java PathFinder
    Anand, Saswat
    Pasareanu, Corina S.
    Visser, Willem
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2007, 4424 : 134 - +
  • [23] Sound Regular Expression Semantics for Dynamic Symbolic Execution of Java']JavaScript
    Loring, Blake
    Mitchell, Duncan
    Kinder, Johannes
    PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19), 2019, : 425 - 438
  • [24] Distributed and parallel execution of Java']Java programs on a DSM system
    Hou, TW
    Chen, FG
    Lee, JL
    Cheng, YL
    FIRST IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER COMPUTING AND THE GRID, PROCEEDINGS, 2001, : 555 - 559
  • [25] Compiling and Optimizing Java']Java 8 Programs for GPU Execution
    Ishizaki, Kazuaki
    Hayashi, Akihiro
    Koblents, Gita
    Sarkar, Vivek
    2015 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURE AND COMPILATION (PACT), 2015, : 419 - 431
  • [26] An empirical study to quantify the characteristics of Java']Java programs that may influence symbolic execution from a unit testing perspective
    Eler, Marcelo M.
    Endo, Andre T.
    Durelli, Vinicius H. S.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2016, 121 : 281 - 297
  • [27] Dynamic Purity Analysis for Java']Java Programs
    Xu, Haiying
    Pickett, Christopher J. F.
    Verbrugge, Clark
    PASTE'07 PROCEEDINGS OF THE 2007 ACM SIGPLAN- SIGSOFT WORKSHOP ON PROGRAM ANALYSIS FOR SOFTWARE TOOLS & ENGINEERING, 2007, : 75 - 82
  • [28] Dynamic slicing of Java']Java bytecode programs
    Szegedi, A
    Gyimóthy, T
    FIFTH IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2005, : 35 - 44
  • [29] Distributed dynamic slicing of Java']Java programs
    Mohapatra, Durga P.
    Kumar, Rajeev
    Mall, Rajib
    Kumar, D. S.
    Bhasin, Mayank
    JOURNAL OF SYSTEMS AND SOFTWARE, 2006, 79 (12) : 1661 - 1678
  • [30] Improving Static Initialization Block Handling in Java']Java Symbolic Execution Engine
    Pengo, Edit
    Siket, Istvan
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2017, PT V, 2017, 10408 : 561 - 574