一句话:提出 UniVal,用因果推断与机器学习融合谓词结果和变量值,更准确估计语句致错效应以改进故障定位。
统计故障定位(SFL)用执行剖面和成功/失败信息自动为程序元素打分。多数 SFL 只使用覆盖率、谓词结果或变量值中的一类数据,且度量的是相关性而非因果性,容易受混杂偏差影响,导致评分失真。本文提出 UniVal,利用因果推断与机器学习融合谓词结果和变量值,更准确地估计语句真正导致失败的效果。作者在 800 个含真实故障的程序版本上,与多种基于覆盖率、基于谓词和基于变量值的 SFL 技术进行了实证比较。
Statistical fault localization (SFL) techniques use execution profiles and success/failure information from software executions, in conjunction with statistical inference, to automatically score program elements based on how likely they are to be faulty. SFL techniques typically employ one type of profile data: either coverage data, predicate outcomes, or variable values. Most SFL techniques actually measure correlation, not causation, between profile values and success/failure, and so they are subject to confounding bias that distorts the scores they produce. This paper presents a new SFL technique, named UniVal, that uses causal inference techniques and machine learning to integrate information about both predicate outcomes and variable values to more accurately estimate the true failure-causing effect of program statements. UniVal was empirically compared to several coverage-based, predicate-based, and value-based SFL techniques on 800 program versions with real faults.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{KucukHP21,
title = {Improving Fault Localization by Integrating Value and Predicate Based Causal Inference Techniques},
author = {Yigit Kucuk and Tim A. D. Henderson and Andy Podgurski},
booktitle = {ICSE},
year = {2021},
doi = {10.1109/icse43902.2021.00066}
}