基于谓词执行信息分析的自适应缺陷定位算法  被引量:7

Self-Adaptive Fault Localization Algorithm Based on Predicate Execution Information Analysis

在线阅读下载全文

作  者:郝鹏[1] 郑征[1] 张震宇[2] 高乙超[1] 宫成[1] 薛云志[3] 

机构地区:[1]北京航空航天大学自动化科学与电气工程学院,北京100191 [2]中国科学院软件研究所,北京100190 [3]中国科学院软件研究所基础软件测评实验室,北京100190

出  处:《计算机学报》2014年第3期500-511,共12页Chinese Journal of Computers

基  金:国家自然科学基金(60904066;61003027);国家科技重大专项经费(2012ZX01039-004)资助~~

摘  要:查找程序中缺陷代码所在的位置是一项值得深入开展的研究,同时也是实际软件调试过程中所面临的一个难题,这一过程往往需要耗费大量的时间和人力资源.研究软件缺陷定位的一类重要方法是基于谓词的统计学缺陷定位方法(简称PBSFL).PBSFL通过比较程序运行成功与失败时谓词的执行信息差异来获得谓词与缺陷的关联程度.然而实验研究发现,固定算法中信息利用的强度会造成信息利用不足或过分利用现象的发生,导致现有PBSFL方法对某些缺陷定位不够准确.针对这一问题,文中设计了一种基于谓词执行信息分析的自适应缺陷定位算法,该算法通过分析测试用例运行时谓词的执行情况来动态地为每个谓词选择合适的信息利用强度.实验结果表明,该方法在Siemens和space两个程序包上表现出很好的定位效果以及定位稳定性.Finding the location of a fault in code is an important research and practical problem, which often requires much time and manual effort. Predicate-based statistical fault localization (PBSFL) is a promising method, which obtains the correlative relationship between predicates and faults by comparing the predicate execution information in both correct and incorrect runs. However, experiment results show that existing PBSFL methods fail to locate some faults because they use predicate execution information in a fixed intensity, which may cause insufficient or excessive usage. To solve the problem, we propose a new method, called self-adaptive fault localization algorithm based on predicate execution information analysis, which dynamically select the intensity of information utilization for each predicate through the analysis of test cases run. Experimental results demonstrate that our approach performs well in both accuracy and stability for localizing faults in subject programs of the Siemens and space suites.

关 键 词:统计学缺陷定位 谓词执行信息 自适应 软件测试 程序分析中图法 

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

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

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