CN111444079B - 一种软件缺陷修复方法及装置 - Google Patents

一种软件缺陷修复方法及装置 Download PDF

Info

Publication number
CN111444079B
CN111444079B CN201910041815.7A CN201910041815A CN111444079B CN 111444079 B CN111444079 B CN 111444079B CN 201910041815 A CN201910041815 A CN 201910041815A CN 111444079 B CN111444079 B CN 111444079B
Authority
CN
China
Prior art keywords
test case
individual
software
program
mutation
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
CN201910041815.7A
Other languages
English (en)
Other versions
CN111444079A (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.)
Henan University of Technology
Original Assignee
Henan University of Technology
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 Henan University of Technology filed Critical Henan University of Technology
Priority to CN201910041815.7A priority Critical patent/CN111444079B/zh
Publication of CN111444079A publication Critical patent/CN111444079A/zh
Application granted granted Critical
Publication of CN111444079B publication Critical patent/CN111444079B/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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种软件缺陷修复方法及装置,属于软件调试技术领域,将待修复程序表示为抽象语法树结构,将结构中的各个语句作为个体;生成测试用例集,包括正测试用例和反测试用例,将正、反测试用例在测试用例集中的比重分别作为个体通过正、反测试用例的权重,构造适应度函数,从软件程序中寻找语句作为初始个体,形成初始种群,结合适应度函数,执行进化操作,直至满足迭代终止条件。本发明通过构造适当的适应度函数,使得正、反测试用例的价值相同,保证搜索更快的趋近于最优个体,节约了计算资源,并提高了搜索效率,软件修复速度较快。

Description

一种软件缺陷修复方法及装置
技术领域
本发明属于软件调试技术领域,具体涉及一种软件缺陷修复方法及装置。
背景技术
软件自动修复是软件调试中的重要组成部分,但是传统的通过手工进行软件修复,既耗费大量人力,又往往不能完全修复。软件修复耗费大量人力物力,仅仅依靠人力进行修复常常需要耗费大量的人力和资源。传统的人工软件缺陷修复正面临极修复程序难、人力成本高、引入错误多、潜在风险大和补丁多样性危及后续开发维护等问题。所以需要软件自动修复技术来节省资源,提高软件的健壮性。
在现有的软件自动修复技术中,公告号为CN103294595B的中国专利提出了“一种基于遗传算法的软件修复方法”,该软件修复方法中建立的适应度函数侧重于正测试用例,正测试用例的权重较大,从而使得适应度评估过程效率低下,限制了搜索空间,进而使得搜索效率较低,使软件修复速度较慢。
发明内容
本发明的目的是提供一种软件缺陷修复方法及装置,用以解决现有技术中由于适应度函数选取不当导致软件修复速度较慢的问题。
为解决上述技术问题,本发明提出一种软件缺陷修复方法,包括以下步骤:
将待修复程序表示为抽象语法树结构,将结构中的各个语句作为个体;生成测试用例集,所述测试用例集包括正测试用例和反测试用例,所述正测试用例用来衡量个体是否保留必要功能,所述反测试用例用来衡量个体能否修复错误;
从软件程序中寻找M个和待修复程序具有一致性的程序实体作为初始个体,进而形成初始种群;且M≥2;
根据正测试用例、反测试用例和测试用例集,确定适应度函数,所述适应度函数为:
Figure BDA0001947813910000021
其中,fitness(xi)表示个体xi的适应度,T表示测试用例集中的测试用例总数,Tp表示正测试用例总数,Tn表示反测试用例总数,Pp(xi)表示个体xi通过正测试用例,Pn(xi)表示个体xi通过反测试用例;
根据所述适应度函数,执行进化操作,得到下一代种群,判断下一代种群是否满足迭代终止条件,若不满足,则重新执行进化操作,直至满足迭代终止条件;所述迭代终止条件为:达到设定最大迭代次数或者下一代种群中的每个个体适应度值均大于设定适应度阈值。
为解决上述技术问题,本发明还提出一种软件缺陷修复装置,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现以上软件缺陷修复方法。
本发明的软件缺陷修复方法及装置,通过将正、反测试用例在测试用例集中的比重分别作为个体通过正、反测试用例的权重,构造适当的适应度函数,使得正、反测试用例的价值相同,保证搜索更快的趋近于最优个体,节约了计算资源,并提高了搜索效率,软件修复速度较快。
上述进化操作在具体执行时为遗传操作,该遗传操作包括:变异、交叉和选择。本发明利用传统的遗传算法能够求解出全局最优解,具有较强的鲁棒性。
由于传统的遗传算法收敛速度较慢,而个体间差异的差分进化算法在收敛性能上的表现十分突出。因此,作为优选实施方式,上述进化操作在具体执行时包括遗传操作和差分变异操作,所述遗传操作和差分变异操作包括:变异、交叉、差分变异和选择;所述差分变异为:选择适应度值最高的个体,参照适应度值最高的个体节点随机变异适应度值最低的N个个体的节点,将变异后的个体替代替上一代个体。本发明利用遗传规划(即遗传算法)的不确定性搜索和差分进化算法的收敛性,大大减少了开发人员的在软件修复中的工作量。
在执行变异操作的过程中,变异概率是动态变小的,即搜索前期的变异概率大于搜索后期的变异概率,以同时保证搜索前期的种群的多样性,和搜索后期收敛速度的快速性。
在执行变异操作的过程中,当搜索陷入局部最优时,增大变异概率,以跳出局部最优。
在执行选择操作的过程中,所述选择操作包括分级选择和截取选择,将经过分级选择和截取选择操作的个体作为下一代种群中的个体,加快了搜索速度、增加了种群多样性并且避免了搜索陷入局部最优。
为确定形成初始种群的初始个体,当软件程序中的程序实体与待修复程序的语句中关键词、变量名和算符均一样时,判定所述程序实体和待修复程序具有一致性。
附图说明
图1是本发明的软件缺陷修复方法流程图;
图2是本发明的待修复程序解析流程图;
图3是本发明的构造适应度函数流程图;
图4是本发明的种群初始化流程图;
图5是本发明的变异与交叉操作流程图;
图6是本发明的差分变异操作流程图;
图7是本发明的选择操作流程图;
图8是本发明的终止条件判断流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的说明。
修复方法实施例:
进化计算是一种模拟生物进化的优化过程,它是计算机科学中人工智能等领域研究的热点,包括遗传算法、进化规划、进化策略等。尽管进化计算有很多变化,但都是基于在生物进化领域研究的成果建立起来的计算模型,其最大的特点是群体搜索和群体中个体之间的信息交换。与传统的基于微积分和穷举法等优化算法相比,进化计算是一种成熟的具有高鲁棒性和广泛适用性的全局优化方法,因此,本发明提出一种改进遗传算法的软件缺陷修复方法,流程如图1所示,包括以下步骤:
1)待修复程序解析。将待修复程序表示为抽象语法树结构,将结构中的赋值、函数调用、条件和循环定义为语句,将各个语句作为单独的个体。生成测试用例集,所述测试用例集包括正测试用例和反测试用例,正测试用例用来衡量个体是否保留必要功能,反测试用例用来衡量个体能否修复错误。
2)构造适应度函数。当给定一个个体,适应度函数返回一个数值表示个体的可接受性。在设计适应度函数时,如果正测试用例的权重太大会使适应度评估过程效率低下且限制搜索空间,相反,权重太小会导致个体丢失必要功能。因此,考虑个体通过的正反测试用例(即正测试用例和反测试用例)的权重,使得正、反测试用例的价值相同,这样会使搜索更快的趋近于最优个体。如果适应度函数的设计过于复杂将会导致大量的计算资源浪费,所以考虑更加简洁的函数构造,以正、反测试用例在测试用例集中的比重分别作为个体通过的正、反测试用例的权重,从而确定适应度函数,构造的适应度函数为:
Figure BDA0001947813910000051
其中,fitness(xi)表示个体xi的适应度,T表示测试用例集中的测试用例总数,Tp表示正测试用例总数,Tn表示反测试用例总数,Pp(xi)表示个体xi通过正测试用例,Pn(xi)表示个体xi通过反测试用例。
3)初始化种群。设置初始迭代次数t=0,最大迭代次数t=Max。从软件程序其他位置(即程序中非待修复程序的位置)寻找M(M≥2)个和待修复程序相似(判断语句中的关键词、变量名、算符是否一样)的语句作为初始个体,进而形成初始种群。其中,每个初始个体都用随机方法产生,并对这些程序实体进行树形编码。
4)变异与交叉操作。
①变异操作。根据变异概率对选取到的个体中权值较低的节点进行变异操作,随机选择对其进行删除、添加新的节点或选择对应的节点与其交换,上述新的节点取自抽象语法树的其它节点。若上述变异概率设定太小,则在搜索前期难以产生新的个体结构,种群的多样性难以保证并且搜索易陷入局部最优;若上述变异概率设定太大,则在搜索后期难以生成最优个体,算法的效率低下且难以收敛。传统方法采用固定的变异概率会大大降低算法的效率,最优解的准确度低。所以本实施例采用动态变化的变异概率,在搜索的不同阶段对应改变变异概率,即在搜索前期给定较大的变异概率以加大搜索前期的搜索力度,在搜索后期减小变异概率以加快搜索收敛速度。同时,当搜索陷入局部最优时,加大变异概率以跳出局部最优。
②交叉操作。每个生存的个体都要进行交叉操作,并且优先与原始个体进行交叉。其中,随机生成交叉点,并对两个交叉点之间的节点进行较换。
5)差分变异操作。为了使算法有较好的收敛性,使用带有强烈目的性和指导性的差分变异操作。根据种群大小,随机从种群中选取m1个个体,选取原则为选取种群中适应度值最高的个体。使其余适应度值较低的个体(例如选取N个)向适应度值高的个体(即上述选取的m1个个体)学习,其学习过程为参照适应度值高的个体节点随机变异上述适应度值较低的个体的节点,变异后的个体直接替代其父代个体。
6)选择方法(即选择操作)。常用的选择方法由于随机操作的原因,选择误差比较大,可能会使适应度值较高的个体失去选择机会。为了加快搜索速度,避免陷入局部最优,并且增加种群多样性,本实施例采用分级选择法(即分级选择操作)与截取选择法(即截取选择操作)相结合。分级选择操作是将个体按照适应度值大小分成许多级别,然后按照级别进行选择个体作为下一代种群中的个体,这样在一定程度上可以避免算法过早收敛。截取选择操作是从父代个体中按照适应度值大小选取部分个体直接作为下一代种群中的个体。
7)终止条件判断。根据遗传操作和差分变异操作(包括上述变异、交叉、差分变异和选择操作),得到下一代种群,即新一代种群,然后判断新一代种群是否满足迭代终止条件,若不满足,则重复步骤4)-步骤7),直至满足迭代终止条件。迭代终止条件为:达到设定最大迭代次数,或者下一代种群中的每个个体适应度值均大于设定适应度阈值,或者若有个体通过所有测试用例,则用该个体去修复待修复程序,进而实现成功修复,终止计算。
具体的,上述步骤1)的过程如图2所示,具体步骤如下:
步骤1)-1:开始状态;
步骤1)-2:在ubuntu操作系统下,使用CIL工具解析待修复程序生成程序抽象语法变体;
步骤1)-3:生成待修复程序的正反测试用例;
步骤1)-4:待修复程序解析完毕。
上述步骤2)的过程如图3所示,具体步骤如下:
步骤2)-1:开始状态;
步骤2)-2:fitness(xi)表示个体xi的适应度,T表示测试用例集中的测试用例总数,Tp表示正测试用例总数,Tn表示反测试用例总数,Pp(xi)表示个体通过正测试用例,Pn(xi)表示个体通过反测试用例;
步骤2)-3:设置正反测试用例权重分别为
Figure BDA0001947813910000071
Figure BDA0001947813910000072
将所有的测试用例分为正测试用例组和反测试用例组,分别进行测试,分别计数通过正测试用例、反测试用例的数量Pp(xi)、Pn(xi)。通过正反测试用例权重构造适应度函数fitness(xi)如下:
Figure BDA0001947813910000073
步骤2)-4:适应度函数构造完毕。
上述步骤3)的过程如图4所示,具体步骤如下:
步骤3)-1:开始状态;
步骤3)-2:设置初始迭代次数t=0,最大迭代次数t=Max;
步骤3)-3:从程序其他位置随机寻找M个个体;
步骤3)-4:对个体进行树形编码;
步骤3)-5:种群初始化完毕。
上述步骤4)的过程如图5所示,具体步骤如下:
步骤4)-1:开始状态;
步骤4)-2:变异操作,设置变异概率的最大值Pm0和最小值Pm1
步骤4)-3:交叉操作,随机生成交叉点,并对两个交叉点之间的节点进行较换;
步骤4)-4:变异与交叉操作完毕。
上述步骤5)的过程如图6所示,具体步骤如下:
步骤5)-1:开始状态;
步骤5)-2:随机从种群中选取m1个个体;
步骤5)-3:根据适应度值从m1个个体中选取其中适应度值最高的个体;
步骤5)-4:其余适应度值较低个体向适应度值最高的个体学习;
步骤5)-5:差分变异操作完毕。
上述步骤6)的过程如图7所示,具体步骤如下:
步骤6)-1:开始状态;
步骤6)-2:将第t代种群的个体根据适应度大小排序;
步骤6)-3:找到个体适应度的最小值min和最大值max;
步骤6)-4:进行分级选择操作,根据要划分级别的个数n来确定划分标志,第i级的个体适应度范围为
Figure BDA0001947813910000081
步骤6)-5:进行截取选择操作,设定复制率Pc,从每个级别的子种群中选取子种群个体数*Pc个适应度值排在前面的个体;
步骤6)-6:从父代中保留k个适应度值最高的个体加入新种群中;
步骤6)-7:选择操作完毕。
上述步骤7)的过程如图8所示,具体步骤如下:
步骤7)-1:开始状态;
步骤7)-2:若有个体通过所有测试用例,则用该个体去修复待修复程序,进而实现成功修复,终止计算;
步骤7)-3:若达到最大进化次数,终止计算;
步骤7)-4:若没有达到最大进化次数,重复步骤4)-7);
步骤7)-5:终止条件判断完毕。
本发明根据程序的局部性原理,提出了一种软件缺陷修复方法,方法中混合了传统遗传规划与差分进化,即在传统的变异操作、交叉操作、选择操作中加入了差分变异操作,通过差分进化提升传统遗传规划的收敛速度;本发明根据正测试用例、反测试用例和测试用例集构造了一种更为简洁有效的适应度函数,节约了计算资源,并提高了搜索效率。本发明利用遗传规划的不确定性搜索和差分进化的收敛性,大大减少了开发人员的在软件修复中的工作量,是一种有效的、自动化程度高的软件修复方法。同时对搜索过程中的部分步骤进行了优化,提高了算法的性能,很大程度上提高了软件修复的效率。
修复装置实施例:
本实施例提出一种软件缺陷修复装置,包括存储器和处理器,以及存储在存储器上并在处理器上运行的计算机程序,处理器与所述存储器相耦合,处理器执行计算机程序时实现以上修复方法实施例中的软件缺陷修复方法。
另外,本实施例中的处理器既可以是计算机,也可以是微处理器,如ARM等,还可以是可编程芯片,如FPGA、DSP等。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。例如,修复方法实施例中步骤2)和步骤3)的顺序可以调换。
又如,修复方法实施例中的步骤4)、步骤5)和步骤6)为遗传操作和差分变异操作,是本实施采用的一种进化操作,作为其他实施方式,还可以采用传统的遗传操作,即变异、交叉和选择操作,对应上为述步骤4)和步骤6)。
因此,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (8)

