variable sequence based fault localization
-
This project corresponds to the experiments and results in the paper
VSBFL: variable sequence based fault localization(doi links will be added in the future). -
The link of dataset is here.
- Call the function
Snooper.get_cpp_variable_sequence(file_path, test_dir_path), and the returned parameter is the corresponding variable value sequences. wherefile_pathis the code path andtest_dir_pathis the test case suite path.
-
In the file
benmark.py, call the functionrun_dir(file_dir_path, pair_info, test_dir_path)to start the experiment, note that you need to change the corresponding parameters. -
parameter
pair_infois the matching relationship between correct programs and faulty programs, which can be obtained by functionfind_pair_by_tagorfind_pair_by_res. The difference is thatfind_pair_by_tagis the pairing relationship given by the dataset, whilefind_pair_by_resis the pairing relationship given by the method in this paper. -
The experimental results are saved in the path set by the parameter
res_file_temp, and this excel file needs to be created by you first. -
If you want to count the experimental results, you can call the
statistical_fl_results(file_path, tag_root_dir)function in thestatistics.pyfile, wheretag_root_diris the error message we marked. Before you count the experimental results, please make sure that the first two worksheets in the excel file are blank.
- The experimental results of this paper are saved in the folder
result.