JITfuzz: Coverage-guided Fuzzing for JVM Just-in-Time Compilers

被引:4
|
作者
Wu, Mingyuan [1 ,2 ]
Lu, Minghai [1 ]
Cui, Heming [2 ]
Chen, Junjie [3 ]
Zhang, Yuqun [1 ]
Zhang, Lingming [4 ]
机构
[1] Southern Univ Sci & Technol, Shenzhen, Peoples R China
[2] Univ Hong Kong, Hong Kong, Peoples R China
[3] Tianjin Univ, Tianjin, Peoples R China
[4] Univ Illinois, Champaign, IL USA
基金
中国国家自然科学基金; 美国国家科学基金会;
关键词
D O I
10.1109/ICSE48619.2023.00017
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
As a widely-used platform to support various Java-bytecode-based applications, Java Virtual Machine (JVM) incurs severe performance loss caused by its real-time program interpretation mechanism. To tackle this issue, the Just-in-Time compiler (JIT) has been widely adopted to strengthen the efficacy of JVM. Therefore, how to effectively and efficiently detect JIT bugs becomes critical to ensure the correctness of JVM. In this paper, we propose a coverage-guided fuzzing framework, namely JITfuzz, to automatically detect JIT bugs. In particular, JITfuzz adopts a set of optimization-activating mutators to trigger the usage of typical JIT optimizations, e.g., function inlining and simplification. Meanwhile, given JIT optimizations are closely coupled with program control flows, JITfuzz also adopts mutators to enrich the control flows of target programs. Moreover, JITfuzz also proposes a mutator scheduler which iteratively schedules mutators according to the coverage updates to maximize the code coverage of JIT. To evaluate the effectiveness of JITfuzz, we conduct a set of experiments based on a benchmark suite with 16 popular JVM-based projects from GitHub. The experimental results suggest that JITfuzz outperforms the state-of-the-art mutation-based and generation-based JVM fuzzers by 27.9% and 18.6% respectively in terms of edge coverage on average. Furthermore, JITfuzz also successfully detects 36 previously unknown bugs (including 23 JIT bugs) and 27 bugs (including 18 JIT bugs) have been confirmed by the developers.
引用
下载
收藏
页码:56 / 68
页数:13
相关论文
共 50 条
  • [41] A Novel Coverage-Guided Greybox Fuzzing Method based on Grammar-Aware with Particle Swarm Optimization
    Wang, Shengran
    Chen, Jinfu
    Cai, Saihua
    Zhang, Chi
    Chen, Haibo
    2022 IEEE 22ND INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY, AND SECURITY COMPANION, QRS-C, 2022, : 780 - 781
  • [42] An efficient online path profiling framework for Java']Java just-in-time compilers
    Yasue, T
    Suganuma, T
    Komatsu, H
    Nakatani, T
    12TH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 2003, : 148 - 158
  • [43] Our experiences with optimizations in Sun's Java']Java Just-in-Time compilers
    da Silva, Anderson Faustino
    Costa, Vitor Santos
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2006, 12 (07) : 788 - 810
  • [44] An Optimization-Driven Incremental Inline Substitution Algorithm for Just-in-Time Compilers
    Prokopec, Aleksandar
    Duboscq, Gilles
    Leopoldseder, David
    Wurthinger, Thomas
    PROCEEDINGS OF THE 2019 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO '19), 2019, : 164 - 179
  • [45] Enhanced hot spot detection heuristics for embedded java']java just-in-time compilers
    Lee, Seong-Won
    Moon, Soo-Mook
    Kim, Seong-Moo
    ACM SIGPLAN NOTICES, 2008, 43 (07) : 13 - 22
  • [46] Enhanced Hot Spot Detection Heuristics for Embedded Java']Java Just-in-Time Compilers
    Lee, Seong-Won
    Moon, Soo-Mook
    Kim, Seong-Moo
    LCTES'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN-SIGBED CONFERENCE ON LANGUAGES, COMPILERS, AND TOOLS FOR EMBEDDED SYSTEMS, 2008, : 13 - 22
  • [47] Unified HW/SW Coverage: A Novel Metric to Boost Coverage-guided Fuzzing for Virtual Prototype based HW/SW Co-Verification
    Bruns, Niklas
    Herdt, Vladimir
    Drechsler, Rolf
    PROCEEDINGS OF THE 2022 FORUM ON SPECIFICATION & DESIGN LANGUAGES (FDL), 2022,
  • [48] Toss a Fault to YourWitcher: Applying Grey-box Coverage-Guided Mutational Fuzzing to Detect SQL and Command Injection Vulnerabilities
    Trickel, Erik
    Pagani, Fabio
    Zhu, Chang
    Dresel, Lukas
    Vigna, Giovanni
    Kruegel, Christopher
    Wang, Ruoyu
    Bao, Tiffany
    Shoshitaishvili, Yan
    Doupe, Adam
    2023 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, SP, 2023, : 2658 - 2675
  • [49] Just-in-Time Routing and Scheduling for Multiple Automated Guided Vehicles
    Nishida, Kousei
    Nishi, Tatsushi
    Kaname, Hideki
    Kumagai, Kenji
    Higashi, Toshimitsu
    2019 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN AND CYBERNETICS (SMC), 2019, : 841 - 846
  • [50] Design a high-performance just-in-time compiler for a J2ME JVM on XScale™
    Shi, Xiaohua
    Jin, Maozhong
    Cheng, Bu Qi
    Guo, Peng
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS, 2008, : 439 - +