Skip to content

Latest commit

 

History

History
109 lines (92 loc) · 2.79 KB

README.md

File metadata and controls

109 lines (92 loc) · 2.79 KB

This document describes the structure of Slicer4J's benchmarks, and how to run them.

Table of Contents

  1. Benchmarks structure
  2. Running the Benchmarks


Benchmarks structure

There are 11 benchmarks: 3 borrowed from JavaSlicer, 5 we created to highlight Slicer4J's strengths, and 3 real programs from the Defects4J dataset.

JavaSlicer benchmarks

Benchmark Folder
Intra-procedural javaslicer-bench1-intra-procedural
Inter-procedural javaslicer-bench2-inter-procedural
Exceptions javaslicer-bench3-exceptions

Slicer4J benchmarks

Benchmark Folder
Multiple threads slicer4j-bench1-multiple-threads
Native methods slicer4j-bench2-native-framework
Java 9 constructs slicer4j-bench3-java-9-constructs
Instrumentation classes slicer4j-bench4-instrumentation-classes
Static Constructor slicer4j-bench5-static-constructor

Defects4J Programs

Benchmark Folder
JacksonCore: bug #4 JacksonCore_4b
JacksonDatabind: bug #3 JacksonDatabind_3b
Gson: bug #4 Gson_4b


Running the Benchmarks

Run the script run_benchmarks.py using python3: python3 run_benchmarks.py
The script creates a results folder, runs all benchmarks, and places the traces and slices in the results folder.