Implementation and datasets for ISSRE 2019 REG paper 'Generic and Robust Localization of Multi-Dimensional Root Cause'.
Requirements
At least python>=3.6, <3.7 is required. Though Python should be backward-compatible, there is no built wheel for some requirements like SciPy for a higher Python version.
pip install -r requirements.txt
Datasets
Datasets A, B0, B1, B2, B3, B4, D in Table VII are on Tsinghua Cloud.
The ground truth root cause sets are in injection_info.csv in each subfolder.
Usage
$python run_algorithm.py --help
Usage: run_algorithm.py [OPTIONS]
:param name: :param input_path: :param output_path: :param num_workers:
:param kwargs: :return:
Options:
--name TEXT name of this setting
--input-path TEXT will read data from {input_path}/{name}
--output-path TEXT if {output_path} is a dir, save to
{output_path}/{name}.json; otherwise save to
{output_path}
--num-workers INTEGER num of processes
--derived means we should read {timestamp}.a.csv and
{timestamp}.b.csv
--help Show this message and exit.
$python run_evaluation.py --help
Usage: run_evaluation.py [OPTIONS]
Options:
-i, --injection-info TEXT injection_info.csv file
-p, --predict TEXT output json file
-c, --config TEXT config json file
-o, --output-path TEXT output path
--help Show this message and exit.
The config json file should contain the attribute names, e.g.:
Then we get the output (F1-score, precision, recall):
......
0.7858942065491183 0.7918781725888325 0.78
Known Issues
This version of codes is faithful to the published version.
However, two known severe issues are harming the localization performance.
The calculation of _a1 and _a2 in squeeze/squeeze.py:184 is incorrect, which is not following the description in the paper.
It should be corrected as follows
The calculation of score_weight in squeeze/suqeeze.py:256 may produce negative values, which will cause incorrect localization results. Different from 1, the calculation here is faithful to the paper. See #6
@inproceedings{squeeze,
title={Generic and Robust Localization of Multi-Dimensional Root Causes},
author={Li, Zeyan and Luo, Chengyang and Zhao, Yiwei and Sun, Yongqian and Sui, Kaixin and Wang, Xiping and Liu, Dapeng and Jin, Xing and Wang, Qi and Pei, Dan},
booktitle={2019 IEEE 30th International Symposium on Software Reliability Engineering (ISSRE)},
year={2019},
organization={IEEE}
}
请发表评论