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 条
  • [21] Exploring Two-Dimensional Empty Space
    Geim, Andre K.
    NANO LETTERS, 2021, 21 (15) : 6356 - 6358
  • [22] Two-Dimensional Input-Revolving Automata
    Immanuel, S. James
    Thomas, D. G.
    Fernau, Henning
    Thamburaj, Robinson
    Nagar, Atulya K.
    COMPUTATIONAL MODELING OF OBJECTS PRESENTED IN IMAGES: FUNDAMENTALS, METHODS, AND APPLICATIONS, COMPIMAGE 2016, 2017, 10149 : 148 - 164
  • [23] COLOR INPUT TO TWO-DIMENSIONAL FORM DISCRIMINATION
    TROSCIANKO, T
    LECLERC, J
    MALBERT, E
    PERCEPTION, 1989, 18 (04) : 530 - 530
  • [24] An optimal algorithm for detecting two-dimensional edges
    Qian, RJ
    Huang, TS
    VISUAL COMMUNICATIONS AND IMAGE PROCESSING '96, 1996, 2727 : 463 - 477
  • [25] Detecting median filtering via two-dimensional AR models of multiple filtered residuals
    Jianquan Yang
    Honglei Ren
    Guopu Zhu
    Jiwu Huang
    Yun-Qing Shi
    Multimedia Tools and Applications, 2018, 77 : 7931 - 7953
  • [26] Detecting median filtering via two-dimensional AR models of multiple filtered residuals
    Yang, Jianquan
    Ren, Honglei
    Zhu, Guopu
    Huang, Jiwu
    Shi, Yun-Qing
    MULTIMEDIA TOOLS AND APPLICATIONS, 2018, 77 (07) : 7931 - 7953
  • [27] Two-dimensional input shaping for one-dimensional continua
    Lotfi-Gaskarimahalle, Amir
    Rahn, Christopher D.
    JOURNAL OF VIBRATION AND ACOUSTICS-TRANSACTIONS OF THE ASME, 2008, 130 (02):
  • [28] A new class of two-dimensional noncommutative spaces
    Pinzul, A
    Stern, A
    JOURNAL OF HIGH ENERGY PHYSICS, 2002, (03):
  • [29] ON TWO-DIMENSIONAL COUSIN I-SPACES
    BERG, G
    MATHEMATISCHE ANNALEN, 1980, 248 (03) : 247 - 248
  • [30] Packing, covering and tiling in two-dimensional spaces
    Zong, Chuanming
    EXPOSITIONES MATHEMATICAE, 2014, 32 (04) : 297 - 364