1.一种软件缺陷修复方法,其特征在于,包括如下步骤:
将待修复程序表示为抽象语法树结构,将结构中的各个语句作为个体;生成测试用例集,所述测试用例集包括正测试用例和反测试用例,所述正测试用例用来衡量个体是否保留必要功能,所述反测试用例用来衡量个体能否修复错误;
从软件程序中寻找M个和待修复程序具有一致性的程序实体作为初始个体,进而形成初始种群;且M≥2;
根据正测试用例、反测试用例和测试用例集,确定适应度函数,所述适应度函数为:
Figure FDA0001947813900000011
其中,fitness(xi)表示个体xi的适应度,T表示测试用例集中的测试用例总数,Tp表示正测试用例总数,Tn表示反测试用例总数,Pp(xi)表示个体xi通过正测试用例,Pn(xi)表示个体xi通过反测试用例;
根据所述适应度函数,执行进化操作,得到下一代种群,判断下一代种群是否满足迭代终止条件,若不满足,则重新执行进化操作,直至满足迭代终止条件;所述迭代终止条件为:达到设定最大迭代次数或者下一代种群中的每个个体适应度值均大于设定适应度阈值。
2.根据权利要求1所述的软件缺陷修复方法,其特征在于,所述进化操作为遗传操作,所述遗传操作包括:变异、交叉和选择操作。
3.根据权利要求1所述的软件缺陷修复方法,其特征在于,所述进化操作包括遗传操作和差分变异操作,所述遗传操作和差分变异操作包括:变异、交叉、差分变异和选择操作;所述差分变异为:选择适应度值最高的个体,参照适应度值最高的个体节点随机变异适应度值最低的N个个体的节点,将变异后的个体替代替上一代个体。
4.根据权利要求2或3所述的软件缺陷修复方法,其特征在于,在执行变异操作的过程中,变异概率是动态变小的。
5.根据权利要求2或3所述的软件缺陷修复方法,其特征在于,在执行变异操作的过程中,当搜索陷入局部最优时,增大变异概率。
6.根据权利要求2或3所述的软件缺陷修复方法,其特征在于,在执行选择操作的过程中,所述选择操作包括分级选择和截取选择操作,将经过分级选择和截取选择操作的个体作为下一代种群中的个体。
7.根据权利要求1所述的软件缺陷修复方法,其特征在于,当软件程序中的程序实体与待修复程序的语句中关键词、变量名和算符均一样时,判定所述程序实体和待修复程序具有一致性。
8.一种软件缺陷修复装置,其特征在于,包括存储器和处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的软件缺陷修复方法。
CN201910041815.7A 2019-01-16 2019-01-16 一种软件缺陷修复方法及装置 Active CN111444079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910041815.7A CN111444079B (zh) 2019-01-16 2019-01-16 一种软件缺陷修复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910041815.7A CN111444079B (zh) 2019-01-16 2019-01-16 一种软件缺陷修复方法及装置

