CN110879778B - 一种新的动态反馈和改进型补丁评价的软件自动修复方法 - Google Patents

一种新的动态反馈和改进型补丁评价的软件自动修复方法 Download PDF

Info

Publication number
CN110879778B
CN110879778B CN201910973884.1A CN201910973884A CN110879778B CN 110879778 B CN110879778 B CN 110879778B CN 201910973884 A CN201910973884 A CN 201910973884A CN 110879778 B CN110879778 B CN 110879778B
Authority
CN
China
Prior art keywords
fitness
population
program
strategy
generation
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
CN201910973884.1A
Other languages
English (en)
Other versions
CN110879778A (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.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi 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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201910973884.1A priority Critical patent/CN110879778B/zh
Publication of CN110879778A publication Critical patent/CN110879778A/zh
Application granted granted Critical
Publication of CN110879778B publication Critical patent/CN110879778B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • 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)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Genetics & Genomics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Physiology (AREA)
  • Quality & Reliability (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种新的动态反馈和改进型补丁评价的软件自动修复方法,本发明具体涉及运用云模型的对候选补丁建模,实现对常规补丁样本的量化分析,将种群整体角度参数引进到适应度评价中,运用模型参数增强适应度评价函数对所生成补丁的表达能力,影响遗传算法对候选补丁筛选时的结果,指导下一代补丁生成。并运用动态反馈调整策略,根据父代与子代的所有补丁的适应度差异,调整云模型中的超熵与遗传算法中的变异率,动态选择随机游走或一维更新修复策略,从而提高软件缺陷修复成功率的修复方法。

Description

一种新的动态反馈和改进型补丁评价的软件自动修复方法
技术领域
本发明属于软件工程的自动化软件修复领域,具体涉及运用云模型的对候选补丁建模,运用模型参数增强适应度评价函数对所生成补丁的表达能力,影响遗传算法对候选补丁筛选时的结果,指导下一代补丁生成。并运用动态反馈调整策略,根据父代与子代的所有补丁的适应度差异,调整云模型中的超熵与遗传算法中的变异率,从而提高软件缺陷修复成功率的修复方法。
背景技术
软件缺陷修复是软件开发过程中最为耗时和繁琐的步骤。软件缺陷修复是一个不断重复修改,验证两个步骤的迭代过程,代码的修改可能引发新缺陷的产生。近些年研究者在软件自动化修复领域开展大量研究工作,希望在减少人工干预的前提下,通过高效的算法实现对缺陷代码的自动识别,针对缺陷程序生成相对应的补丁,从而实现软件缺陷的自动修复。
软件缺陷修复通常分为两个步骤:补丁生成和验证。首先使用缺陷定位技术,定位可能包含程序错误的潜在可疑语句,并对这些可疑语句进行排序;然后按照排序结果对可疑语句进行加工,例如通过语句删除,添加和替换等预先定义的操作来自动生成补丁;最后通过运行测试用例来检验每个生成的补丁,如果测试用例能全部通过,则表明修复成功,该补丁为有效补丁,否则如果运行测试用例过程超时或达到最大迭代次数,则代表修复失败。
云模型是处理定性概念与定量描述的不确定转换模型。其输入为表示定性概念的期望值Ex、熵En和超熵He。期望是在数域空间中最能够代表这个定性概念的点,反映云的重心位置。熵作为统计热力学的概念,度量物理系统的无组织度。在云模型中,熵被用来衡量定性概念的模糊度与概率,揭示模糊性与随机性的关联性。熵一方面反映了在数域空间中可被语言值接受的范围,即模糊度,另一方面还反映了数域空间能够代表这个语言值的概率,表示云滴出现的随机性。超熵是熵的不确定性的度量,即熵的熵,反映了在数域空间代表该语言值的所有点的不确定度的凝聚性,即云滴的凝聚度。
发明内容
本发明的目的在于克服现有适应度评价函数区分能力较弱,以及无法调整补丁质量的问题,提出一种新的动态反馈和改进型补丁评价的软件自动修复方法。
首先,本发明引入云模型增强对补丁的分析,提出使用云模型对生成的候选补丁建模,从而实现对常规补丁样本进行量化分析,将种群整体角度参数引进到适应度评价中,增强种群补丁的适应度评价函数,实现现有方法对相似适应度评的补丁做更为精细的评价。
其次,通过比较当前候选补丁集与上代在适应度上的变化,构建反馈链,调整云模型的超熵与遗传算法的变异率。通过调整云模型超熵,进而调整相似补丁适应度差异;通过调整遗传算法的变异率,调整生成补丁的多样性。根据反馈信息,设计了两种反馈策略:随机游走和一维更新。随机游走策略增大超熵与变异率,提高所产生补丁的多样性;一维更新策略减小超熵与变异率,减小所产生补丁的多样性,使进化趋势保持稳定,在当前探索方向下深入探索。发明规定,在当前补丁集较上一代补丁集在适应度上有提升时,维持当前已经采用的策略,反之,当前补丁集较上一代补丁集在适应度上有下降时,更换使用另一种策略。以上反馈策略是根据补丁集整体适应度做出的反应,适应度的提升表明当前策略下,得到的补丁质量有所提高,因此继续保持;适应度的下降表明,当前策略不适合该缺陷程序的探索模式,因此需要改变。本发明相对于现有技术具有的效果:
首先,现有技术着重通过不同操作,生成具有多样性的补丁,对变体属性的反馈信息的重视不足,过于朴素的评价函数在适应度评价结果上的区分能力较弱,本发明利用属性反馈,在补丁评价阶段引入云模型进行建模,利用云模型的确定度属性对现有方法的适应度评价函数进行增强,增大种群区分度,以分辨相似质量的补丁个体;其次,现有技术采用无反馈链干预的遗传算法在解空间探索过程中效率较低,影响修复准确性和效率,解空间探索方法朴素,探索效率不高,灵活性低。本发明增加外部反馈回路,根据改良的补丁适应度评价函数,控制补丁生成算法,调整补丁生成趋势,增加了探索的灵活性和稳定性。
附图说明
图1是本发明所述的软件自动缺陷修复方法的流程框图;
图2是本发明所提供的动态调整策略算法伪代码;
图3(a)是原始方法的种群云模型的分布图;
图3(b)是本发明实验过程中种群云模型的分布图;
图4-7是本发明方法和传统方法的实验结果对比图。
具体实施方式
如图1所示,一种新的动态反馈和改进型补丁评价的软件自动修复方法,该方法具体包括以下步骤:
步骤一:输入缺陷程序和测试用例,计算种群中所有个体适应度,将新生种群按平均适应度划分成三个子群:优秀种群,普通种群,不良种群;将缺陷程序表示为抽象语法树并将语法树中的语句对应一组实时维护的权值列表,所述的测试用例至少包含一个辨别程序缺陷的负向测试用例。
将新生种群按平均适应度划分成三个子群,具体为:根据区间理论建立一个评估规范,考虑云模型的双边约束[a,b],给出云参数方程计算方法:假设f(ti)是第t代中个体xi的适应值,则f(avg(t))表示整个群体的平均适应度,并且f(best(t))表示最佳适合度。对于比f(avg(t))更好的适应度的所有个体,获得平均值f(avg1(t))。对于比
f(avg(t))更差的适应度的所有个体,计算平均值f(avg2(t))。其中f(avg1(t))是区间的上边界,f(avg2(t))是区间的下边界。
如果f(ti)大于f(avg1(t)),则表明这些个体是优秀的,它们展现出最有希望的成果,为了最快得到最优解,应该在遗传算法中使其遗传到下一代。如果f(ti)小于f(avg2(t)),则这些个体是表现较差的个体,在遗传算法的的选择阶段优先给予删除。三个子群如下表所示:
步骤二:收集普通种群的期望,熵,以及前代反馈信息超熵,构建正态云分布模型。
设定普通个体集的期望Ex和熵En如下:
Ex=f(best(t)) (1)
其中n表示普通个体集中个体的数量;
然后,公式(3)表示超熵He的第一代取值公式,随后He的取值会根据每代反馈情况给予变动。变动规则见图2中15-20行,具体为:
其中当前策略为随机游走策略或一维更新策略;如果当前策略计算的种群适应度总体较上代得到提高,保持现有策略,其中一维更新策略将超熵设定为0.2和0.5之间的随机值。随机游走策略将超熵设定为0.5到0.8之间的随机值,以此来变更云模型的混乱度,调整群体的差异性和稳定性。
将期望、熵、超熵作为参数生成云,正态云生成函数如公式4所示。
步骤三:对每一个普通个体集中个体计算与源程序的相似度,按照相似度从高向低赋予其云模型属性中的确定度,以此增强候选个体的适应度信息。
根据云模型概率分布,按照程序相似度顺序将适应度与调整因子进行相加,与源程序的相似度越大,表示对源程序的改动越小,那么程序语义改变的可能性就越小,在都被测试集验证通过的前提下,改动源程序幅度更小的修复方式拥有更高的修复质量。源程序相似度计算公式如(5)所示,k与k’代表源程序与普通个体集中个体程序的语句数量,其中E(i)代表普通个体集中个体程序语句中第i个元素,E’(i)代表源程序语句中第i个元素,用E(i)==E’(i)表示元素的一致性,如果相同语句则返回1,否则返回0。
对于公式(6)考虑如下:对于同一代的相似个体组成的种群,即除去最优和最差子群后的个体集组成的种群,使用云模型将这些无序同性质个体通过云分布概率模型重新调整适应值,以区分不同个体适应度。公式中n表示属于[a,b]范围的普通个体数目,由于调整后的适应度不能高于区间最大适应度,所以取最大适应度与最大区间b的差值作为调整范围,为了防止随机因素的干扰,取差值的一半,按照云概率分布图中的概念确定度更新适应度。
更新规则如公式(7)所示,其中个体角度的适应度计算部分:Npost表示通过的正向测试用例个数,每个通过的正向测试用例用全局参数正向测试权重WPosT更新权值,用以表明程序的功能正确性。Nnegt表示通过的负向测试用例个数,每个通过的负向测试用例用更大负向测试权重WNegT更新权值,用来着重体现程序中修复的错误。最后加上整体角度根据云模型确定的调整因子,共同组成适应度计算公式。
f(t)=NposT*WposT+NnegT*WnegT (7)
步骤四:合并三个子群,根据更新的适应度函数对所有补丁进行重排列,根据上代反馈信息调整遗传参数,用遗传算法对种群进行选择,交叉,变异,生成新一代种群。
遗传算法通过选择高适应度个体复制到下一代中来进行迭代,丢弃适应度为0,未编译或未通过测试用例的变体,将其余部分放在一起使用随机通用抽样选择新一代成员带入新的交配池。在遗传算法中,变异操作通常涉及单位翻转或简单的符号替换。因为基本单元是语句,所以变异运算由删除(删除整个语句),插入(在其后插入另一个语句)或与另一个语句交换组成。从这些选项中以同样的随机概率进行选择,在交换的情况下,可以从程序中的任何位置随机选择第二条语句。交叉将一个变体的“第一部分”与另一个变体的“第二部分”结合起来,创建后代变体,该后代变体结合了来自两个亲本的信息。
步骤五:收集新种群的反馈信息并与原始种群的适应度进行比较。在提高适应度的基础上,保持现有策略不变。假若种群质量下降,则更换另一种策略和参数。
将上一代的适合度与当前种群的适应度值进行遍历。在提高补丁解决方案质量的情况下,成功率增加1,用sr1和sr2分别记录随机游走和一维更新策略的成功率。如果sr1大于sr2,则表示使用随机游走的成功率高于使用一维更新规则的成功率。这时分两部分更新策略:
(1)在下一次迭代中,更多的个体应用随机游走的进化策略,增加变异率Pm的值。
(2)同时更新He值。
步骤六:重复执行步骤二~步骤五,超过时限或最大遗传代数表示修复失败。否则直至找到通过所有测试用例的候选补丁,程序执行成功并报告给用户。
图3是用正态云模型建立两种方法修复过程中云模型演变过程。图3(a)是原始方法实验结果演变图,可以看出种群的适应度分布较为集中,相对于前代无明显分布规律,这种性质在多代对比时更为显著。而加了了更新适应度与反馈链的图3(b)可以看出明显的导向,并且正态云图更加规范,随着代数的增加,会偏向高适应度,种群的均值和期望表现出更有希望的成果。
图4显示了两种方法的修复成功平均时间对比情况,时间缩短在最大值在40%,并且效果会随着程序搜索空间的变大而更为明显
图5是中型测试程序的测试用例执行个数表型情况,对于中型程序效果提升最大值50%,说明无论程序大小与复杂性,现有都可以表现出积极的效果。
图6显示了两种测试用例在不同方法之下的测试用例执行个数方面的表现,可以看出新发明方法拥有更低的均值与最值,且整体数据大多稳定在原方法水平之下。
图7显示了两种方法的执行个数(NTCE)详细情况。执行次数相比于原始方法降低一半以上。说明随着程序复杂性的增加以及配套测试集数目的增加,本文提出的策略是更加高效的。

Claims (2)

1.一种新的动态反馈和改进型补丁评价的软件自动修复方法,其特征在于,该方法具体包括以下步骤:
步骤一:输入缺陷程序和测试用例,计算种群中所有个体适应度,将新生种群按平均适应度划分成三个子群:优秀种群,普通种群,不良种群;将缺陷程序表示为抽象语法树并将语法树中的语句对应一组实时维护的权值列表,所述的测试用例至少包含一个辨别程序缺陷的负向测试用例;
将新生种群按平均适应度划分成三个子群,具体为:根据区间理论建立一个评估规范,考虑云模型的双边约束[a,b],给出云参数方程计算方法:假设f(ti)是第t代中个体xi的适应值,则f(avg(t))表示整个群体的平均适应度,并且f(best(t))表示最佳适合度;对于比f(avg(t))更好的适应度的所有个体,获得平均值f(avg1(t));对于比f(avg(t))更差的适应度的所有个体,计算平均值f(avg2(t));其中f(avg1(t))是区间的上边界,f(avg2(t))是区间的下边界;
如果f(ti)大于f(avg1(t)),则表明这些个体是优秀的,它们展现出最有希望的成果,为了最快得到最优解,应该在遗传算法中使其遗传到下一代;如果f(ti)小于f(avg2(t)),则这些个体是表现较差的个体,在遗传算法的的选择阶段优先给予删除;三个子群如下表所示:
步骤二:收集普通种群的期望,熵,以及前代反馈信息超熵,构建正态云分布模型;设定普通个体集的期望Ex和熵En如下:
Ex=f(best(t)) (1)
其中n表示普通个体集中个体的数量;
然后,公式(3)表示超熵He的第一代取值公式,随后He的取值会根据每代反馈情况给予变动;变动规则为:
其中当前策略为随机游走策略或一维更新策略;如果当前策略计算的种群适应度总体较上代得到提高,保持现有策略,其中一维更新策略将超熵设定为0.2和0.5之间的随机值;随机游走策略将超熵设定为0.5到0.8之间的随机值,以此来变更云模型的混乱度,调整群体的差异性和稳定性;
将期望、熵、超熵作为参数生成云,正态云生成函数如公式4所示;
步骤三:对每一个普通个体集中个体计算与源程序的相似度,按照相似度从高向低赋予其云模型属性中的确定度,以此增强候选个体的适应度信息;
根据云模型概率分布,按照程序相似度顺序将适应度与调整因子进行相加,与源程序的相似度越大,表示对源程序的改动越小,那么程序语义改变的可能性就越小,在都被测试集验证通过的前提下,改动源程序幅度更小的修复方式拥有更高的修复质量;源程序相似度计算公式如(5)所示,k与k’代表源程序与普通个体集中个体程序的语句数量,其中E(i)代表普通个体集中个体程序语句中第i个元素,E’(i)代表源程序语句中第i个元素,用E(i)==E’(i)表示元素的一致性,如果相同语句则返回1,否则返回0;
对于公式(6)考虑如下:对于同一代的相似个体组成的种群,即除去最优和最差子群后的个体集组成的种群,使用云模型将这些无序同性质个体通过云分布概率模型重新调整适应值,以区分不同个体适应度;公式中n表示属于[a,b]范围的普通个体数目,由于调整后的适应度不能高于区间最大适应度,所以取最大适应度与最大区间b的差值作为调整范围,为了防止随机因素的干扰,取差值的一半,按照云概率分布图中的概念确定度更新适应度;
更新规则如公式(7)所示,其中个体角度的适应度计算部分:NposT表示通过的正向测试用例个数,每个通过的正向测试用例用全局参数正向测试权重WposT更新权值,用以表明程序的功能正确性;NnegT表示通过的负向测试用例个数,每个通过的负向测试用例用更大负向测试权重WnegT更新权值,用来着重体现程序中修复的错误;最后加上整体角度根据云模型确定的调整因子,共同组成适应度计算公式;
f(t)=NposT*WposT+NnegT*WnegTi (7)
步骤四:合并三个子群,根据更新的适应度函数对所有补丁进行重排列,根据上代反馈信息调整遗传参数,用遗传算法对种群进行选择,交叉,变异,生成新一代种群;
步骤五:收集新种群的反馈信息并与原始种群的适应度进行比较;在提高适应度的基础上,保持现有策略不变;假若种群质量下降,则更换另一种策略和参数;
将上一代的适合度与当前种群的适应度值进行遍历;在提高补丁解决方案质量的情况下,成功率增加1,用sr1和sr2分别记录随机游走和一维更新策略的成功率;如果sr1大于sr2,则表示使用随机游走的成功率高于使用一维更新规则的成功率;这时分两部分更新策略:
(1)在下一次迭代中,更多的个体应用随机游走的进化策略,增加变异率Pm的值;
(2)同时更新He值;
步骤六:重复执行步骤二~步骤五,超过时限或最大遗传代数表示修复失败;否则直至找到通过所有测试用例的候选补丁,程序执行成功并报告给用户。
2.根据权利要求1所述的一种新的动态反馈和改进型补丁评价的软件自动修复方法,其特征在于:步骤四中遗传算法通过选择高适应度个体复制到下一代中来进行迭代,丢弃适应度为0,未编译或未通过测试用例的变体,将其余部分放在一起使用随机通用抽样选择新一代成员带入新的交配池;在遗传算法中,变异操作通常涉及单位翻转或简单的符号替换;因为基本单元是语句,所以变异运算由删除,插入或与另一个语句交换组成,其中删除表示删除整个语句,插入表示在其后插入另一个语句;从这些选项中以同样的随机概率进行选择,在交换的情况下,可以从程序中的任何位置随机选择第二条语句;交叉将一个变体的“第一部分”与另一个变体的“第二部分”结合起来,创建后代变体,该后代变体结合了来自两个亲本的信息。
CN201910973884.1A 2019-10-14 2019-10-14 一种新的动态反馈和改进型补丁评价的软件自动修复方法 Active CN110879778B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910973884.1A CN110879778B (zh) 2019-10-14 2019-10-14 一种新的动态反馈和改进型补丁评价的软件自动修复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910973884.1A CN110879778B (zh) 2019-10-14 2019-10-14 一种新的动态反馈和改进型补丁评价的软件自动修复方法

Publications (2)

Publication Number Publication Date
CN110879778A CN110879778A (zh) 2020-03-13
CN110879778B true CN110879778B (zh) 2023-09-26

Family

ID=69727733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910973884.1A Active CN110879778B (zh) 2019-10-14 2019-10-14 一种新的动态反馈和改进型补丁评价的软件自动修复方法

Country Status (1)

Country Link
CN (1) CN110879778B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111818007B (zh) * 2020-05-13 2021-08-31 中国科学院软件研究所 一种基于量子遗传算法的漏洞修复收益优先级评估方法及电子装置
CN111737120B (zh) * 2020-06-15 2022-09-23 河南工业大学 一种软件缺陷修复方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000348010A (ja) * 1999-06-02 2000-12-15 Fujitsu Ltd 最適解探索装置及び方法並びにプログラム記録媒体
CN102323906A (zh) * 2011-09-08 2012-01-18 哈尔滨工程大学 一种基于遗传算法的mc/dc测试数据自动生成方法
CN105787367A (zh) * 2016-02-23 2016-07-20 华中科技大学 一种软件更新的补丁安全性检测方法及系统
CN109165159A (zh) * 2018-08-10 2019-01-08 北京理工大学 一种基于程序频谱的多缺陷定位方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009108943A2 (en) * 2008-02-29 2009-09-03 Doyenz Incorporated Automation for virtualized it environments
US8495583B2 (en) * 2009-09-11 2013-07-23 International Business Machines Corporation System and method to determine defect risks in software solutions
CN107229972A (zh) * 2017-03-10 2017-10-03 东莞理工学院 一种基于拉马克获得性遗传原理的全局优化、搜索和机器学习方法
CN108763055B (zh) * 2018-04-19 2020-08-25 北京航空航天大学 一种基于表观遗传的测试用例约束控制技术的构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000348010A (ja) * 1999-06-02 2000-12-15 Fujitsu Ltd 最適解探索装置及び方法並びにプログラム記録媒体
CN102323906A (zh) * 2011-09-08 2012-01-18 哈尔滨工程大学 一种基于遗传算法的mc/dc测试数据自动生成方法
CN105787367A (zh) * 2016-02-23 2016-07-20 华中科技大学 一种软件更新的补丁安全性检测方法及系统
CN109165159A (zh) * 2018-08-10 2019-01-08 北京理工大学 一种基于程序频谱的多缺陷定位方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王甜甜 ; 许家欢 ; 王克朝 ; 苏小红 ; .示例演化驱动的学生程序自动修复.软件学报.2019,(第05期),全文. *

Also Published As

Publication number Publication date
CN110879778A (zh) 2020-03-13

Similar Documents

Publication Publication Date Title
Chellapilla Evolving computer programs without subtree crossover
Blum et al. Search bias in ant colony optimization: On the role of competition-balanced systems
CN107229972A (zh) 一种基于拉马克获得性遗传原理的全局优化、搜索和机器学习方法
CN111832101B (zh) 一种水泥强度预测模型的构建方法及水泥强度预测方法
CN110879778B (zh) 一种新的动态反馈和改进型补丁评价的软件自动修复方法
McCaffrey An empirical study of pairwise test set generation using a genetic algorithm
US20120005138A1 (en) Modifying constraint-compliant populations in population-based optimization
CN110399286B (zh) 一种基于独立路径的测试数据自动生成方法
Boyabatli et al. Parameter selection in genetic algorithms
US8775339B2 (en) Generating constraint-compliant populations in population-based optimization
KR102160780B1 (ko) 버그 정정 시스템 및 버그 정정 방법
CN113221960B (zh) 一种高质量漏洞数据收集模型的构建方法及收集方法
JPH09114797A (ja) 最適解探索方法及び装置
CN115114166A (zh) 一种以太坊智能合约安全测试方法
CN114818548A (zh) 一种基于卷积生成对抗网络的含水层参数场反演方法
CN112712178A (zh) 一种基于遗传算法的贝叶斯网络结构学习的方法及系统
CN117149615A (zh) 一种测试用例执行路径的生成方法及相应的装置
CN115543803A (zh) 基于改进遗传算法的软件测试用例智能生成方法及系统
CN114064472B (zh) 基于代码表示的软件缺陷自动修复加速方法
CN113343589B (zh) 一种基于遗传-随机常数的基因表达式编程的酸性天然气水合物生成条件预测方法
Kumar et al. Optimization of binary decision diagram using genetic algorithm
CN111737120B (zh) 一种软件缺陷修复方法及装置
JP2003085526A (ja) 最適値探索装置、最適値探索方法、最適値探索プログラム、パラメータ・フィッティング方法及び半導体装置の製造方法
Lin et al. Using the Deep Learning-Based Approaches for Program Debugging and Repair
CN117391204A (zh) 一种基于互信息引导的混合贝叶斯网络结构学习方法

Legal Events

Date Code Title Description
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