CN105335246A - 一种基于问答网站分析的程序崩溃缺陷自动修复方法 - Google Patents

一种基于问答网站分析的程序崩溃缺陷自动修复方法 Download PDF

Info

Publication number
CN105335246A
CN105335246A CN201510708750.9A CN201510708750A CN105335246A CN 105335246 A CN105335246 A CN 105335246A CN 201510708750 A CN201510708750 A CN 201510708750A CN 105335246 A CN105335246 A CN 105335246A
Authority
CN
China
Prior art keywords
code
fragment
defect
repairing
collapse
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
CN201510708750.9A
Other languages
English (en)
Other versions
CN105335246B (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.)
Peking University
Original Assignee
Peking 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 Peking University filed Critical Peking University
Priority to CN201510708750.9A priority Critical patent/CN105335246B/zh
Publication of CN105335246A publication Critical patent/CN105335246A/zh
Application granted granted Critical
Publication of CN105335246B publication Critical patent/CN105335246B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/3612Software analysis for verifying properties of programs by runtime analysis

Abstract

本发明涉及计算机软件技术领域,公开了一种基于问答网站分析的程序崩溃缺陷自动修复方法,包括:根据程序发生崩溃时的崩溃踪迹,获取多个相关网页;其中,所述相关网页中包含描述所述崩溃的缺陷代码以及修复所述崩溃的修复代码;在每个所述相关网页中,提取所述缺陷代码的片段以及修复代码的片段;根据所述缺陷代码片段以及修复代码片段生成用于修复所述崩溃的编辑脚本;根据所述崩溃踪迹以及缺陷代码,确定所述程序源代码中有错误代码的位置,应用所述编辑脚本修复所述错误代码。本发明可根据崩溃踪迹在相关网页上自动搜索修复方案,并生成相应的编辑脚本对崩溃进行修复,摆脱了在修复过程中对操作人员的依赖,实现自动修复,且修复精度较高。

Description

