一种基于遗传算法的多故障解耦和故障定位方法技术

技术编号:24090499 阅读:45 留言:0更新日期:2020-05-09 07:51
本发明专利技术公开了一种基于遗传算法的多故障解耦和故障定位方法,包括:根据失效用例集构建初始失效用例特征向量矩阵;计算每一个候选解的适应度,并按照适应度大小对候选解进行降序排序;对n+1个候选解进行n+1次抽样,选出n+1个样本;基于n+1个样本进行交叉和变异操作,得到新的n+1个候选解,若迭代轮数大于N1或样本中具有最大适应度的候选解连续N2轮不变,则算法终止,得到具有最大适应度的候选解;将最大适应度的候选解所对应的失效用例修改为通过,并利用故障定位算法进行定位,得到最终的定位结果。本发明专利技术公开提供的基于遗传算法的多故障解耦和故障定位方法,提高了故障定位算法在多故障环境下的定位效率。

A multi fault decoupling and fault location method based on genetic algorithm

【技术实现步骤摘要】
一种基于遗传算法的多故障解耦和故障定位方法
本专利技术涉及软件故障定位
,更具体的说是涉及一种基于遗传算法的多故障解耦和故障定位方法。
技术介绍
自动化的软件故障定位技术能够提高软件调试和测试效率,对于提高软件可靠性和降低软件研发成本至关重要。软件故障定位技术是指在软件运行失效的前提条件下,通过对测试结果、源程序以及通过程序行为特征反应出来的信息进行分析计算,找出造成软件失效的故障代码在源程序代码中的可能位置。调试过程需要理解程序的功能,结构,实现和语义,以及相关失败执行的特点。通常调试任务只能由程序开发人员来完成,其他人员很难胜任,故障定位过程中的任何改进都可以大大降低调试成本。对于多故障程序(程序中含有多处故障代码),软件失效可由多个不同故障源相互耦合产生,定位特定故障源时,由其它耦合故障源导致的共同失效用例会带来负面和模糊的特征反馈(M.Srivastav,Y.Singh,C.Gupta,andD.S.Chauhan,"ComplexityEstimationApproachforDebugginginParallel,"i本文档来自技高网...

【技术保护点】
1.一种基于遗传算法的多故障解耦和故障定位方法,其特征在于,包括:/nS11:根据失效用例集构建初始失效用例特征向量矩阵;其中,失效用例集中有n个失效用例,初始失效用例特征向量矩阵中共有n+1个候选解;/nS12:计算每一个候选解的适应度,并按照适应度大小对候选解进行降序排序;/nS13:对n+1个候选解进行n+1次抽样,选出n+1个样本;/nS14:基于步骤S13中选出的n+1个样本进行交叉和变异操作,得到新的n+1个候选解,若当前迭代轮数大于N1或者样本中具有最大适应度的候选解连续N2轮不变,则算法终止,得到具有最大适应度的候选解;否则,返回步骤S12;/nS15:将步骤S14得到的最大适...

【技术特征摘要】
1.一种基于遗传算法的多故障解耦和故障定位方法,其特征在于,包括:
S11:根据失效用例集构建初始失效用例特征向量矩阵;其中,失效用例集中有n个失效用例,初始失效用例特征向量矩阵中共有n+1个候选解;
S12:计算每一个候选解的适应度,并按照适应度大小对候选解进行降序排序;
S13:对n+1个候选解进行n+1次抽样,选出n+1个样本;
S14:基于步骤S13中选出的n+1个样本进行交叉和变异操作,得到新的n+1个候选解,若当前迭代轮数大于N1或者样本中具有最大适应度的候选解连续N2轮不变,则算法终止,得到具有最大适应度的候选解;否则,返回步骤S12;
S15:将步骤S14得到的最大适应度的候选解所对应的失效用例修改为通过,并利用故障定位算法进行定位,输出的定位结果作为最终的定位结果。


2.根据权利要求1所述的一种基于遗传算法的多故障解耦和故障定位方法,其特征在于,在步骤S11之前,还包括步骤S10:搜集测试用例集的执行结果和语句覆盖率信息,并将测试用例集分为失效用例集和通过用例集。


3.根据权利要求1所述的一种基于遗传算法的多故障解耦和故障定位方法,其特征在于,在步骤S13中,利用轮盘赌算法对n+1个候选解进行n+1次抽样,选出n+1个样本。


4.根据权利要求1所述的一种基于遗传算法的多故障解耦和故障定位方法,其特征在于,步骤S14中,所述基于步骤S13中选出的n+1个样本进行...

【专利技术属性】
技术研发人员:王世海严潇波刘斌邵元勋
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1