Abstract:
Software fault localization is always very difficult, when software fault is detected by runtime monitor. A method to fault localization with difference analysis of dual-traces is proposed. It locates software fault by analyzing the differences between successful run and faulty run. It abstracts program execution with spectrum and selects nearest neighbor successful run with distance metric. By computing longest common subsequence and maximal common adjacent subsequence set, suspicious fault location set is got finally, which is treated as fault cause. This method will reduce code scope of checking for fault localization dramatically.
Key words:
Fault localization,
Trace,
Edit distance,
Longest common subsequence,
Runtime monitor
摘要: 软件运行监控器监测出故障之后,软件故障定位非常困难。该文提出了双轨迹差异分析法,根据成功的运行(run)和含有故障的运行之间的差异来进行故障定位。它采用程序谱来抽象表达程序执行轨迹,按照编辑距离度量来选取和含有故障的运行最近邻居的成功运行。通过序列间的最长共同子序列和最大稳定子序列集的计算,最终得到导致成功运行和失效运行之间差异的可疑故障语句集,并把它作为故障原因。经实验验证,该方法大大减少了故障定位中代码审查的范围。
关键词:
故障定位,
轨迹,
编辑距离,
最大共同子序列,
运行监控
CLC Number:
LIU Yanbin; ZHU Xiaodong. Fault Localization with Difference Analysis of Dual-traces[J]. Computer Engineering, 2007, 33(09): 43-45,4.
刘彦斌;朱小冬. 基于双轨迹差异分析法的软件故障定位[J]. 计算机工程, 2007, 33(09): 43-45,4.