The script run.sh
performs fault-localization on a Java toy project using the
GZoltar command line interface. Fault-localization can either be performed with
offline or online (i.e., at runtime) instrumentation.
Usage:
./run.sh
--instrumentation <online|offline>
[--help]
After executing the script, the following files can be find under the build/
directory:
build/gzoltar.ser
- a serialized file with the coverage collected by GZoltar.build/sfl/txt/tests.csv
- a list of all test cases (one per row) and its correspondent outcome (eitherPASS
orFAIL
), runtime in nanoseconds, and stacktrace (if it is a failing test case).build/sfl/txt/spectra.csv
- a list of all lines of code identified by GZoltar (one per row) of all classes under test. Each row follows the following format:<class name>#<method name>(<method parameters>):<line number>
e.g.,org.gzoltar.examples$CharacterCounter#processString(java.lang.String):37
.build/sfl/txt/matrix.txt
- a binary coverage matrix produced by GZoltar where each row represents the coverage of each individual test case and its outcome ("-" if the test case failed, "+" otherwise), and each column a line of code. 1 means that a test case covered a line of code, 0 otherwise.build/sfl/txt/ochiai.ranking.csv
- the fault localization report, i.e., the ranking of lines of code (one per row), produced by the spectrum-based fault localization formulaochiai
.build/sfl/txt/statistics.csv
- some statistics information about the ranking produced.