Detecting JVM JIT Compiler Bugs via Exploring Two-Dimensional Input Spaces

被引:3
|
作者
Jia, Haoxiang [1 ]
Wen, Ming [1 ]
Xie, Zifan [1 ]
Guo, Xiaochen [1 ]
Wu, Rongxin [2 ]
Sun, Maolin [1 ]
Chen, Kang [1 ]
Jin, Hai [3 ]
机构
[1] Huazhong Univ Sci & Technol, Sch Cyber Sci & Engn, Wuhan, Peoples R China
[2] Xiamen Univ, Sch Informat, Xiamen, Peoples R China
[3] Huazhong Univ Sci & Technol, Sch Comp Sci & Technol, Wuhan, Peoples R China
基金
中国国家自然科学基金;
关键词
JVM; JIT Compiler; JVM Testing;
D O I
10.1109/ICSE48619.2023.00016
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Java Virtual Machine (JVM) is the fundamental software system that supports the interpretation and execution of Java bytecode. To support the surging performance demands for the increasingly complex and large-scale Java programs, Just-In-Time (JIT) compiler was proposed to perform sophisticated runtime optimization. However, this inevitably induces various bugs, which are becoming more pervasive over the decades and can often cause significant consequences. To facilitate the design of effective and efficient testing techniques to detect JIT compiler bugs. This study first performs a preliminary study aiming to understand the characteristics of JIT compiler bugs and the corresponding triggering test cases. Inspired by the empirical findings, we propose JOpFuzzer, a new JVM testing approach with a specific focus on JIT compiler bugs. The main novelty of JOpFuzzer is embodied in three aspects. First, besides generating new seeds, JOpFuzzer also searches for diverse configurations along the new dimension of optimization options. Second, JOpFuzzer learns the correlations between various code features and different optimization options to guide the process of seed mutation and option exploration. Third, it leverages the profile data, which can reveal the program execution information, to guide the fuzzing process. Such novelties enable JOpFuzzer to effectively and efficiently explore the two-dimensional input spaces. Extensive evaluation shows that JOpFuzzer outperforms the state-of-the-art approaches in terms of the achieved code coverages. More importantly, it has detected 41 bugs in OpenJDK, and 25 of them have already been confirmed or fixed by the corresponding developers.
引用
收藏
页码:43 / 55
页数:13
相关论文
共 50 条
  • [1] Detecting JVM JIT Compiler Bugs via Exploring Two-Dimensional Input Spaces
    Jia, Haoxiang
    Wen, Ming
    Xie, Zifan
    Guo, Xiaochen
    Wu, Rongxin
    Sun, Maolin
    Chen, Kang
    Jin, Hai
    Proceedings - International Conference on Software Engineering, 2023, : 43 - 55
  • [2] Detecting Kernel Refcount Bugs with Two-Dimensional Consistency Checking
    Tan, Xin
    Zhang, Yuan
    Yang, Xiyu
    Lu, Kangjie
    Yang, Min
    PROCEEDINGS OF THE 30TH USENIX SECURITY SYMPOSIUM, 2021, : 2471 - 2488
  • [3] Detecting Compiler Bugs Via a Deep Learning-Based Framework
    Tang, Yixuan
    Ren, Zhilei
    Jiang, He
    Qiao, Lei
    Liu, Dong
    Zhou, Zhide
    Kong, Weiqiang
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2022, 32 (05) : 661 - 691
  • [4] Detecting Simulink Compiler Bugs via Controllable Zombie Blocks Mutation
    Guo, Shikai
    Jiang, He
    Xu, Zhihao
    Li, Xiaochen
    Ren, Zhilei
    Zhou, Zhide
    Chen, Rong
    PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022, 2022, : 1061 - 1072
  • [5] A Probabilistic Clustering Approach for Detecting Linear Structures in Two-Dimensional Spaces
    Stylianopoulos, Kyriakos
    Koutroumbas, Konstantinos
    PATTERN RECOGNITION AND IMAGE ANALYSIS, 2021, 31 (04) : 671 - 687
  • [6] A Probabilistic Clustering Approach for Detecting Linear Structures in Two-Dimensional Spaces
    Kyriakos Stylianopoulos
    Konstantinos Koutroumbas
    Pattern Recognition and Image Analysis, 2021, 31 : 671 - 687
  • [7] Detecting Optimizing Compiler Bugs via History-Driven Test Program Mutation
    Zeng, Junwei
    Tang, Yixuan
    Zhang, Jingxuan
    Li, Weiwei
    Huang, Zhiqiu
    PROCEEDINGS OF THE 15TH ASIA-PACIFIC SYMPOSIUM ON INTERNETWARE, INTERNETWARE 2024, 2024, : 145 - 154
  • [9] Two-Dimensional Helmholtz Spaces
    V. A. Kyrov
    Siberian Mathematical Journal, 2005, 46 : 1082 - 1096
  • [10] Two-dimensional Helmholtz spaces
    Kyrov, VA
    SIBERIAN MATHEMATICAL JOURNAL, 2005, 46 (06) : 1082 - 1096