Publications (2)

Publication Number Publication Date
CN111444079A CN111444079A (zh) 2020-07-24
CN111444079B true CN111444079B (zh) 2022-09-30

Family

ID=71626847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910041815.7A Active CN111444079B (zh) 2019-01-16 2019-01-16 一种软件缺陷修复方法及装置

Country Status (1)

Country Link
CN (1) CN111444079B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685320B (zh) * 2021-01-09 2023-04-25 北京信息科技大学 一种基于多候选程序的软件缺陷修复方法及装置
CN113268432B (zh) * 2021-06-24 2023-09-01 广东电网有限责任公司计量中心 一种基于进化算法的电能表驱动程序测试方法及系统
CN113672503B (zh) * 2021-08-03 2024-08-27 中移(杭州)信息技术有限公司 测试用例的生成方法、系统、终端设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294595A (zh) * 2013-05-23 2013-09-11 西安电子科技大学 一种基于遗传算法的软件修复方法
CN105760295A (zh) * 2015-12-28 2016-07-13 天津大学 基于搜索算法的多缺陷定位方法
CN108509335A (zh) * 2018-01-31 2018-09-07 浙江理工大学 基于遗传算法优化的软件测试数据生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317410B2 (en) * 2013-03-15 2016-04-19 International Business Machines Corporation Testing functional correctness and idempotence of software automation scripts

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294595A (zh) * 2013-05-23 2013-09-11 西安电子科技大学 一种基于遗传算法的软件修复方法
CN105760295A (zh) * 2015-12-28 2016-07-13 天津大学 基于搜索算法的多缺陷定位方法
CN108509335A (zh) * 2018-01-31 2018-09-07 浙江理工大学 基于遗传算法优化的软件测试数据生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Using Mutation to Automatically Suggest Fixes for Faulty Programs;Vidroha Debroy and W. Eric Wong;《 2010 Third International Conference on Software Testing, Verification and Validation》;20101231;全文 *
用于测试用例最小化的遗传算法;李忍等;《信息技术》;20150925(第09期);全文 *

