计算机科学与探索 ›› 2018, Vol. 12 ›› Issue (10): 1614-1621.DOI: 10.3778/j.issn.1673-9418.1708063

• 系统软件与软件工程 • 上一篇    下一篇

结合图挖掘和支持向量机的错误定位

陆  凯1,姜淑娟1,2+,王兴亚1   

  1. 1. 中国矿业大学 计算机科学与技术学院,江苏 徐州 221116
    2. 桂林电子科技大学 广西可信软件重点实验室,广西 桂林 541004
  • 出版日期:2018-10-01 发布日期:2018-10-08

Fault Localization Method of Combining Graph Mining and SVM

LU Kai1, JIANG Shujuan1,2+, WANG Xingya1   

  1. 1. School of Computer Science and Technology, China University of Mining and Technology, Xuzhou, Jiangsu 221116, China
    2. Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology, Guilin, Guangxi 541004, China
  • Online:2018-10-01 Published:2018-10-08

摘要: 已有错误定位方法通常只给出可疑语句的排序列表,缺少错误的上下文信息,导致开发人员难以理解程序失败的原因。对此,提出结合图挖掘和支持向量机(support vector machine,SVM)的软件错误定位方法。首先,根据程序调用信息将程序建模为加权行为图;其次,应用支持向量机提取频繁边对所有执行分类,并通过分类精度的变化度量方法的可疑度,最终生成一个可疑方法集合帮助开发人员判断错误位置。实验结果显示使用频繁边作为特征执行分类保持或者提升了分类精度,表明了方法的有效性。

关键词: 错误定位, 程序行为图, 图挖掘, 支持向量机

Abstract: The existing fault localization approaches only give a list of suspicious statements ranking in descending order. However, lacking of context information is hard for developers to understand the cause of failure. This paper presents a method that combines graph mining and support vector machine (SVM) to locate fault. First of all, program is modeled as weighted behavior graph according to the program information. Secondly, the frequent edges are extracted, and SVM is used to classify all executions. The suspicious degree of methods is measured by change of classification accuracy. The approach gets the bug-relevant function set for developers to locate fault finally. Experimental results show that using frequent edges as feature for classification keeps or improves the classification accuracy. Results show that this method is effective.

Key words: fault localization, program behavior graph, graph mining, support vector machine