一种基于问答网站分析的程序崩溃缺陷自动修复方法
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种基于问答网站分析的程序崩溃缺陷自动修复方法。
背景技术
计算机系统在执行应用程序的进程的过程中,不可避免的会由于该应用程序的进程自身的原因,比如除零错误、堆栈溢出、内存越界或空指针等原因,导致在执行应用程序的进程时发生程序崩溃,一旦程序发生崩溃,人们将无法继续使用该应用程序,给用户的工作和生活带来诸多不便。因此,某一应用程序崩溃后的自我修复能力对于该应用程序而言也是一个非常重要的因素。
目前,现有的程序崩溃缺陷相关的技术主要针对崩溃缺陷的定位、恢复以及修复检查这几个方面,具体说明如下:第一方面:通过堆栈信息定位到程序崩溃出错语句,但是这种方法仍然需要开发人员通过理解代码人工写出修复补丁;第二方面:令应用程序从崩溃状态恢复到可继续执行的状态,使程序继续运行,但这种方法并未从根本上解决崩溃的修复问题,并且存在额外的运行开销;第三方面:在开发人员修复崩溃缺陷后对程序崩溃的修复进行检查,自动预测是否会有新的崩溃发生,然而这类方案并不涉及应用程序的自动修复。
综上所述,现有技术中修复应用程序崩溃的方法仍然依赖开发人员的操作,导致开发人员的工作量增加。
发明内容
本发明要解决的技术问题是:应用程序在发生崩溃时如何不依赖人员操作自我修复的问题。
为实现上述的发明目的,本发明提供了一种基于问答网站分析的程序崩溃缺陷自动修复方法,包括:
根据程序发生崩溃时生成的崩溃踪迹,获取多个相关网页;
其中,所述相关网页中包含描述所述崩溃的缺陷代码以及修复所述崩溃的修复代码;
在每个所述相关网页中,提取所述缺陷代码的片段以及修复代码的片段;根据所述缺陷代码片段以及修复代码片段生成用于修复所述崩溃的编辑脚本;
根据所述崩溃踪迹以及缺陷代码,确定所述程序源代码中有错误代码的位置,应用所述编辑脚本修复所述错误代码。
其中较优地,所述获取多个相关网页,是获取多个问答网站中的相关网页。
其中较优地,
所述问答网站相关网页中的提问贴包含所述缺陷代码;
所述问答网站相关网页中的答案贴包含所述缺陷代码和修复代码。
其中较优地,所述在每个所述相关网页中,提取所述缺陷代码的片段以及修复代码的片段为:
在所述答案贴中提取缺陷代码片段以及修复代码片段。
其中较优地,所述在每个所述相关网页中,提取所述缺陷代码的片段以及修复代码的片段为:
在所述提问帖中提取所述缺陷代码的片段;
在所述答案贴中提取所述修复代码片段。
其中较优地,所述根据所述缺陷代码片段以及修复代码片段生成用于修复所述崩溃的编辑脚本,包括:
将所述缺陷代码的片段与修复代码片段组成代码片段对;
在所述代码片段对中,计算所述缺陷代码片段的语句相似度和修复代码片段语句相似度,过滤掉相似度小于预设阈值的所述语句;
构建过滤后的所述代码片段对中所述缺陷代码的片段和修复代码片段之间的映射,根据所述映射生成所述缺陷代码的片段和修复代码片段之间的所述编辑脚本。
其中较优地,所述根据所述崩溃踪迹以及缺陷代码,确定所述程序源代码中有错误代码的位置,应用所述编辑脚本修复所述错误代码,具体包括:
提取所述崩溃踪迹中发生崩溃的文件的文件名,形成文件集合;
根据所述崩溃踪迹中包含的所述文件的行号,确定所述文件在源代码中的位置,并提取所述文件的源代码片段;
计算所述源代码片段中语句的相似度,过滤所述相似度小于预设阈值的所述源代码片段语句;
构建所述缺陷代码片段与所述程序源代码片段的映射关系;
将所述编辑脚本中所述缺陷代码片段的元素,按所述缺陷代码片段与程序源代码片段的映射关系,替换为所述程序源代码中的相应元素;
将编辑脚本中的所述替换的所述程序源代码元素,按所述缺陷代码的片段和修复代码片段之间的映射关系,替换为相应的修复代码片段中的元素,生成替换代码补丁;
将所述替换代码补丁带回所述程序源代码中。
其中较优地,所述缺陷代码片段以及修复代码片段为多个,相应地,根据缺陷代码的片段和修复代码片段生成的替换代码补丁也为多个。
其中较优地,还包括:
将多个所述替换代码补丁中相同的补丁合并;
过滤掉多个所述替换代码补丁中出现编译错误的补丁;
根据所述过滤后的替换代码补丁判断修复结果。
本发明提供了一种基于问答网站分析的程序崩溃缺陷自动修复方法。该方法通过根据崩溃踪迹在问答网页上自动搜索修复方案,并生成相应的编辑脚本对崩溃进行修复,摆脱了在修复过程中对操作人员的依赖,实现自动修复,且修复精度较高。
本发明提供了一种基于问答网站分析的程序崩溃缺陷自动修复方法。该方法通过根据崩溃踪迹在问答网页上自动搜索修复方案,并生成相应的编辑脚本对崩溃进行修复,摆脱了在修复过程中对操作人员的依赖,实现自动修复,且修复精度较高。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明第一实施例提供的基于问答网站分析的程序崩溃缺陷自动修复方法流程图;
图2是本发明第一实施例提供的缺陷代码片段与修复代码片段映射示意图;
图3是本发明第一实施例提供的缺陷代码片段与程序源代码片段映射示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明提供了一种基于问答网站分析的程序崩溃缺陷自动修复方法。该方法具体包括:S101、根据程序发生崩溃时的崩溃踪迹,获取多个相关网页;其中,相关网页中包含描述崩溃的缺陷代码以及修复崩溃的修复代码;S102、在每个相关网页中,提取缺陷代码的片段以及修复代码的片段;根据缺陷代码片段以及修复代码片段生成用于修复崩溃的编辑脚本;S103、根据崩溃踪迹以及缺陷代码,确定程序源代码中有错误代码的位置,应用编辑脚本修复错误代码。优选地,还包括S104、判断修复结果。下面对本发明提供的基于问答网站分析的程序崩溃缺陷自动修复方法展开详细的说明。
实施例一
本实施例提供了一种基于问答网站分析的程序崩溃缺陷自动修复方法。下面将对该方法进行具体说明:
S101、根据程序发生崩溃时的崩溃踪迹,获取多个相关网页;其中,所述相关网页中包含描述所述崩溃的缺陷代码以及修复所述崩溃的修复代码。下面将对S101步骤中包含的子步骤进行展开说明。
S1011、提取程序发生崩溃时生成的崩溃踪迹中的信息。
当一个程序崩溃时,会生成崩溃信息。发生崩溃的程序可以以以下方式实现:
下段程序中的31行发生崩溃,其崩溃踪迹可以按以下方式实现:
其中,第1行和第13行是崩溃的描述信息。第2-12行、第14-18行表示两个堆栈踪迹。提取上述崩溃踪迹的第一行,删除该行中所有包含项目名的单词。
S1012、将提取的崩溃踪迹结果作为搜索请求,使用搜索引擎进行搜索,优选地在问答网站中搜索,得到排好序的问答网页。其中,根据S1011中的示例,搜索请求为:
java.lang.RuntimeException:UnabletostartreceiverIntentReceivercomponentsarenotallowedtoregistertoreceiveintents
S102、在每个相关的问答网页中,提取描述崩溃缺陷情况的缺陷代码的片段以及修复代码的片段;根据缺陷代码片段以及修复代码片段生成用于修复崩溃的编辑脚本。下面将对S102步骤中包含的子步骤进行展开说明。
S1021、按照问答网页的次序一次分析S101步骤得到的每个问答网页。在每个网页中,使用HTMLParser(HTML解析和分析的工具,包括信息提取和信息转换两大功能)把包含在<code></code>标签中(HTML中的一种标签,标签中包含的为代码)的片段提取出来。以这种方式提取出的基本都是代码片段。
在每个问答网页中包括提问贴和答案贴。其中,提问贴包含描述崩溃缺陷情况的缺陷代码;答案贴包含缺陷代码和修复相应崩溃缺陷的修复代码。
例如,提问贴可以按以下方式实现:
答案贴可以按以下方式实现:
在提问贴和答案贴中提取缺陷代码的片段以及修复代码的片段为,具体包括两种提取方式:
第一种方式:将答案贴中的不同代码片段按照关键字“BInsteadofA”或者“ChangeAtoB”筛选出来,并组合成缺陷-修复代码对A-B。其中A为缺陷代码片段,B为修复代码片段。
从答案贴中提取的缺陷-修复代码对的数量为多个,从上述答案贴中提取出的多个代码对的其中一个可以按以下方式实现:
c o n t e x t . r e g i s t e r Re c e i v e r ( ... ) ; c o n t e x t . g e t A p p l i c a t i o n C o n t e x t ( ) . r e g i s t e r Re c e i v e r ( ... ) ;
其中,上方为缺陷代码片段A,下方为修复代码片段B。
第二种方式:按同样的提取方式提取问题贴中的多个缺陷代码片段A和以及答案贴中的多个修复代码片段B,分别组成缺陷-修复代码对A-B。
同样地,从问题贴以及答案贴中提取的缺陷-修复代码对的数量为多个,从上述问题贴以及答案贴中提取出的多个代码对的其中两个可以按以下方式实现:
I n t e n t int e n t = c o n t e x t . r e g i s t e r Re c e i v e r ( ... ) ; c o n t e x t . r e g i s t e r Re c e i v e r ( ... ) ;
I n t e n t int e n t = c o n t e x t . r e g i s t e r Re c e i v e r ( ... ) ; c o n t e x t . g e t A p p l i c a t i o n C o n t e x t ( ) . r e g i s t e r Re c e i v e r ( ... ) ;
其中,每个片段对的上方为缺陷代码片段A,下方为修复代码片段B。
S1022、精简每个代码片段对。计算缺陷代码片段A中语句的相似度和修复代码片段B中语句的相似度,过滤掉相似度小于预设阈值的所述语句相似度。语句相似度的计算公式如式(1)、(2)所示:
S i m ( T e x t ) = 1 - e d i t d i s tan c e l e n _ b u g g y * l e n _ f i x e d - - - ( 1 )
S i m ( S t r u c t u r e ) = n u m _ c o m m o n n u m - t o t a l - - - ( 2 )
其中,edit_distance表示两条语句之间的编辑距离。len_buggy表示缺陷代码的字符串长度,len_fixed表示修复代码的字符串长度,num_common表示AST的相同叶子结点的个数,num_total表示AST中所有叶子结点的个数。
过滤掉缺陷代码片段A中和修复代码片段B中语句相似度均于预设阈值的语句。其中,预设阈值为Sim(Text)=0.8,Sim(Structure)=0.3。
S1023、使用GumTree方法构建代码对中的缺陷代码片段A和修复代码片段B之间的映射,用代码片段对应的抽象语法树(AST)之间的映射表示。如图2所示,缺陷代码片段A为21范围内的代码片段,修复代码片段B为22范围内的代码片段。可以看出,21范围内的代码片段与22范围内的代码片段中的类一一映射。
进而利用GumTree方法根据该映射生成两个代码片段之间的编辑脚本。编辑脚本用于描述如何将缺陷代码片段转变为修复代码片段的一系列动作。GumTree的编辑脚本中包括4个动作:添加、删除、更新和移动。此外,在GumTree的算法中新添加两个动作:替换和复制。替换用于把缺陷代码片段的抽象语法树AST(AbstractSyntaxTree,AST)和修复代码片段的AST中不同类型的结点替换,复制用于把缺陷代码片段的AST中的结点复制到该AST新的位置上。
S103、根据崩溃踪迹以及缺陷代码,确定程序源代码中有错误代码的位置,应用编辑脚本修复错误代码。下面将对S103步骤中包含的子步骤进行展开说明。
S1031、崩溃踪迹包含崩溃文件的文件名,把崩溃文件的文件名提取出来,作为待考虑的文件集合。
S1032、崩溃踪迹中还包含行号,根据所述崩溃踪迹中包含的崩溃文件的行号,确定崩溃文件在源代码中的位置,并提取崩溃文件的源代码片段。
S1033、在待考虑的文件集合中,使用式(1)、(2)过滤掉集合中文件里相似度低于阈值的语句。然后再次使用GumTree方法建立问答网页中的缺陷代码片段与程序源代码之间的映射。如图3所示,缺陷代码片段A为31范围内的代码片段,程序源代码片段为32范围内的代码片段。可以看出,31范围内的代码片段与32范围内的代码片段中的某一类互相映射。
把S102步骤的编辑脚本中的缺陷代码片段中的元素按该映射关系替换为源代码片段中的元素,然后应用编辑脚本,将编辑脚本中的所述替换的所述程序源代码元素,按如图2所示缺陷代码的片段和修复代码片段之间的映射关系,替换为相应的修复代码片段中的元素,生成替换代码补丁。最终的替换补丁可以为以下形式:
finalfloatbl=BatteryHelper.level(
context.getApplicationContext());
由于提取的缺陷-修复代码对为多个,因此本步骤中生产的替换代码补丁也为多个。
S1034、把多个替换代码补丁应用回程序源代码中。
S104、代码补丁过滤判断修复结果。
在本步骤中,合并相同的替换代码补丁,并过滤掉出现编译错误的补丁。最后将剩余的代码补丁按照顺序报告给开发人员。开发人员将通过人工观察判断第一个补丁的正确性。
实施例二
为了检验本发明的修复效果,优选地,选用GitHub(一个分布式的版本控制系统)上的安卓程序集,应用实施例一提供的基于问答网站分析的程序崩溃缺陷自动修复方法对安卓程序集的程序崩溃进行修复。GitHub上的实验程序集信息如表1所示,修复产生的补丁个数和正确性如表2所示,修复所花费的修复时间如表3所示。
表1GitHub上的实验程序集
表2修复产生的补丁及正确性
表3修复时间
其中,表1统计了GitHub上选取的程序集信息,程序大小从几百行到几万行不等。“错误报告编号”为该崩溃缺陷在GitHub上的来源。
表2给出方法的修复效果,包括修复产生的替换代码补丁数量以及第一个替换代码补丁修复的正确性。“产生的修复补丁个数”表示本工具在对应的崩溃缺陷上产生的补丁的个数,为经过过滤编译筛选后所剩余的补丁。“第一个补丁的正确性”通过人工观察所产生的第一个补丁的正确性,与GitHub对应错误报告的人工修复的补丁进行对比,判断第一个补丁是否正确。正确用“Y”表示,错误用“N”表示。
表3统计了应用本发明实施例一提供的方法修复GitHub上选取的程序集信息所消耗的修复时间。运行结果说明,本发明提供的能基于问答网站分析的程序崩溃缺陷自动修复方法能够高效修复相当数量的崩溃缺陷,精度较为理想。
综上所述,本发明提供了一种基于问答网站分析的程序崩溃缺陷自动修复方法。该方法通过根据崩溃踪迹在问答网页上自动搜索修复方案,并生成相应的编辑脚本对崩溃进行修复,摆脱了在修复过程中对操作人员的依赖,实现自动修复,且修复精度较高。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (9)

