基于关联挖掘的软件错误定位方法  被引量:9

Mining Associations to Improve the Effectiveness of Fault Localization

在线阅读下载全文

作  者:赵磊[1,2] 王丽娜[1,2] 高东明[1,2] 张震宇[3] 熊作婷[1,2] 

机构地区:[1]武汉大学空天信息安全与可信计算教育部重点实验室,武汉430072 [2]武汉大学计算机学院,武汉430072 [3]中国科学院软件研究所计算机科学国家重点实验室,北京100190

出  处:《计算机学报》2012年第12期2528-2540,共13页Chinese Journal of Computers

基  金:国家自然科学基金(90718006;60970114;61003027;61073006);教育部博士研究生学术新人项目资助~~

摘  要:基于覆盖率的错误定位(Coverage Based Fault Localization,CBFL)方法旨在通过分析程序执行的结果预测错误信息,是一种行之有效的错误定位方法.然而,CBFL方法中代码覆盖率的独立统计忽略了程序内存在的复杂控制依赖和数据依赖,从而忽视了语句间的语义关系,影响错误定位的准确性.该文借助实例重点分析了基于代码覆盖率所得到的错误可疑度与错误代码的表现关系,指出现有CBFL方法的不足是片面地将基于覆盖率的错误可疑度直接作为错误代码判定的依据;提出程序失效规则及基于覆盖向量的覆盖信息分析模型,并在此模型基础之上,指出高可疑代码与错误代码在执行路径上的覆盖一致性,进而提出用以挖掘与高可疑代码相关联的错误代码的频繁集求解方法.以SIR基准程序为实验对象建立的受控实验结果表明,相比之前的研究,文中方法在一定程度上能够改进错误定位结果.Coverage-based fault localization (CBFL) techniques find the fault-related positions in programs by comparing the execution statistics of passed executions and failed executions have been proven to be efficient by several empirical studies. However, these techniques assess the suspiciousness of program entities individually, whereas the individual coverage information can- not reflect the complicated control- and data-dependency relationships, and thus oversimplify the execution spectra. In this paper, we first use motivating examples to show the impact of the cause-effect relationship on the effectiveness of CBFL. Second, we propose the rules of program failures and design the execution analysis model based on the coverage of different program execu tion spectrum. By computing the frequency items for statements with high suspiciousness, we al- so bring out the coverage vector to mine fault-prone statements. The controlled experiments based on the SIR benchmarks indicate that our technique is promising.

关 键 词:软件调试 错误定位 关联挖掘 覆盖向量 频繁集 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象