一句话:提出 MSeer,通过聚类失败测试并行定位多缺陷,提升多缺陷程序的故障定位效果与效率。
多缺陷程序中,多个缺陷同时存在会削弱现有故障定位技术的效果;失败测试与具体缺陷之间的 due-to 关系难以直接识别,因此不能简单地把所有失败测试和成功测试一起用于定位。为此,论文提出 MSeer,一种面向多缺陷并行定位的故障定位技术。MSeer 使用修订的 Kendall tau 距离度量两个失败测试之间的距离,并同时估计聚类数量以及为这些簇分配初始 medoids,再采用改进的 K-medoids 聚类算法,将同一缺陷导致的失败测试聚到同一故障聚焦簇中,从而更好地刻画失败测试与对应缺陷之间的关系。论文在 7 个程序的 840 个多缺陷版本上开展案例研究,并与另外两种多缺陷并行定位技术比较,结果表明 MSeer 在有效性和效率方面均更优。
In practice, a program may contain multiple bugs. The simultaneous presence of these bugs may deteriorate the effectiveness of existing fault-localization techniques to locate program bugs. While it is acceptable to use all failed and successful tests to identify suspicious code for programs with exactly one bug, it is not appropriate to use the same approach for programs with multiple bugs because the due-to relationship between failed tests and underlying bugs cannot be easily identified. One solution is to generate fault-focused clusters by grouping failed tests caused by the same bug into the same clusters. We propose MSeer - an advanced fault localization technique for locating multiple bugs in parallel. Our major contributions include the use of (1) a revised Kendall tau distance to measure the distance between two failed tests, (2) an innovative approach to simultaneously estimate the number of clusters and assign initial medoids to these clusters, and (3) an improved K-medoids clustering algorithm to better identify the due-to relationship between failed tests and their corresponding bugs. Case studies on 840 multiple-bug versions of seven programs suggest that MSeer performs better in terms of effectiveness and efficiency than two other techniques for locating multiple bugs in parallel.
DOI 原文 ·
@inproceedings{paperbot4487,
title = {MSeer},
author = {Ruizhi Gao and W. Eric Wong},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3182552}
}