1.一种基于问答网站分析的程序崩溃缺陷自动修复方法,其特征在于,包括:
根据程序发生崩溃时生成的崩溃踪迹,获取多个相关网页;
其中,所述相关网页中包含描述所述崩溃的缺陷代码以及修复所述崩溃的修复代码;
在每个所述相关网页中,提取所述缺陷代码的片段以及修复代码的片段;根据所述缺陷代码片段以及修复代码片段生成用于修复所述崩溃的编辑脚本;
根据所述崩溃踪迹以及缺陷代码,确定所述程序源代码中有错误代码的位置,应用所述编辑脚本修复所述错误代码。
2.如权利要求1所述的自动修复方法,其特征在于,所述获取多个相关网页,是获取多个问答网站中的相关网页。
3.如权利要求2所述的自动修复方法,其特征在于,
所述问答网站相关网页中的提问贴包含所述缺陷代码;
所述问答网站相关网页中的答案贴包含所述缺陷代码和修复代码。
4.如权利要求3所述的自动修复方法,其特征在于,所述在每个所述相关网页中,提取所述缺陷代码的片段以及修复代码的片段为:
在所述答案贴中提取缺陷代码片段以及修复代码片段。
5.如权利要求3所述的自动修复方法,其特征在于,所述在每个所述相关网页中,提取所述缺陷代码的片段以及修复代码的片段为:
在所述提问帖中提取所述缺陷代码的片段;
在所述答案贴中提取所述修复代码片段。
6.如权利要求4、5任意一项所述的自动修复方法,其特征在于,所述根据所述缺陷代码片段以及修复代码片段生成用于修复所述崩溃的编辑脚本,包括:
将所述缺陷代码的片段与修复代码片段组成代码片段对;
在所述代码片段对中,计算所述缺陷代码片段的语句相似度和修复代码片段语句相似度,过滤掉相似度小于预设阈值的所述语句;
构建过滤后的所述代码片段对中所述缺陷代码的片段和修复代码片段之间的映射,根据所述映射生成所述缺陷代码的片段和修复代码片段之间的所述编辑脚本。
7.如权利要求6的自动修复方法,其特征在于,所述根据所述崩溃踪迹以及缺陷代码,确定所述程序源代码中有错误代码的位置,应用所述编辑脚本修复所述错误代码,具体包括:
提取所述崩溃踪迹中发生崩溃的文件的文件名,形成文件集合;
根据所述崩溃踪迹中包含的所述文件的行号,确定所述文件在源代码中的位置,并提取所述文件的源代码片段;
计算所述源代码片段中语句的相似度,过滤所述相似度小于预设阈值的所述源代码片段语句;
构建所述缺陷代码片段与所述程序源代码片段的映射关系;
将所述编辑脚本中所述缺陷代码片段的元素,按所述缺陷代码片段与程序源代码片段的映射关系,替换为所述程序源代码中的相应元素;
将编辑脚本中的所述替换的所述程序源代码元素,按所述缺陷代码的片段和修复代码片段之间的映射关系,替换为相应的修复代码片段中的元素,生成替换代码补丁;
将所述替换代码补丁带回所述程序源代码中。
8.如权利要求7所述的自动修复方法,其特征在于,所述缺陷代码片段以及修复代码片段为多个,相应地,根据缺陷代码的片段和修复代码片段生成的替换代码补丁也为多个。
9.如权利要求8所述的自动修复方法,其特征在于,还包括:
将多个所述替换代码补丁中相同的补丁合并;
过滤掉多个所述替换代码补丁中出现编译错误的补丁;
根据所述过滤后的替换代码补丁判断修复结果。
CN201510708750.9A 2015-10-27 2015-10-27 一种基于问答网站分析的程序崩溃缺陷自动修复方法 Expired - Fee Related CN105335246B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510708750.9A CN105335246B (zh) 2015-10-27 2015-10-27 一种基于问答网站分析的程序崩溃缺陷自动修复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510708750.9A CN105335246B (zh) 2015-10-27 2015-10-27 一种基于问答网站分析的程序崩溃缺陷自动修复方法

Publications (2)

Publication Number Publication Date
CN105335246A true CN105335246A (zh) 2016-02-17
CN105335246B CN105335246B (zh) 2018-04-27

Family

ID=55285801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510708750.9A Expired - Fee Related CN105335246B (zh) 2015-10-27 2015-10-27 一种基于问答网站分析的程序崩溃缺陷自动修复方法

Country Status (1)

Country Link
CN (1) CN105335246B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105824718A (zh) * 2016-04-01 2016-08-03 北京大学 基于问答网站知识的软件配置故障自动修复方法和系统
CN106897170A (zh) * 2017-02-27 2017-06-27 郑州云海信息技术有限公司 一种基于问答报告自动学习修复软件的方法
CN109828928A (zh) * 2019-02-15 2019-05-31 广东电网有限责任公司 一种网页缺陷快速检测方法和系统
CN110221933A (zh) * 2019-05-05 2019-09-10 北京百度网讯科技有限公司 代码缺陷辅助修复方法及系统
CN110442517A (zh) * 2019-07-18 2019-11-12 暨南大学 一种自动程序修复中获取安全补丁的方法
CN110795259A (zh) * 2018-08-01 2020-02-14 北京京东尚科信息技术有限公司 一种分析应用崩溃的方法和装置
CN112463424A (zh) * 2020-11-13 2021-03-09 扬州大学 一种基于图的端到端程序修复方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100305983A1 (en) * 2007-01-05 2010-12-02 Ita Software, Inc., A Massachusetts Corporation Providing Travel Information Using Cached Query Answers
CN102436402A (zh) * 2011-03-29 2012-05-02 奇智软件(北京)有限公司 一种软件中的模块修复方法及该软件设备
CN102999555A (zh) * 2012-10-15 2013-03-27 北京奇虎科技有限公司 网页异常处理方法与装置
US20130282814A1 (en) * 2010-02-08 2013-10-24 Yellowpages.Com Llc Providing an answer to a question from a social network site using a separate messaging site

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100305983A1 (en) * 2007-01-05 2010-12-02 Ita Software, Inc., A Massachusetts Corporation Providing Travel Information Using Cached Query Answers
US20130282814A1 (en) * 2010-02-08 2013-10-24 Yellowpages.Com Llc Providing an answer to a question from a social network site using a separate messaging site
CN102436402A (zh) * 2011-03-29 2012-05-02 奇智软件(北京)有限公司 一种软件中的模块修复方法及该软件设备
CN102999555A (zh) * 2012-10-15 2013-03-27 北京奇虎科技有限公司 网页异常处理方法与装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105824718A (zh) * 2016-04-01 2016-08-03 北京大学 基于问答网站知识的软件配置故障自动修复方法和系统
CN105824718B (zh) * 2016-04-01 2018-10-19 北京大学 基于问答网站知识的软件配置故障自动修复方法和系统
CN106897170A (zh) * 2017-02-27 2017-06-27 郑州云海信息技术有限公司 一种基于问答报告自动学习修复软件的方法
CN110795259A (zh) * 2018-08-01 2020-02-14 北京京东尚科信息技术有限公司 一种分析应用崩溃的方法和装置
CN109828928A (zh) * 2019-02-15 2019-05-31 广东电网有限责任公司 一种网页缺陷快速检测方法和系统
CN110221933A (zh) * 2019-05-05 2019-09-10 北京百度网讯科技有限公司 代码缺陷辅助修复方法及系统
CN110442517A (zh) * 2019-07-18 2019-11-12 暨南大学 一种自动程序修复中获取安全补丁的方法
CN112463424A (zh) * 2020-11-13 2021-03-09 扬州大学 一种基于图的端到端程序修复方法
CN112463424B (zh) * 2020-11-13 2023-06-02 扬州大学 一种基于图的端到端程序修复方法

