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 条
  • [11] Constraint Programming for Dynamic Symbolic Execution of Java']JavaScript
    Amadini, Roberto
    Andrlon, Mak
    Gange, Graeme
    Schachte, Peter
    Sondergaard, Harald
    Stuckey, Peter J.
    INTEGRATION OF CONSTRAINT PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND OPERATIONS RESEARCH, CPAIOR 2019, 2019, 11494 : 1 - 19
  • [12] Symbolic Execution for Java']JavaScript
    Santos, Jose Fragoso
    Maksimovic, Petar
    Grohens, Theotime
    Dolby, Julian
    Gardner, Philippa
    PPDP'18: PROCEEDINGS OF THE 20TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, 2018,
  • [13] HORB: Distributed execution of Java']Java programs
    Hirano, S
    WORLDWIDE COMPUTING AND ITS APPLICATIONS, 1997, 1274 : 29 - 42
  • [14] Java']Java Ranger: Statically Summarizing Regions for Efficient Symbolic Execution of Java']Java
    Sharma, Vaibhav
    Hussein, Soha
    Whalen, Michael W.
    McCamant, Stephen
    Visser, Willem
    PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 123 - 134
  • [15] Symbolic PathFinder: Symbolic execution of Java bytecode
    NASA Ames Research Center, Moffett Field, CA 94035, United States
    ASE - Proc. IEEE/ACM Int. Conf. Autom. Softw. Eng., (179-180):
  • [16] Validating Converted Java']Java Code via Symbolic Execution
    Sneed, Harry M.
    Verhoef, Chris
    SOFTWARE QUALITY: COMPLEXITY AND CHALLENGES OF SOFTWARE ENGINEERING IN EMERGING TECHNOLOGIES, 2017, 269 : 70 - 83
  • [17] GDart: An Ensemble of Tools for Dynamic Symbolic Execution on the Java']Java Virtual Machine (Competition Contribution)
    Mues, Malte
    Howar, Falk
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2022, PT II, 2022, 13244 : 435 - 439
  • [18] SWAT: Modular Dynamic Symbolic Execution for Java Applications using Dynamic Instrumentation (Competition Contribution)
    Loose, Nils
    Mächtle, Felix
    Sieck, Florian
    Eisenbarth, Thomas
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2024, 14572 LNCS : 399 - 405
  • [19] A Symbolic Execution Framework for Java']JavaScript
    Saxena, Prateek
    Akhawe, Devdatta
    Hanna, Steve
    Mao, Feng
    McCamant, Stephen
    Song, Dawn
    2010 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, 2010, : 513 - 528
  • [20] Symbolic PathFinder: integrating symbolic execution with model checking for Java']Java bytecode analysis
    Pasareanu, Corina S.
    Visser, Willem
    Bushnell, David
    Geldenhuys, Jaco
    Mehlitz, Peter
    Rungta, Neha
    AUTOMATED SOFTWARE ENGINEERING, 2013, 20 (03) : 391 - 425