Also Published As

Publication number Publication date
CN111444079A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
CN111444079B (zh) 一种软件缺陷修复方法及装置
CN107590073B (zh) 基于路径覆盖软件测试的测试用例自动生成方法
CN108376116B (zh) 基于改进粒子群算法的测试用例生成方法
CN107665172B (zh) 一种基于复杂加权软件网络的软件缺陷预测方法
CN110363344A (zh) 基于miv-gp算法优化bp神经网络的概率积分参数预测方法
CN108563556A (zh) 基于差分演化算法的软件缺陷预测优化方法
CN106250461A (zh) 一种基于Spark框架利用梯度提升决策树进行数据挖掘的算法
CN108563555A (zh) 基于四目标优化的故障更改代码预测方法
CN110399286A (zh) 一种基于独立路径的测试数据自动生成方法
CN112364352A (zh) 可解释性的软件漏洞检测与推荐方法及系统
CN110825615A (zh) 基于网络嵌入的软件缺陷预测方法及系统
CN112732577A (zh) 一种多任务软件测试用例进化生成方法
CN117236278B (zh) 一种基于数字孪生技术的芯片生产仿真方法及系统
CN110377492B (zh) 一种基于方法相似度的单元测试用例生成方法
CN112948193B (zh) 一种基于差异测试的fpga综合工具缺陷检测方法
CN117149615A (zh) 一种测试用例执行路径的生成方法及相应的装置
CN112380132A (zh) 基于航天软件缺陷数据集类不平衡的对抗验证方法及装置
CN116010291A (zh) 基于均衡优化理论与灰色预测模型的多路径覆盖测试方法
CN114780967B (zh) 基于大数据漏洞挖掘的挖掘评估方法及ai漏洞挖掘系统
CN116821913A (zh) 基于效用调节策略的智能合约漏洞检测方法
CN110879778A (zh) 一种新的动态反馈和改进型补丁评价的软件自动修复方法
CN116431516A (zh) 一种用于变异测试的程序语句选择方法及系统
CN115017048A (zh) 一种测试种子的确定方法及装置
Li et al. A portfolio-based approach to select efficient variable ordering heuristics for constraint satisfaction problems
CN114840856A (zh) 一种状态感知的物联网可信执行环境模糊测试方法和系统

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