软件调试是软件开发的重要环节.统计错误定位技术通过分析程序执行频谱来估计程序中错误所在的位置.针对不同类型的程序频谱,此类技术建立不同的启发式模型描述程序行为.已有研究表明,其准确度同目标错误和程序类型相关,且不存在某种普遍有效的技术.文中从单元测试的特性出发,探讨预测错误类型的可行性,并采用马尔可夫过程对错误类型进行预测,从错误定位技术备选集中选择适合的技术来实施.实验表明文中方法能够更快地定位程序错误.
Debugging is a necessary phase in software development. Statistical fault localization techniques estimate fault locations by analyzing dynamic program spectra. They build different heuristic analytical models for different program spectra to describe the program behavior. Previ- ous studies show that their effectiveness is related to the target faults and program types; and there is no universally effective technique. By evaluating the feasibility of predicting fault class in a unit test process, this paper employs a Markov model to select a proper such technique to apply, from a candidate set. Empirical study shows it is more effective to locate faults.