引用本文:宗芳芳,黄鸿云,丁佐华.基于二次定位策略的软件故障定位.软件学报,2016,27(8):1993-2007
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 3891次   下载 6032 本文二维码信息
码上扫一扫!
分享到: 微信 更多
基于二次定位策略的软件故障定位
宗芳芳, 黄鸿云, 丁佐华
浙江理工大学 信息学院, 浙江 杭州 310018
摘要:
故障定位是软件调试过程中耗力和耗时的活动之一,尤其是对规模大和复杂性高的软件.目前的一些定位技术可分为两类:基于组件和基于语句.前者太粗,不能准确地定位到地方;后者太细,运算复杂度过大.提出一种新技术,称为二次定位策略(double-times-locating,简称DTL),来定位故障:第1次定位,从程序中抽象出函数调用图,再从函数调用轨迹中建立程序谱,最后用基于模型的诊断(model-based diagnosis,简称MBD)对可能含有故障的函数进行排序;第2次定位,利用DStar定位函数中故障的代码行.实验结果表明,该技术比目前基于统计的方法更有效.
关键词:  故障定位  函数调用图  程序频谱  模型诊断
DOI:10.13328/j.cnki.jos.004858
分类号:
基金项目:国家自然科学基金(61210004,61170015)
Software Fault Location Based on Double-Times-Locating Strategy
ZONG Fang-Fang, HUANG Hong-Yun, DING Zuo-Hua
School of Information Science and Technology, Zhejiang Sci-Tech University, Hangzhou 310018, China
Abstract:
Fault localization is a physical and time-consuming activity in the debugging process, especially for the software with large size and high complexity. Existing techniques to locate faults can be classified into two categories: component based and statement based. The former is too coarse to locate the accurate place, while the latter is too fine to contain the computation complexity. This paper proposes a new technique, called double-times-locating (DTL) strategy, to locate software faults. For the first time locating, it abstracts function call graph from the code, builds program spectrum to abstract function traces, and then uses model-based diagnosis (MBD) to sort with probability possible functions candidates that have faults. For the second time locating, it uses DStar to locate faults in the functions. Experimental results show that the proposed technique is more effective than the existing statistics based methods.
Key words:  fault localization  function call graph  program spectrum  model diagnosis

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: