CN112685320A - 一种基于多候选程序的软件缺陷修复方法及装置 - Google Patents

一种基于多候选程序的软件缺陷修复方法及装置 Download PDF

Info

Publication number
CN112685320A
CN112685320A CN202110026716.9A CN202110026716A CN112685320A CN 112685320 A CN112685320 A CN 112685320A CN 202110026716 A CN202110026716 A CN 202110026716A CN 112685320 A CN112685320 A CN 112685320A
Authority
CN
China
Prior art keywords
program
repairing
candidate
programs
patch
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.)
Granted
Application number
CN202110026716.9A
Other languages
English (en)
Other versions
CN112685320B (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.)
Beijing Information Science and Technology University
Original Assignee
Beijing Information Science and Technology 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 Beijing Information Science and Technology University filed Critical Beijing Information Science and Technology University
Priority to CN202110026716.9A priority Critical patent/CN112685320B/zh
Publication of CN112685320A publication Critical patent/CN112685320A/zh
Application granted granted Critical
Publication of CN112685320B publication Critical patent/CN112685320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于多候选程序的软件缺陷修复方法及装置,方法具体包括:S1:在待修复程序中定位缺陷单元,将缺陷单元存放至缺陷集合中,对缺陷单元生成对应的补丁单元,同时将补丁单元存放至补丁集合;S2:将补丁集合添加到待修复程序中,生成对应的修复程序集合;S3:构造适应度函数,利用适应度函数对修复程序集合进行评估得到对应的适应度值,将适应度值进行排序,选取其中排名前k的修复程序作为候选修复程序集合;S4:对候选修复程序集合进行多数决机制投票,输出多数决投票得分最高的候选修复程序运行结果,并将候选修复程序和多数决机制封装成一个整体程序;本发明通过并行运行多个版本的程序提高容错性。

Description

一种基于多候选程序的软件缺陷修复方法及装置
技术领域
本发明涉及软件工程技术领域,更具体的说是涉及一种基于多候选程序的软件缺陷修复方法及装置。
背景技术
目前,随着科技的快速发展,人们对软件的要求逐渐提高,软件的功能越来越丰富,规模越来越庞大,但由于当前开发人员的自身局限性或软件本身因素,软件中表现出来的错误也越来越多,而且软件缺陷种类也更加繁杂,由软件缺陷造成的经济损失也越来越大。
但是,在当前的软件开发工作中,大部分软件缺陷都是通过开发人员手动修复的,具体首先由程序员通过反馈的错误报告来查找到程序中发生错误的代码,并尝试复现故障过程,分析代码产生缺陷的原因。通常程序员会采用断点测试的方法,通过执行程序并观察程序中变量的数据是否符合预期情况,通过发现差异来定位到错误代码所在的范围。然后,程序员根据错误报告和预期的正确结果对代码进行修复,从而得到正确运行的程序。但是,通常这个过程需要程序员反复尝试调试、编译、修改,并且需要通过回归测试检测修复版程序中是否有新增错误。以上步骤十分繁琐,导致缺陷修复的成本很高。数据表明,45%的现代软件开发成本消耗在定位和修复程序错误过程中,因此自动程序修复(automaticprogram repair)方法受到了学术界和工业界的广泛关注。
自动程序修复技术的目标是自动修复程序中的缺陷或漏洞,根据检测到的程序错误,自动生成补丁(patch)并添加到修复版的程序当中。随着软件分析和代码缺陷定位等技术的不断发展,自动程序修复技术也获得了很大的突破和进展,有效性和实用性有了大幅的提高。在近十年以来,自动程序修复领域也产生了很多经典方法,例如基于遗传编程的方法GenProg、基于符号分析方法SemFix、基于深度学习的方法DeepFix、基于模板的方法TBar、基于静态分析的方法MemFix等。这些方法通过不同方式完成了程序修复,但是均无法保证对所有缺陷进行修复,即使在所有现有测试数据下能正常工作,也无法保证修复版程序在其他输入运行时也能正常工作,而且更糟的情况是可能会引入新的缺陷。
因此,如何提供一种能够解决上述问题的软件缺陷修复方法及装置是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种基于多候选程序的软件缺陷修复方法及装置,既能根据多个候选程序的运行结果进行多数决投票来提高运行结果的成功率,还能通过并行运行多个版本的程序提高容错性。
为了实现上述目的,本发明采用如下技术方案:
一种基于多候选程序的软件缺陷修复方法,包括:
S1:在待修复程序中定位缺陷单元,将所述缺陷单元存放至缺陷集合中,对所述缺陷单元生成对应的补丁单元,同时将所述补丁单元存放至补丁集合;
S2:将所述补丁集合添加到待修复程序中,生成对应的修复程序集合;
S3:构造适应度函数,利用所述适应度函数对所述修复程序集合进行评估得到对应的适应度值,将所述适应度值进行排序,选取其中排名前k的修复程序作为候选修复程序集合;
S4:对所述候选修复程序集合进行多数决机制投票,输出多数决投票得分最高的所述候选修复程序运行结果,并将所述候选修复程序和多数决机制封装成一个整体程序。
优选的,所述步骤S3还包括:
S31:构造适应度函数,其中适应度函数的表达式为:
Figure BDA0002890503480000021
式中,sj表示为第j个修复版程序通过的测试程序数量,|T|代表测试程序集T中的元素个数;
S32:利用适应度函数对所述修复程序进行适应度值计算,得到对应的适应度值集合。
优选的,所述步骤S4还包括:
S41:引入测试用例集,对所述测试用例集中每个测试程序进行权重赋值,对应的表达式为:
Figure BDA0002890503480000031
式中,failCount(tn)表示为未通过测试程序tn的候选版修复程序数,k为候选版修复程序的个数;
S42:将候选修复程序集合输入多数决机制中,生成对应的执行结果集合,同时对候选修复程序集合中的每个元素进行投票权赋值,对应的表达式为:
Figure BDA0002890503480000032
式中,weight(tn)为第n个测试程序的权重,rn j’为执行结果;
S43:在多数决机制中将候选修复程序集合及测试用例集并行执行同一输入,并将输出结果存储在输出结果集合;
S44:对所述输出结果集合进行多数决投票,将得到分数最高的运行结果作为程序的输出。
优选的,所述步骤S1具体包括:
S11:对所述待修复程序定位缺陷单元,获取所述缺陷单元的怀疑度,并按照怀疑度从大到小的顺序对所述缺陷单元进行排序,同时存储至缺陷集合中;
S12:依据补丁生成规则对所述缺陷集合中的前θ个缺陷单元生成对应的补丁单元,同时将补丁单元存储到补丁集合中。
优选的,所述步骤S2具体包括:
S21:对所述补丁单元逐个生成对应的修复程序,并将所有修复程序存储到所述修复程序集合中;
S22:引入所述测试用例集对所有修复程序进行测试,将修复程序执行结果存储到结果集合中。
进一步,一种基于多候选程序的软件缺陷修复装置,包括:
获取模块,用于依次获取待修复程序的缺陷单元及对应的补丁单元;
添加模块,用于将所述补丁单元添加到待修复程序中,生成对应的修复程序集合;
处理模块,用于对修复程序集合进行适应度函数处理及多数决机制投票
处理,得到候选修复程序集合;
输出模块,用于输出多数决机制投票分数最高的运行结果。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于多候选程序的软件缺陷修复方法及装置,具有如下有益效果:
(1)能有效的根据多个候选版修复程序的运行结果进行多数决投票来提高运行结果的可靠性,还能针对缺陷下产生的不同修复版程序同时加入候选程序进行筛选,进而提高了修复版程序的多样性;
(2)多数决机制,通过该机制对并行运算产生的结果进行投票,可以有效的提高软件可靠性和容错性,进而提高工具的修复成功率;
(3)可以有效减少人工修复缺陷的时间,或对修复工作起到辅助作用,以降低开发和维护成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的一种基于多候选程序的软件缺陷修复方法的整体流程图;
图2附图为本发明实施例1提供的生成修复程序的流程图;
图3附图为本发明实施例1提供的修复程序集合评估的流程图;
图4附图为本发明实施例1提供的获取候选修复程序集合的流程图;
图5附图为本发明提供的一种基于多候选程序的软件缺陷修复方法的结构原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
参见附图1所示,本发明实施例1公开了一种基于多候选程序的软件缺陷修复方法,包括:
S1:在待修复程序中定位缺陷单元,将缺陷单元存放至缺陷集合中,对缺陷单元生成对应的补丁单元,同时将补丁单元存放至补丁集合;
S2:将补丁集合添加到待修复程序中,生成对应的修复程序集合;
S3:构造适应度函数,利用适应度函数对修复程序集合进行评估得到对应的适应度值,将适应度值进行排序,选取其中排名前k的修复程序作为候选修复程序集合;
S4:对候选修复程序集合进行多数决机制投票,输出多数决投票得分最高的候选修复程序运行结果,同时还可将候选修复程序和多数决机制封装成一个整体程序,该封装程序作为整个方法的输出。
其中,多数决投票得分最高的运行结果可对应多个候选修复程序。
在一个具体的实施例中,参见附图2所示,步骤S1具体包括:
1-1:起始状态,输入待修复程序p和测试用例集T;
1-2:对待修复程序p进行定位得到缺陷单元e,通过频谱、切片、变异等方法获取待修复程序p存在的缺陷单元e的怀疑度,怀疑度越大的元素存在缺陷的可能性越高,并按怀疑度值从大到小的顺序存储在缺陷集合E中;
其中,对待修复程序p进行缺陷定位,即根据程序内的控制依赖、数据依赖关系或者测试程序执行轨迹、运行结果,找到导致程序失效或者异常行为的根源,从而确定可能存在的缺陷单元,如:函数、分支、语句等。
1-3:根据补丁生成规则对缺陷集合E中前θ个元素进行不同形式的修改,生成对应的补丁单元,并重复执行该步骤直至生成所有的补丁单元,再将每个补丁单元存储在补丁集合B中。
在一个具体的实施例中,参见附图2所示,步骤S2具体包括:
2-1:基于待修复程序p使用补丁集合B中的补丁单元逐个生成对应的待测试修复程序fj,并存储在待测试修复程序集合N={n1,n2…}中;
2-2:使用测试用例集T对待测试修复程序fj进行测试,将待测试修复程序fj的执行结果存储在集合
Figure BDA0002890503480000061
中,并将待测试修复程序fj通过的测试程序数量记作sj,重复执行该步骤直到测试完待测试修复程序F中所有修复版程序;
步骤2-3:输出修复程序集合F。
在一个具体的实施例中,参见附图3所示,步骤S3和步骤S4还包括:
步骤3-1:输入修复程序集合F,构造适应度函数,使用适应度函数对修复程序集合F的中的每个修复程序的适应度值进行计算,其中适应度函数的表达式如式(1)所示:
Figure BDA0002890503480000062
式中,sj表示待测试修复程序fj通过的测试程序数量,|T|代表测试用例集T中的元素个数;
重复执行该步骤,直到完成对修复程序集合F中所有修复程序的处理;
步骤3-2:输出适应度值最高的前k个修复程序,组成集合F’={f1’,f2’…fk’},即为候选修复程序集合F’={f1’,f2’…fk’}。
在一个具体的实施例中,参见附图4所示,步骤S4还包括:
步骤4-1:输入候选修复程序集合F’及测试用例集T={t1,t2,...};
步骤4-2:从F’中选出每个候选版修复程序,找到其对应的集合
Figure BDA0002890503480000063
并对测试用例集T={t1,t2,...}中的每一个测试程序进行权重赋值,权重赋值的表达式参见式(2)所示:
Figure BDA0002890503480000064
式中,failCount(tn)表示为未通过测试程序tn的候选版修复程序数,k为候选版修复程序的个数;
重复执行该步骤,直到将所有测试程序完成权重赋值;
步骤4-3:根据候选修复程序的测试程序执行结果使用公式(3)对候选修复程序进行投票权赋值,公式(3)具体为:
Figure BDA0002890503480000065
式中,weight(tn)为第n个测试程序的权重,rn j’为执行结果;
重复执行该步骤,直到将所有候选修复程序完成投票权赋值;
步骤4-4:对k个候选修复程序并行执行同一输入,统计所有不同输出结果,并存储在输出集O={o1,o2,…oc};
步骤4-5:根据公式(4)对输出集O中的一个并行输出结果完成多数决机制投票,公式(4)具体为:
Figure BDA0002890503480000071
vote(fj')表示为第j个候选版修复版程序的投票权,将和具有相同输出的候选版修复版程序的投票权求和,即为输出的多数决分数。对输出集O中所有不同运行结果分别完成多数决计算,并将得分最高的运行结果作为最终输出;重复执行该步骤,直到完成所有输出结果的多数决投票;
步骤4-6:将多数决分数最高的候选修复程序作为可靠修复程序,其对应的运行结果作为程序的输出,同时还可将候选修复程序和多数决机制封装成一个整体程序,该封装程序作为整个方法的输出。
实施例2
参见附图4所示,本发明实施例2提供一种基于多候选程序的软件缺陷修复方法,包括:
获取模块,用于依次获取待修复程序的缺陷单元及对应的补丁单元;
添加模块,用于将补丁单元添加到待修复程序中,生成对应的修复程序集合;
处理模块,用于对修复程序集合进行适应度函数处理及多数决机制投票
处理,得到候选修复程序集合;
输出模块,用于输出多数决机制投票分数最高的运行结果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种基于多候选程序的软件缺陷修复方法,其特征在于,包括:
S1:在待修复程序中定位缺陷单元,将所述缺陷单元存放至缺陷集合中,对所述缺陷单元生成对应的补丁单元,同时将所述补丁单元存放至补丁集合;
S2:将所述补丁集合添加到待修复程序中,生成对应的修复程序集合;
S3:构造适应度函数,利用所述适应度函数对所述修复程序集合进行评估得到对应的适应度值,将所述适应度值进行排序,选取其中排名前k的修复程序作为候选修复程序集合;
S4:对所述候选修复程序集合进行多数决机制投票,输出多数决投票得分最高的所述候选修复程序运行结果,并将所述候选修复程序和多数决机制封装成一个整体程序。
2.根据权利要求1所述的一种基于多候选程序的软件缺陷修复方法,其特征在于,所述步骤S3还包括:
S31:构造适应度函数,其中适应度函数的表达式为:
Figure FDA0002890503470000011
式中,sj表示为第j个修复版程序通过的测试程序数量,|T|代表测试程序集T中的元素个数;
S32:利用适应度函数对所述修复程序进行适应度值计算,得到对应的适应度值集合。
3.根据权利要求2所述的一种基于多候选程序的软件缺陷修复方法,其特征在于,所述步骤S4还包括:
S41:引入测试用例集,对所述测试用例集中每个测试程序进行权重赋值,对应的表达式为:
Figure FDA0002890503470000012
式中,failCount(tn)表示为未通过测试程序tn的候选版修复程序数,k为候选版修复程序的个数;
S42:将候选修复程序集合输入多数决机制中,生成对应的执行结果集合,同时对候选修复程序集合中的每个元素进行投票权赋值,对应的表达式为:
Figure FDA0002890503470000013
式中,weight(tn)为第n个测试程序的权重,rn j’为执行结果;
S43:在多数决机制中将候选修复程序集合及测试用例集并行执行同一输入,并将输出结果存储在输出结果集合;
S44:对所述输出结果集合进行多数决投票,将得到分数最高的运行结果作为程序的输出。
4.根据权利要求1-3任一项所述的一种基于多候选程序的软件缺陷修复方法,其特征在于,所述步骤S1具体包括:
S11:对所述待修复程序定位缺陷单元,获取所述缺陷单元的怀疑度,并按照怀疑度从大到小的顺序对所述缺陷单元进行排序,同时存储至缺陷集合中;
S12:依据补丁生成规则对所述缺陷集合中的前θ个缺陷单元生成对应的补丁单元,同时将补丁单元存储到补丁集合中。
5.根据权利要求1-3任一项所述的一种基于多候选程序的软件缺陷修复方法,其特征在于,所述步骤S2具体包括:
S21:对所述补丁单元逐个生成对应的修复程序,并将所有修复程序存储到所述修复程序集合中;
S22:引入所述测试用例集对所有修复程序进行测试,将修复程序执行结果存储到结果集合中。
6.一种基于多候选程序的软件缺陷修复装置,其特征在于,包括:
获取模块,用于依次获取待修复程序的缺陷单元及对应的补丁单元;
添加模块,用于将所述补丁单元添加到待修复程序中,生成对应的修复程序集合;
处理模块,用于对修复程序集合进行适应度函数处理及多数决机制投票处理,得到候选修复程序集合;
输出模块,用于输出多数决机制投票分数最高的运行结果。
CN202110026716.9A 2021-01-09 2021-01-09 一种基于多候选程序的软件缺陷修复方法及装置 Active CN112685320B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110026716.9A CN112685320B (zh) 2021-01-09 2021-01-09 一种基于多候选程序的软件缺陷修复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110026716.9A CN112685320B (zh) 2021-01-09 2021-01-09 一种基于多候选程序的软件缺陷修复方法及装置

Publications (2)

Publication Number Publication Date
CN112685320A true CN112685320A (zh) 2021-04-20
CN112685320B CN112685320B (zh) 2023-04-25

Family

ID=75456817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110026716.9A Active CN112685320B (zh) 2021-01-09 2021-01-09 一种基于多候选程序的软件缺陷修复方法及装置

Country Status (1)

Country Link
CN (1) CN112685320B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064472A (zh) * 2021-11-12 2022-02-18 天津大学 基于代码表示的软件缺陷自动修复加速方法
US20230130772A1 (en) * 2021-10-22 2023-04-27 Suresoft Technologies Inc. Method for Selecting the Last Patch from Among a Plurality Patches for Same Location and the Last Patch Selection Module

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200525B1 (en) * 2004-06-29 2007-04-03 Sun Microsystems, Inc. System and method for generating a data structure representative of a fault tree
US7516025B1 (en) * 2004-06-29 2009-04-07 Sun Microsystems, Inc. System and method for providing a data structure representative of a fault tree
CN105760295A (zh) * 2015-12-28 2016-07-13 天津大学 基于搜索算法的多缺陷定位方法
CN106600356A (zh) * 2016-10-27 2017-04-26 杭州王道科技有限公司 多平台电子商务信息聚合方法及系统
CN108376116A (zh) * 2018-01-31 2018-08-07 浙江理工大学 基于改进粒子群算法的测试用例生成方法
CN109885471A (zh) * 2017-12-06 2019-06-14 河南工业大学 一种基于粒子群优化的软件多错误定位方法及处理装置
CN111124922A (zh) * 2019-12-25 2020-05-08 暨南大学 基于规则的自动程序修复方法、存储介质和计算设备
CN111444079A (zh) * 2019-01-16 2020-07-24 河南工业大学 一种软件缺陷修复方法及装置
CN111444078A (zh) * 2019-01-16 2020-07-24 河南工业大学 一种基于蚁群算法的软件缺陷定位方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200525B1 (en) * 2004-06-29 2007-04-03 Sun Microsystems, Inc. System and method for generating a data structure representative of a fault tree
US7516025B1 (en) * 2004-06-29 2009-04-07 Sun Microsystems, Inc. System and method for providing a data structure representative of a fault tree
CN105760295A (zh) * 2015-12-28 2016-07-13 天津大学 基于搜索算法的多缺陷定位方法
CN106600356A (zh) * 2016-10-27 2017-04-26 杭州王道科技有限公司 多平台电子商务信息聚合方法及系统
CN109885471A (zh) * 2017-12-06 2019-06-14 河南工业大学 一种基于粒子群优化的软件多错误定位方法及处理装置
CN108376116A (zh) * 2018-01-31 2018-08-07 浙江理工大学 基于改进粒子群算法的测试用例生成方法
CN111444079A (zh) * 2019-01-16 2020-07-24 河南工业大学 一种软件缺陷修复方法及装置
CN111444078A (zh) * 2019-01-16 2020-07-24 河南工业大学 一种基于蚁群算法的软件缺陷定位方法及装置
CN111124922A (zh) * 2019-12-25 2020-05-08 暨南大学 基于规则的自动程序修复方法、存储介质和计算设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张旭: "基于上下文的错误定位方法研究" *
黄晴雁等: "基于遗传算法的函数级别软件错误定位" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230130772A1 (en) * 2021-10-22 2023-04-27 Suresoft Technologies Inc. Method for Selecting the Last Patch from Among a Plurality Patches for Same Location and the Last Patch Selection Module
US11822915B2 (en) * 2021-10-22 2023-11-21 Suresoft Technologies Inc. Method for selecting the last patch from among a plurality patches for same location and the last patch selection module
CN114064472A (zh) * 2021-11-12 2022-02-18 天津大学 基于代码表示的软件缺陷自动修复加速方法
CN114064472B (zh) * 2021-11-12 2024-04-09 天津大学 基于代码表示的软件缺陷自动修复加速方法

Also Published As

Publication number Publication date
CN112685320B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
Gyimesi et al. Bugsjs: a benchmark of javascript bugs
Machalica et al. Predictive test selection
US10437702B2 (en) Data-augmented software diagnosis method and a diagnoser therefor
US5500941A (en) Optimum functional test method to determine the quality of a software system embedded in a large electronic system
CN110515826B (zh) 一种基于次数频谱与神经网络算法的软件缺陷定位方法
US20110288846A1 (en) Technique and tool for efficient testing of controllers in development (h-act project)
CN112685320B (zh) 一种基于多候选程序的软件缺陷修复方法及装置
Ribeiro et al. Evaluating data-flow coverage in spectrum-based fault localization
Guo et al. An empirical study on the effect of dynamic slicing on automated program repair efficiency
CN111782532B (zh) 一种基于网络异常节点分析的软件故障定位方法及系统
CN109491922A (zh) 一种基于模型驱动的测试方法和装置
Yamaura How to design practical test cases
CN105701013A (zh) 基于互信息的软件缺陷数据特征选择方法
JP7190246B2 (ja) ソフトウェア不具合予測装置
CN111125634A (zh) 基于质量方法的可靠性分析方法及系统
Taufiqurrahman et al. The impacts of test driven development on code coverage
US10586014B1 (en) Method and system for verification using combined verification data
An et al. Fonte: Finding bug inducing commits from failures
Singhal et al. A critical review of various testing techniques in aspect-oriented software systems
Cao et al. Automated repair of Java programs with random search via code similarity
CN113051582B (zh) 一种计算机软件技术开发调试系统
CN115629956A (zh) 一种基于接口自动化测试的软件缺陷管理方法及系统
CN114357919A (zh) 对激励约束文件优化的反馈收敛方法和装置
CN104615535A (zh) 一种基于扩展的数据流模型来生成测试用例的方法与装置
Wang et al. Regression testing based on neural networks and program slicing techniques

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