Benchmark | Total tests | Detected clone pairs | Effective candidates | Refactorable | Refactoring ratio |
---|---|---|---|---|---|
jfreechart-1.0.10 | 3934 | 107 | 65 | 49 | 75% |
gson-2.8.5 | 1050 | 31 | 14 | 10 | 71% |
commons-lang-3.7 | 4068 | 144 | 93 | 65 | 70% |
commons-io-2.5 | 1157 | 78 | 56 | 38 | 68% |
jodatime-2.10 | 4222 | 249 | 187 | 106 | 57% |
- Detected clone pairs: clone pairs directly detected from clone detection tools;
- Effective candidates: renamed clone pairs identified by JTestParameterizer;
- Refactorable: test clone pairs that are successfully refactored by JTestParametrizer (passed with same coverage);
- Refactoring ratio: refactorable / effective candidates.
Benchmark | Total refactored tests | Compilable ratio | Test failures | Effective refactoring ratio |
---|---|---|---|---|
jfreechart-1.0.10 | 49 | 100% | 0 | 100% |
gson-2.8.5 | 10 | 100% | 0 | 100% |
commons-lang-3.7 | 65 | 100% | 4 | 94% |
commons-io-2.5 | 38 | 100% | 3 | 92% |
jodatime-2.10 | 106 | 100% | 10 | 91% |
To run JTestParametrizer, open the benchmark in Eclipse and run JTestParametrizer as an application with the benchmark as its parameter. It also relies on the .xls files from clone detection being available.
Note that you might get failures for some benchmarks (e.g. joda-time) if you don't previously run mvn test on that benchmark.
Workspace Data Location: workspace
VM arguments: -Xms128m -Xmx8192m
Working directory: /workspace/eclipse
skipped cases:
- TLE, TestEquals (JDeodorant): 2356,2889,5249,5315,8572
Program arguments: -p jfreechart-1.0.10 -x jrefactoring/results/jfreechart-1.0.10/jfreechart-1.0.10-selected.xls -m ANALYZE_EXISTING -l -s 2356,2889,5249,5315,8572 -pkg org.jfree -ac
Program arguments: -p gson -x jrefactoring/results/gson-2.8.5/gson-2.8.5-deckard-selected.xls -m ANALYZE_EXISTING -l -pkg com.google.gson -ac
Program arguments: -p commons-io-2.5 -x jrefactoring/results/commons-io-2.5/commons-io-2.5-deckard-selected.xls -m ANALYZE_EXISTING -l -pkg org.apache.commons.io -ac
Program arguments: -p commons-lang-3.7 -x jrefactoring/results/commons-lang-3.7/commons-lang-3.7-deckard-selected.xls -m ANALYZE_EXISTING -l -pkg org.apache.commons.lang3 -s 16,105 -ac
Program arguments: -p joda-time-2.10 -x jrefactoring/results/jodatime-2.10/joda-time-2.10-deckard-selected.xls -m ANALYZE_EXISTING -l -pkg org.joda.time -s 3 -ac
JUnit Theories could be better choice when test clone pairs only have data-parameterizable difference: