计算机工程与应用 ›› 2018, Vol. 54 ›› Issue (13): 246-251.DOI: 10.3778/j.issn.1002-8331.1702-0052
黄小红,赵逢禹
HUANG Xiaohong, ZHAO Fengyu
摘要: 为了更加有效地定位软件故障可疑位置,考虑程序分支判断语句的行为状态及其之间的相互干扰,提出一种利用分支路径差异分析的故障定位方法。结合GCC编译器产生的中间文件做分析、转换得到程序抽象语法树,获取分支节点的执行信息,构造分支特征矩阵;提出聚类优化算法FCM-BP筛选合适路径,得到高度抗干扰的执行成功的路径代表和执行失败的路径代表;最后基于代表路径做差异分析生成故障可疑度排名报告。在Xerces等大型项目上进行实验分析并与Tarantula等经典实验对比后发现,利用分支路径差异的方法可以有效定位软件故障。