CN111124884B - 一种基于遗传算法的多故障解耦和故障定位方法 - Google Patents

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

Info

Publication number
CN111124884B
CN111124884B CN201911142767.7A CN201911142767A CN111124884B CN 111124884 B CN111124884 B CN 111124884B CN 201911142767 A CN201911142767 A CN 201911142767A CN 111124884 B CN111124884 B CN 111124884B
Authority
CN
China
Prior art keywords
fault
samples
fitness
algorithm
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911142767.7A
Other languages
English (en)
Other versions
CN111124884A (zh
Inventor
王世海
严潇波
刘斌
邵元勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201911142767.7A priority Critical patent/CN111124884B/zh
Publication of CN111124884A publication Critical patent/CN111124884A/zh
Application granted granted Critical
Publication of CN111124884B publication Critical patent/CN111124884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种基于遗传算法的多故障解耦和故障定位方法
技术领域
本发明涉及软件故障定位技术领域,更具体的说是涉及一种基于遗传算 法的多故障解耦和故障定位方法。
背景技术
自动化的软件故障定位技术能够提高软件调试和测试效率,对于提高软 件可靠性和降低软件研发成本至关重要。软件故障定位技术是指在软件运行 失效的前提条件下,通过对测试结果、源程序以及通过程序行为特征反应出 来的信息进行分析计算,找出造成软件失效的故障代码在源程序代码中的可 能位置。调试过程需要理解程序的功能,结构,实现和语义,以及相关失败 执行的特点。通常调试任务只能由程序开发人员来完成,其他人员很难胜任, 故障定位过程中的任何改进都可以大大降低调试成本。
对于多故障程序(程序中含有多处故障代码),软件失效可由多个不同 故障源相互耦合产生,定位特定故障源时,由其它耦合故障源导致的共同失 效用例会带来负面和模糊的特征反馈(M.Srivastav,Y.Singh,C.Gupta,and D. S.Chauhan,"ComplexityEstimation Approach for Debugging in Parallel,"in international conference oncomputer research and development,2010),如何确 定多故障软件中失效用例和故障源之间一一对应的关系,提取故障源清晰特 征,成为了软件故障定位领域的研究挑战之一。针对这个挑战,现有研究的 主流做法是针对程序执行所产生的失效用例进行聚类分析。该类方法假设被 测软件的失效用例可以根据其特征结构进行分类,使得每一类中的失效用例 仅对应一处故障源,即符合单故障对应假设(R.Gao and W.E.Wong, "MSeer-AnAdvanced Technique for Locating Multiple Bugs in Parallel,"IEEE Transactionson Software Engineering,2017)。然而,对于同时触发多处故障的 失效用例来说,单故障对应假设无法成立:由于不同故障源间的耦合效应, 会干扰特定故障源的特征选取。比如异类多故障源间相互影响使得失效用例 呈现特定故障源的特征,而实际上该用例并未触发该类故障。这类具备多种 故障源特征的噪声失效用例会阻碍针对特定故障特征进行的定位活动,缩小 每一个失效用例聚类对应的故障源所在程序成功和失败运行中的执行信息差 异,从而产生特征模糊现象,进而降低定位效率,这是造成多故障环境下难 以建立失效用例和故障代码之间明确对应关系的根本原因。
因此,如何提高在多故障环境下的定位效率是本领域技术人员亟需解决 的问题。
发明内容
有鉴于此,本发明提供了一种基于遗传算法的多故障解耦和故障定位方 法,基于遗传算法对耦合用例进行解耦合操作,尽可能消除耦合效应对故障 定位产生的负面影响,从而从根本上提高现有故障定位算法在多故障环境下 的定位效率。
为了实现上述目的,本发明采用如下技术方案:
一种基于遗传算法的多故障解耦和故障定位方法,包括:
S11:根据失效用例集构建初始失效用例特征向量矩阵;其中,失效用例 集中有n个失效用例,初始失效用例特征向量矩阵中共有n+1个候选解;
S12:计算每一个候选解的适应度,并按照适应度大小对候选解进行降序 排序;
S13:对n+1个候选解进行n+1次抽样,选出n+1个样本;
S14:基于步骤S13中选出的n+1个样本进行交叉和变异操作,得到新的 n+1个候选解,若当前迭代轮数大于N1或者样本中具有最大适应度的候选解 连续N2轮不变,则算法终止,得到具有最大适应度的候选解;否则,返回步 骤S12;
S15:将步骤S14得到的最大适应度的候选解所对应的失效用例修改为通 过,并利用故障定位算法进行定位,输出的定位结果作为最终的定位结果。
这时候实际上是更新了失效用例集和通过用例集,并基于刚更新的失效 用例集和通过用例集和故障定位算法进行定位。
优选的,在步骤S11之前,还包括步骤S10:搜集测试用例集的执行结果 和语句覆盖率信息,并将测试用例集分为失效用例集和通过用例集。
优选的,在步骤S13中,利用轮盘赌算法对n+1个候选解进行n+1次抽 样,选出n+1个样本。
优选的,步骤S14中,所述基于步骤S13中选出的n+1个样本进行交叉 和变异操作,得到新的n+1个候选解具体包括:
将n+1个样本对半分为(n+1)/2个父样本和(n+1)/2个母样本,将每一个父 样本和母样本进行配对,进行交叉和变异的操作,生成(n+1)/2个新样本;
将生成的(n+1)/2个新样本与从步骤S13中选出的n+1个样本随机选出的 (n+1)/2个样本组成n+1个候选解。
优选的,在步骤S12中,采用如下适应度函数来计算每一个候选解的适 应度;
Figure BDA0002281393310000031
其中,α为失效用例特征向量对应失效用例解耦合后的语句怀疑度序列; β为原始语句怀疑度序列,F(α,β)为候选解对应的适应度函数。
优选的,在步骤S14中,交叉的概率为:
Figure BDA0002281393310000032
f'表示当前候选解的适应度分数,favg表示当前种群的平均适应度分数, fmax为当前种群中最大的适应度分数;变异的概率Pm为1,且变异时采用单 点变异。
优选的,N1为200,N2为50。
优选的,所述故障定位算法包括:Tarantula、Ochiai或Dstar。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基 于遗传算法的多故障解耦和故障定位方法,基于遗传算法对测试用例集进行 搜索,对搜索出来的满足特定故障耦合模式的失效用例进行解耦合,使得耦 合效应对于故障定位技术的影响降到最低,从而消除多故障负面影响,从根 本上提高现有故障定位算法在多故障环境下的定位效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不 付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的基于遗传算法的多故障解耦和故障定位方法的流程 图;
图2为本发明提供的初始失效用例特征向量矩阵的示意图;
图3为本发明提供的单点交叉算子的示意图;
图4为本发明提供的变异算子的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于现有技术中存在的问题,本发明公开了一种基于遗传算法的多故障 解耦和故障定位方法,针对故障耦合效应对故障定位产生影响的机理入手, 通过对耦合用例进行解耦合操作,尽可能消除耦合效应对故障定位产生的负 面影响,从而从根本上提高现有故障定位算法在多故障环境下的定位效率。
该方法分为两个阶段,第一阶段从故障耦合效应对多故障定位问题产生 的负面影响分析入手,针对耦合失效用例的特征和产生影响的范围设计合适 的适应度函数,在此基础上构建遗传算法对测试用例集进行搜索,筛选出可 能受耦合效应影响的失效用例集合。第二阶段则采用基于故障耦合机理的解 耦合算法对前一个阶段搜索出来的耦合测试用例集进行解耦合运算,并将解 耦合后的测试用例集作为输入提供给故障定位算法,从而最终生成解耦合后 的语句怀疑度序列提供给软件调试人员进行高效的故障定位。
具体方法请参加附图1,本发明实施例公开了一种基于遗传算法的多故障 解耦和故障定位方法,包括:
S11:根据失效用例集构建初始失效用例特征向量矩阵;其中,失效用例 集中有n个失效用例,初始失效用例特征向量矩阵中共有n+1个候选解;
S12:计算每一个候选解的适应度,并按照适应度大小对候选解进行降序 排序;具有越大适应度的失效用例特征向量排在越前面;
S13:对n+1个候选解进行n+1次抽样,选出n+1个样本;抽样概率按照 每个候选解适应度大小的分布进行分配,具有越大适应度的候选解被抽样的 概率越大,具体抽样方法可以选取轮盘赌算法,重复n+1次抽样,选出n+1 个样本。
S14:基于步骤S13中选出的n+1个样本进行交叉和变异操作,得到新的 n+1个候选解,若当前迭代轮数大于N1或者样本中具有最大适应度的候选解 连续N2轮不变,则算法终止,得到具有最大适应度的候选解;否则,返回步 骤S12;优选的,N1为200,N2为50。
S15:将步骤S14得到的最大适应度的候选解所对应的失效用例人为修改 为通过,并利用故障定位算法进行定位,输出的定位结果作为最终的定位结 果。其中,故障定位算法可选用Tarantula、Ochiai或Dstar等经典算法。
参见附图1,为了进一步优化上述技术方案,在步骤S11之前,还包括步 骤S10:搜集测试用例集的执行结果和语句覆盖率信息,并将测试用例集分为 失效用例集和通过用例集。
为了进一步优化上述技术方案,在步骤S14中,所述基于步骤S13中选 出的n+1个样本进行交叉和变异操作,得到新的n+1个候选解具体包括:
将n+1个样本对半分为(n+1)/2个父样本和(n+1)/2个母样本,将每一个父 样本和母样本进行配对,进行交叉和变异的操作,生成(n+1)/2个新样本;
将生成的(n+1)/2个新样本与从步骤S13中选出的n+1个样本随机选出的 (n+1)/2个样本组成n+1个候选解。
下面对本发明提供的基于遗传算法的多故障解耦和故障定位方法中的具 体步骤和相关概念做进一步详细说明。
1、初始失效用例特征向量矩阵的选取
失效用例特征向量C表示从失效用例集中选取特定失效用例子集:
C={e1,e2,e3,L,en},ei∈{0,1}
其中,ei表示第i个失效用例的特征标志,1表示提取该失效用例,0表 示不提取该失效用例。比如,C={1,0,1,0,0,L,0}表示提取第一个和第三个失效 用例组成的集合。假设程序中有n个故障f1,f2,L,fn,为了尽可能让每个失效 用例独立的纳入初始候选解中,使用图2所示矩阵作为整个搜索算法的初始 候选解。初始候选解矩阵为(n+1)×n矩阵,每一行对应一个失效用例特征向量 (可能的候选解),因为矩阵第二行至最后一行为单位阵,因此,这C1到Cn每一个失效用例特征向量都对应唯一一个相应的失效用例,这样保证所有失效用例在构造初始解的时候都尽量独立的考虑进来。而失效用例特征向量 C0={0,0,0,L,0}则表示该失效用例集中无耦合用例,当失效用例特征向量 C0={0,0,0,L,0}的适应度最高时则表示搜索算法没有搜索到耦合用例。
2、适应度函数
适应度函数表示某个失效用例集为耦合用例集的可疑程度。考虑到故障 耦合效应是造成故障定位算法在多故障环境下定位效率低下的主要原因,针 对故障耦合用例解耦合之后的语句怀疑度序列必然与解耦合之前语句的怀疑 度序列表现出最大化的差异。因此,本发明构造如下的适应度函数:
Figure BDA0002281393310000062
其中,α为失效用例特征向量对应失效用例解耦合后的语句怀疑度序列; β为原始语句怀疑度序列,F(α,β)为候选解对应的适应度函数。
一般来说,对于候选解C={e1,e2,e3,L,en},ei∈{0,1},算法首先生成该失效用 例特征向量对应失效用例解耦合后的语句怀疑度序列,将其作为α,而将原始 语句怀疑度序列作为β计算该候选解对应的适应度函数F(α,β)。
语句怀疑度序列为故障定位领域中的一个常见概念,指的是故障定位定 位算法(如程序谱分析算法Tarantula)根据用例集执行结果和语句执行信息 对每一个语句分配一个怀疑度分数(这个分数表示该语句是故障语句的可能 性,怀疑度分数越大,该语句越有可能是故障语句),这样经过故障定位算 法运算,程序中所有语句都会有一个怀疑度分数,将每一个语句的怀疑度分 数在所有语句怀疑度分数中的排序分配给每一个语句即为语句怀疑度序列(如怀疑度分数最大的语句对应的排序为rank 1,第二大的语句为rank 2,依 次类推)。
3、交叉和变异算子
交叉算子指的是交换染色体片段产生两个新的后代,从种群中随机选择 两个个体,生成一个随机数,如果随机数小于参数PC,则对选择的两个个体 进行交叉算子。图3展示了常见的单点交叉方式进行的交叉算子过程,在父 代失效用例特征向量Ci和Cj中随机选取交叉位置,选定后交换Ci和Cj交叉位 置至失效用例特征向量最后元素的所有片段,生成新的子代Ci'和Cj'。
在交叉算子运算中,父代的个体经过交叉得到新的基因型以组成新的子 代个体。但如果在某个基因位置上父代的基因型均相同,则子代就不可能产 生新的基因型。因此,需要变异算子的处理以确保候选解的多样性,参数PM用 以指定由交叉算子产生的子代个体的每一个基因位变异的概率,即从0变异 为1或从1变异为0的概率,当算法调用变异算子时,将产生随机数,如果 随机数小于该概率,则进行变异算子的操作。为了加快遗传算法的收敛速度 和避免算法陷入局部最优解,本发明使用自适应的交叉和变异概率选择:
Figure BDA0002281393310000071
f'表示当前候选解的适应度分数,favg表示当前种群的平均适应度分数, fmax为当前种群中最大的适应度分数;
变异的概率为Pm为1,变异策略本发明使用图4所示变异算子进行单点 变异。
基于故障耦合机理的故障解耦合算法目的在于对搜索出来的满足特定故 障耦合模式的失效用例进行解耦合,使得耦合效应对于故障定位技术的影响 降到最低,从而达到消除多故障负面影响的目的。由于多故障环境下故障耦 合模式的分布是极其不平均的,将特定用例的执行结果从失效用例中剔除可 以有效提升故障定位效率。因此,本发明将搜索出来的耦合用例执行结果从 失效人工转换为通过。
下面结合具体实施例对本发明的技术方案做进一步论述。
实施例的数据来自于著名开源程序项目SIR(Subject InfrastructureRepository)和Defects4J,这些项目库都详细的包括了程序的源代码,可注入 故障和测试用例程序集。本实施例选取SIR中的Siemense测试集(包括Tcas, Printtoken,Replace,Totinfo,Schedule,Schedule2六个子程序)以及Sefects4J 数据集中的Chart,Math数据集。表1展示了各个数据集的基本情况。
表1实施例数据集基本情况
程序名称 规模(代码行数) 测试用例个数 语言类型
Siemens:tcas 174 1578 C
Siemens:schedule 337 2650 C
Siemens:print_tokens 566 4130 C
Siemens:replace 563 5542 C
Siemens:schedule2 295 2710 C
Siemens:tot_info 407 1052 C
Chart 96000 426 Java
Math 85000 264 Java
选定实施例目标程序后,首先,运行对应程序的测试用例集,搜集每个 用例的语句执行覆盖率信息,同时确定每个用例的执行结果为失败或成功, 执行本发明所描述算法搜索出耦合测试用例,将搜索出来的耦合用例执行结 果修订为通过,运行基准故障定位算法得出定位结果。为了有效阐述本发明 的有效性,本实施例分别选定Tarantula,Ochiai,Dstar作为基准故障定位算 法进行比较,其中,Tarantula和Ochiai算法为经典的故障定位技术,Dstar为 近年来定位效率较高的定位技术。
最后,对定位结果进行分析评价,本实施例用Y-Exam分数来评价定位算 法的效率:假设被测程序共有n个可执行语句,按照故障定位算法给出的语 句怀疑度序列需要检查m条语句发现第一处故障代码,则该故障定位技术在 被测程序上的定位效率Y-Exam分数为m/n,该分数越小,说明发现故障需要 检查的语句数量越少,也标志着故障定位算法越高效。对于不同语句可能被 分配同一怀疑度的问题,本实施例考虑了最好和最坏的情况:最好情况下, 处于同一怀疑度的语句序列中,故障语句会被第一个查验;最坏情况下,处 于同一怀疑度的语句序列中,故障语句会被最后一个查验。
表2和表3展示了不同算法的定位效率Y-Exam分数,其中, Tarantula-TRGA表示以Tarantula定位算法为基准故障定位技术的故障解耦合 算法,Tarantula表示未使用本发明提出的解耦合算法。从实验结果中可以看 出,最好情况下,对应8个实验程序的24个场景中,TRGA提高了所有24 个场景下故障定位的效率。在最坏情况下,TRGA同样提高了所有场景的故 障定位效率。总体来说,本发明方法可以有效提高故障定位效率,减少需要 检查的语句数量。
表2最好情况下各实验程序Y-Exam分数
Figure BDA0002281393310000091
表3最坏情况下各实验程序Y-Exam分数
Figure BDA0002281393310000092
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都 是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。 对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述 的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用 本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易 见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例, 而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种基于遗传算法的多故障解耦和故障定位方法,其特征在于,包括:
S11:根据失效用例集构建初始失效用例特征向量矩阵;其中,失效用例集中有n个失效用例,初始失效用例特征向量矩阵中共有n+1个候选解;
S12:计算每一个候选解的适应度,并按照适应度大小对候选解进行降序排序;
采用如下适应度函数来计算每一个候选解的适应度;
Figure FDA0003157692270000011
其中,α为失效用例特征向量对应失效用例解耦合后的语句怀疑度序列;β为原始语句怀疑度序列,F(α,β)为候选解对应的适应度函数;
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个样本进行交叉和变异操作,得到新的n+1个候选解具体包括:
将n+1个样本对半分为(n+1)/2个父样本和(n+1)/2个母样本,将每一个父样本和母样本进行配对,进行交叉和变异的操作,生成(n+1)/2个新样本;
将生成的(n+1)/2个新样本与从步骤S13中选出的n+1个样本随机选出的(n+1)/2个样本组成n+1个候选解。
5.根据权利要求4所述的一种基于遗传算法的多故障解耦和故障定位方法,其特征在于,在步骤S14中,交叉的概率为:
Figure FDA0003157692270000021
f'表示当前候选解的适应度分数,favg表示当前种群的平均适应度分数,fmax为当前种群中最大的适应度分数;
变异的概率Pm为1,且变异时采用单点变异。
6.根据权利要求1所述的一种基于遗传算法的多故障解耦和故障定位方法,其特征在于,N1为200,N2为50。
7.根据权利要求1~6任意一项所述的一种基于遗传算法的多故障解耦和故障定位方法,其特征在于,所述故障定位算法包括:Tarantula、Ochiai或Dstar。
CN201911142767.7A 2019-11-20 2019-11-20 一种基于遗传算法的多故障解耦和故障定位方法 Active CN111124884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911142767.7A CN111124884B (zh) 2019-11-20 2019-11-20 一种基于遗传算法的多故障解耦和故障定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911142767.7A CN111124884B (zh) 2019-11-20 2019-11-20 一种基于遗传算法的多故障解耦和故障定位方法

Publications (2)

Publication Number Publication Date
CN111124884A CN111124884A (zh) 2020-05-08
CN111124884B true CN111124884B (zh) 2021-10-26

Family

ID=70495906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911142767.7A Active CN111124884B (zh) 2019-11-20 2019-11-20 一种基于遗传算法的多故障解耦和故障定位方法

Country Status (1)

Country Link
CN (1) CN111124884B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001272442A (ja) * 2000-03-24 2001-10-05 Nec Corp 論理回路テストパタン生成装置
CN105760295A (zh) * 2015-12-28 2016-07-13 天津大学 基于搜索算法的多缺陷定位方法
CN107103125A (zh) * 2017-04-01 2017-08-29 宁波大学 一种基于两分类Fisher判别分析的故障诊断方法
CN109885471B (zh) * 2017-12-06 2022-05-17 河南工业大学 一种基于粒子群优化的软件多错误定位方法及处理装置
CN109165159B (zh) * 2018-08-10 2021-10-01 北京理工大学 一种基于程序频谱的多缺陷定位方法
CN109342885B (zh) * 2018-11-14 2020-10-30 华北电力大学(保定) 一种直流配电网线路故障的定位方法及系统
CN109839583B (zh) * 2019-03-26 2020-07-31 电子科技大学 基于改进遗传算法的模拟电路多故障诊断方法
CN110362484B (zh) * 2019-07-03 2022-03-01 北京航空航天大学 软件多故障的定位方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
CN111124884A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
Varón et al. POY version 4: phylogenetic analysis using dynamic homologies
US9588876B2 (en) Estimating likelihood of code changes introducing defects
CN110134588B (zh) 一种基于代码和组合覆盖的测试用例优先级排序方法及测试系统
US20050166096A1 (en) Method and apparatus for generation of validation tests
CN109783349B (zh) 一种基于动态反馈权重的测试用例优先级排序方法及系统
CN109165159B (zh) 一种基于程序频谱的多缺陷定位方法
CN103678110A (zh) 提供修改相关信息的方法和装置
Sun et al. A path-aware approach to mutant reduction in mutation testing
CN105760295A (zh) 基于搜索算法的多缺陷定位方法
Neelofar et al. Improving spectral‐based fault localization using static analysis
CN112732577A (zh) 一种多任务软件测试用例进化生成方法
CN115629998B (zh) 一种基于KMeans聚类和相似度的测试用例筛选方法
Kim et al. VFL: Variable-based fault localization
CN111782532B (zh) 一种基于网络异常节点分析的软件故障定位方法及系统
de Oliveira et al. Ftmes: A failed-test-oriented mutant execution strategy for mutation-based fault localization
US20210263837A1 (en) Real time fault localization using combinatorial test design techniques and test case priority selection
CN109710514B (zh) 测试用例优先级排序中的tie-breaking的解决方法及系统
Zhang et al. Improving fault localization using model-domain synthesized failing test generation
CN111124884B (zh) 一种基于遗传算法的多故障解耦和故障定位方法
US20230333971A1 (en) Workload generation for optimal stress testing of big data management systems
CN117453539A (zh) 一种基于大语言模型赋能的编译器缺陷定位方法
CN110221144B (zh) 建筑机电故障原因定位方法
CN114780967B (zh) 基于大数据漏洞挖掘的挖掘评估方法及ai漏洞挖掘系统
CN116431516A (zh) 一种用于变异测试的程序语句选择方法及系统
Moncao et al. Shrinking a database to perform SQL mutation tests using an evolutionary algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant