Format

All provided corpora consist of the faulty spreadsheets and properties files documenting the faults and the user’s testing decisions. The testing decisions simulate the user interaction with the fault localization approach. They are required to allow researchers to evaluate their fault localization techniques in batch mode.

The faulty spreadsheets and the properties files follow a naming convention:  The name consists of the spreadsheet’s original name, the number of faults (<X>FAULTS) and the fault version (FAULTVERSION<Y>), separated by an underscore, since the same base spreadsheet may have several faulty versions. For example, a faulty version of the bonus.xls file is renamed to bonus_2FAULTS_FAULTVERSION1.xls. This spreadsheet contains a two faulty cells. The appropriate properties file is called bonus_2FAULTS_FAULTVERSION1.properties.

A properties file contains the following information:

  • EXCEL_SHEET specifies the path to the spreadsheet.
  •  INCORRECT_OUTPUT_i specifies a negative testing decision, where i is a sequence number starting from 1, and the cell coordinates are provided in the format <worksheet number>!<column>!<row>.
  • INCORRECT_OUTCELL_ORACLE_MISTAKE_i defines whether the testing decision with the sequence number i is an oracle mistake. If the value of this property equals “T”, the testing decision should be positive instead of negative.
  • INCORRECT_OUTCELL_EXPECTED_VALUE_i specifies the expected value for the incorrect cell with the sequence number i. This property might be required for some of the model-based approaches, but it is not required for trace-based approaches such as SFL.
  • CORRECT_OUTPUT_i specifies a positive testing decision, with i being a sequence number starting from 1. Cells are speci ed in the same format used for incorrect output cells. In contrast to incorrect cells, no output value is expected, as the cell produces the expected value.
  • CORRECT_OUTCELL_ORACLE_MISTAKE_i defines whether the testing decision with the sequence number i is an oracle mistake. If the value of this property equals “T”, the testing decision should be negative instead of positive.
  • FAULTY_CELLS_i specifies that the formula in the cell is not correct, where i is a sequence number starting with 1 and the cell coordinates are provided in the same format as for testing decisions.
  • FAULT_TYPE_i specifies the fault type for the faulty cell with the sequence number i, based on the mutation operators for spreadsheets specified by Abraham and Erwig. This property value is optional.

Example of a properties file:

EXCEL_SHEET =..\\xls\\bonus_1FAULTS_FAULTVERSION1.xls
CORRECT_OUTPUT_1 =0!E!3
CORRECT_OUTCELL_ORACLE_MISTAKE_1 =F
CORRECT_OUTPUT_2 =0!C!5
CORRECT_OUTCELL_ORACLE_MISTAKE_2 =F
INCORRECT_OUTPUT_1 =0!E!5
INCORRECT_OUTCELL_ORACLE_MISTAKE_1 =F
INCORRECT_OUTCELL_EXPECTED_VALUE_1 =874.0
FAULTY_CELLS_1 =0!D!2
FAULT_TYPE_1 =CRS