File Download
There are no files associated with this item.
Supplementary
-
Citations:
- Appears in Collections:
Conference Paper: SJFuzz: Seed and Mutator Scheduling for JVM Fuzzing
Title | SJFuzz: Seed and Mutator Scheduling for JVM Fuzzing |
---|---|
Authors | |
Issue Date | 3-Dec-2023 |
Abstract | While the Java Virtual Machine (JVM) plays a vital role in ensuring correct executions of Java applications, testing JVMs via generating and running class files on them can be rather challenging. The existing techniques, e.g., ClassFuzz and Classming, attempt to leverage the power of fuzzing and differential testing to cope with JVM intricacies by exposing discrepant execution results among different JVMs, i.e., inter-JVM discrepancies, for testing analytics. However, their adopted fuzzers are insufficiently guided since they include no well-designed seed and mutator scheduling mechanisms, leading to inefficient differential testing. To address such issues, in this paper, we propose SJFuzz, the first JVM fuzzing framework with seed and mutator scheduling mechanisms for automated JVM differential testing. Overall, SJFuzz aims to mutate class files via control flow mutators to facilitate the exposure of inter-JVM discrepancies. To this end, SJFuzz schedules seeds (class files) for mutations based on the discrepancy and diversity guidance. SJFuzz also schedules mutators for diversifying class file generation. To evaluate SJFuzz, we conduct an extensive study on multiple representative real-world JVMs, and the experimental results show that SJFuzz significantly outperforms the state-of-the-art mutation-based and generation-based JVM fuzzers in terms of the inter-JVM discrepancy exposure and the class file diversity. Moreover, SJFuzz successfully reported 46 potential JVM issues, and 20 of them have been confirmed as bugs and 16 have been fixed by the JVM developers. |
Persistent Identifier | http://hdl.handle.net/10722/333861 |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Wu, Mingyuan | - |
dc.contributor.author | Ouyang, Yicheng | - |
dc.contributor.author | Lu, Minghai | - |
dc.contributor.author | Chen, Junjie | - |
dc.contributor.author | Zhao, Yingquan | - |
dc.contributor.author | Cui, Heming | - |
dc.contributor.author | Yang, Guowei | - |
dc.contributor.author | Zhang, Yuqun | - |
dc.date.accessioned | 2023-10-06T08:39:41Z | - |
dc.date.available | 2023-10-06T08:39:41Z | - |
dc.date.issued | 2023-12-03 | - |
dc.identifier.uri | http://hdl.handle.net/10722/333861 | - |
dc.description.abstract | <p>While the Java Virtual Machine (JVM) plays a vital role in ensuring correct executions of Java applications, testing JVMs via generating and running class files on them can be rather challenging. The existing techniques, e.g., ClassFuzz and Classming, attempt to leverage the power of fuzzing and differential testing to cope with JVM intricacies by exposing discrepant execution results among different JVMs, i.e., inter-JVM discrepancies, for testing analytics. However, their adopted fuzzers are insufficiently guided since they include no well-designed seed and mutator scheduling mechanisms, leading to inefficient differential testing. To address such issues, in this paper, we propose SJFuzz, the first JVM fuzzing framework with seed and mutator scheduling mechanisms for automated JVM differential testing. Overall, SJFuzz aims to mutate class files via control flow mutators to facilitate the exposure of inter-JVM discrepancies. To this end, SJFuzz schedules seeds (class files) for mutations based on the discrepancy and diversity guidance. SJFuzz also schedules mutators for diversifying class file generation. To evaluate SJFuzz, we conduct an extensive study on multiple representative real-world JVMs, and the experimental results show that SJFuzz significantly outperforms the state-of-the-art mutation-based and generation-based JVM fuzzers in terms of the inter-JVM discrepancy exposure and the class file diversity. Moreover, SJFuzz successfully reported 46 potential JVM issues, and 20 of them have been confirmed as bugs and 16 have been fixed by the JVM developers.<br></p> | - |
dc.language | eng | - |
dc.relation.ispartof | ESEC/FSE 2023 (03/12/2023-09/12/2023, San Francisco) | - |
dc.title | SJFuzz: Seed and Mutator Scheduling for JVM Fuzzing | - |
dc.type | Conference_Paper | - |
dc.identifier.doi | 10.1145/3611643.3616277 | - |