中文

基于变量的增强决策树故障定位

软件工程 2022-11-22 v1

摘要

故障定位旨在定位待修复缺陷的根因,是一个长期的研究课题。尽管过去几十年提出了许多方法,现有研究大多工作在粗粒度的语句或方法级别,对如何修复缺陷的洞察十分有限(粒度问题),而针对更细粒度故障定位的研究很少。本文针对粒度问题,提出了一种新颖的更细粒度的变量级故障定位技术。具体而言,我们设计了一种程序依赖增强的决策树模型,通过基于变量值区分失败与通过的测试用例,来提升对故障相关变量的识别。为评估方法有效性,我们将其实现为名为 VARDT 的工具,并在 Defects4J 基准上开展了广泛研究。结果显示,VARDT 在 Top-1 定位缺陷方面优于最先进的故障定位方法,提升至少 247.8%,平均提升为 330.5%。此外,为探究我们的细粒度故障定位结果是否能进一步提升下游 APR 技术的有效性,我们将 VARDT 适配到补丁过滤应用中,VARDT 比最先进的 PATCH-SIM 多过滤了 26.0% 的错误补丁。结果证明了我们方法的有效性,也为改进自动化程序修复技术提供了新思路。

关键词

引用

@article{arxiv.2211.11526,
  title  = {Variable-Based Fault Localization via Enhanced Decision Tree},
  author = {Jiajun Jiang and Yumeng Wang and Junjie Chen and Delin Lv and Mengjiao Liu},
  journal= {arXiv preprint arXiv:2211.11526},
  year   = {2022}
}