软件多缺陷定位(MultipleFaultLocalization,简称 MFL)尝试在含有多个缺陷的软件程序中自动标识出这些缺陷所在 的位置。传统的缺陷定位研究一般假设被测软件内仅含有一个缺陷,而实际情况下软件内往往包含多个缺陷,因此 MFL 问 题更加贴近实际场景。当程序中存在多个缺陷时,由于缺陷数量难以准确估计,同时缺陷之间可能存在互相干扰,因此对 MFL 问题的研究更具挑战性。已有研究表明传统单缺陷假设下的缺陷定位技术会随着程序中缺陷数目的增多而出现定位效 果下降的问题。因此,需要对已有缺陷定位技术加以改进使其在 MFL 问题中具有更好的缺陷定位效果。本文以 MFL 研究 问题为核心,对相关研究成果进行了系统的梳理。首先将已有的 MFL 技术细分为三类,分别是基于缺陷干扰假设的多缺陷 定位方法,基于缺陷独立假设的多缺陷定位方法和不基于任何假设的多缺陷定位方法;然后依次总结了每一类方法的主要设 计思想和相关研究成果,随后分析了 MFL 研究中经常使用的评测指标和评测对象;最后,本文从扩大评测对象的编程语言 范围、考虑更多的软件程序、寻找更多的工业应用场景等多个角度对 MFL 的未来研究方向进行了展望。
http://cjc.ict.ac.cn/online/onlinepaper/lz-2022121125127.pdf