摘要
软件缺陷的存在导致软件无法满足用户的需求,如何高效高质量地定位缺陷是消除软件缺陷的关键。基于模型的缺陷定位技术是当前的研究热点,可以用于检测软件系统故障找到软件失效的原因。现有基于模型的缺陷定位技术中,未考虑非相邻节点间传递依赖和测试用例对可疑度的影响,导致缺陷定位精度和效率低。提出了基于概率模型检测的软件缺陷定位方法(probabilistic model checking method for software fault location,PMC-SFL),首先提出一种程序概率模型用于提高模型的推理能力;然后设计了基于执行路径构建程序概率模型的学习算法;最后设计了基于概率模型检测的软件缺陷定位算法,用于缺陷定位分析。通过在公共数据集Siemens上进行实验和分析,表明了PMC-SFL方法与五种现有的缺陷定位方法RankCP、BNPDG、Tarantula、SOBER和CT相比,具有更高的软件缺陷定位精度和效率。
The existence of software defects causes the software to fail to meet the needs of users.How to locate defects efficiently and with high quality is the key issue to eliminate software defects.Model-based defect location technology is a current research hot topic,and can be used to detect software system failures to find the cause of software failure.However,the existing model-based defect location technology didn’t consider the influence of transfer dependencies between non-adjacent nodes and different test cases on the suspicious degree,which led to the disadvantageous result of low positioning accuracy.This paper proposed a probabilistic model checking method for software fault location(PMC-SFL).Firstly,it proposed a program probability model to improve the reasoning ability of the model.Then it designed a learning algorithm based on the execution path to build a program probability model.Finally,it designed a software defect location algorithm based on probabilistic model detection for defect location analysis.Through experiments and analysis on the public dataset Siemens,it shows that the PMC-SFL method has higher software defect location accuracy and efficiency than five existing defect location methods RankCP,BNPDG,Tarantula,SOBER and CT.
作者
任胜兵
陈军
谭文钊
左兴
Ren Shengbing;Chen Jun;Tan Wenzhao;Zuo Xing(School of Computer Science&Engineering,Central South University,Changsha 410083,China)
出处
《计算机应用研究》
CSCD
北大核心
2021年第11期3387-3392,3397,共7页
Application Research of Computers
关键词
缺陷定位
概率模型检测
测试用例
执行轨迹
概率计算树逻辑
fault localization
probabilistic model checking
test case
execution trace
probabilistic computation tree logic