Detecting JVM JIT Compiler Bugs via Exploring Two-Dimensional Input Spaces
This is the research artifact of the paper entitled `Detecting JVM JIT Compiler Bugs via Exploring Two-Dimensional Input Spaces’. JOpFuzzer is a bug-detection tool for JVM JIT compilers, which includes two major parts: correlation construction between code features as well as optimization options and bug detection for JVM JIT compilers. Compared to existing tools, JOpFuzzer contains two important novelties: it manages to construct the correlation between code features and optimization options; it then utilizes the correlation to test the JIT compiler code snippets that are under the optimization options. Existing work mainly focus on designing seed file mutation strategies, while neglecting the required optimization options. However, JIT compilers provide numerous optimization options, if the fuzzer randomly selects the options for testing, it will greatly compromise the efficiency of testing.Different from existing tools, JOpFuzzer derives the correlations between code features and optimization options, utilizes Tbar to mutate the seed files, records the changed code features, and finally specifies the related optimization options to further detect optimization bugs. The artifact evaluation experiments of JOpFuzzer include two main aspects: detecting real bugs in JVM JIT compilers and comparing the achieved code coverage with the state-of-the-art fuzzers. We apply to obtain the Available'' and
Reusable'' badges for the artifacts.The reason is that we place the artifact on a publicly accessible archival repository, and it is carefully documented. Besides, we assume users of the artifact are able to use Linux Ubuntu Operating System.