程序频谱
关于程序频谱(Program Spectrum)和基于程序频谱的缺陷定位(SFL, Spectrum Fault Localization),定义和介绍如下:
Program spectra, also known as code coverage, can be defined as a set of program entities covered during test execution . Spectrum-based fault localization uses information from program entities executed by test cases to indicate entities more likely to be faulty. There are several synonyms of program spectrum used in the literature, such as code coverage, testing data, dynamic information, execution trace, execution path, path profile, and execution profile.
程序频谱,也称为代码覆盖,记录了程序在执行期间的实体覆盖情况。而基于程序频谱的缺陷定位,就是利用这些执行信息,进行软件的缺陷定位的技术。
目标
在西门子测试集中,已 replace 程序为例子,该例子中包含:
- 一个正确版本的程序,和 32 个错误版本(每个版本引入了一个 Bug)
- 5542 个测试用例,可以为每个版本程序产生 5542 个测试输出
目标输出:
- 对于每个错误版本,获得他们在每个测