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 条
  • [21] JITGuard: Hardening Just-in-time Compilers with SGX
    Frassetto, Tommaso
    Gens, David
    Liebchen, Christopher
    Sadeghi, Ahmad-Reza
    [J]. CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, : 2405 - 2419
  • [22] Industry Practice of Coverage-Guided Enterprise-Level DBMS Fuzzing
    Wang, Mingzhe
    Wu, Zhiyong
    Xu, Xinyi
    Liang, Jie
    Zhou, Chijin
    Zhang, Huafeng
    Jiang, Yu
    [J]. 2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE (ICSE-SEIP 2021), 2021, : 328 - 337
  • [23] Coverage-Guided Tensor Compiler Fuzzing with Joint IR-Pass Mutation
    Liu, Jiawei
    Wei, Yuxiang
    Yang, Sen
    Deng, Yinlin
    Zhang, Lingming
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA):
  • [24] Graphuzz: Data-driven Seed Scheduling for Coverage-guided Greybox Fuzzing
    Xu, Hang
    Chen, Liheng
    Gan, Shuitao
    Zhang, Chao
    Li, Zheming
    Ji, Jiangan
    Chen, Baojian
    Hu, Fan
    [J]. ACM Transactions on Software Engineering and Methodology, 2024, 33 (07)
  • [25] Efficient Cross-Level Processor Verification using Coverage-guided Fuzzing
    Bruns, Niklas
    Herdt, Vladimir
    Grosse, Daniel
    Drechsler, Rolf
    [J]. PROCEEDINGS OF THE 32ND GREAT LAKES SYMPOSIUM ON VLSI 2022, GLSVLSI 2022, 2022, : 97 - 103
  • [26] EPF: An Evolutionary, Protocol-Aware, and Coverage-Guided Network Fuzzing Framework
    Helmke, Rene
    Winter, Eugen
    Rademacher, Michael
    [J]. 2021 18TH INTERNATIONAL CONFERENCE ON PRIVACY, SECURITY AND TRUST (PST), 2021,
  • [27] Detection of Hardware Trojans in SystemC HLS Designs via Coverage-guided Fuzzing
    Le, Hoang M.
    Grosse, Daniel
    Bruns, Niklas
    Drechsler, Rolf
    [J]. 2019 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2019, : 602 - 605
  • [28] NDFuzz: a non-intrusive coverage-guided fuzzing framework for virtualized network devices
    Zhang, Yu
    Zhong, Nanyu
    You, Wei
    Zou, Yanyan
    Jian, Kunpeng
    Xu, Jiahuan
    Sun, Jian
    Liu, Baoxu
    Huo, Wei
    [J]. CYBERSECURITY, 2022, 5 (01)
  • [29] Automated SC-MCC test case generation using coverage-guided fuzzing
    Golla, Monika Rani
    Godboley, Sangharatna
    [J]. SOFTWARE QUALITY JOURNAL, 2024, 32 (03) : 849 - 880
  • [30] Guided just-in-time specialization
    Lima, Caio
    Cezar, Junio
    Leobas, Guilherme Vieira
    Rohou, Erven
    Quintao Pereira, Fernando Magno
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2020, 185