Also Published As

Publication number Publication date
CN105335246B (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
CN105335246A (zh) 一种基于问答网站分析的程序崩溃缺陷自动修复方法
CN109086204B (zh) 节点关系树建立、页面标记和识别方法、装置和存储介质
CN101118515B (zh) 一种表单的自动测试方法及装置
CN109144882B (zh) 一种基于程序不变量的软件故障定位方法及装置
CN103678110B (zh) 提供修改相关信息的方法和装置
CN107203468B (zh) 一种基于ast的软件版本演化对比分析方法
CN102567201B (zh) 跨模型的图形用户界面测试脚本自动修复方法
CN103019925B (zh) JQuery选择器获取方法及装置
CN111382070B (zh) 兼容性测试方法、装置、存储介质和计算机设备
CN105335412A (zh) 用于数据转换、数据迁移的方法和装置
CN102804147A (zh) 执行abap源代码的代码检查的代码检查执行系统
Zhang et al. Analyzing and supporting adaptation of online code examples
CN109344060A (zh) 一种自动化测试的分析方法及装置
Sacramento et al. Web application model generation through reverse engineering and UI pattern inferring
CN101499063A (zh) 基于跟踪的数据库模式演进方法及系统
CN115033896B (zh) 以太坊智能合约漏洞检测方法、装置、系统与介质
CN103914379A (zh) 故障自动注入与故障检测的方法及其系统
CN105426305A (zh) 一种控件属性解析系统及方法
CN105279089A (zh) 一种获取页面元素的方法及装置
CN105260300A (zh) 基于会计准则通用分类标准应用平台的业务测试方法
CN111813443A (zh) 一种用JavaFX进行代码样例自动填充的方法和工具
CN108319466A (zh) 一种配置信息的恢复方法和装置
CN103559202B (zh) 一种网页内容抽取装置和方法
CN105630678B (zh) 一种智能电能表软件的可靠性检测仪及其检测方法
Hu et al. Program generation and code completion techniques based on deep learning: Literature review

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180427

Termination date: 20211027

CF01 Termination of patent right due to non-payment of annual fee