内容提取方法、装置和计算机设备制造方法及图纸

技术编号:18496928 阅读:14 留言:0更新日期:2018-07-21 20:06
本发明专利技术提出一种内容提取方法、装置和计算机设备,其中,方法包括:运行应用程序之后,依据运行正常时各程序段的第一运行数据,生成程序摘要。进而根据运行异常时各程序段的第二运行数据,与相应程序段的程序摘要之间的符合情况,从各程序段中选择出目标程序段,仅根据目标程序段进行内容提取。相较于现有技术中,针对全部程序段进行内容提取的方式相比,缩小了需进行内容提取的范围,解决了现有技术中需提取内容较多的技术问题。在内容提取之后,就提取的内容还需与程序员用户之间的交互以确认其正确性,通过缩小内容提取范围,也进一步减少的交互次数,提高了故障定位的效率。

Content extraction methods, devices and computer equipment

The invention provides a content extraction method, device and computer equipment, in which the method includes: after running the application, the program summary is generated according to the first running data of each program segment when the operation is normal. Then, according to the second running data of each program segment when running abnormal, and the conformity between the program abstracts of the corresponding program section, the target program segment is selected from each program section, and the content is extracted only according to the target program section. Compared with the existing technology, compared with the content extraction method for all program segments, the scope of content extraction is reduced, and the technical problems that need more content in the existing technology are solved. After the extraction of content, the content of the extraction needs to interact with the user of the programmer to confirm its correctness, reduce the scope of the content extraction, and further reduce the number of interactions, and improve the efficiency of the fault location.

【技术实现步骤摘要】
内容提取方法、装置和计算机设备
本专利技术涉及计算机
,尤其涉及一种内容提取方法、装置和计算机设备。
技术介绍
在程序较为复杂的情况下,程序员编写的程序难免会存在程序缺陷,从而导致无法完成所需逻辑或功能,程序运行时会出现故障。在程序存在这种缺陷时,需要确定存在缺陷的故障点,以便于程序员对故障点进行修复。现有技术中,通常将程序划分为多个程序段。依据程序段的执行先后顺序,对每一个程序段均进行内容提取,进而对程序员用户进行提问,以确定提取到的内容是否有误。通过这种与程序员用户进行交互的方式,定位故障点。但现有技术中这种依据程序段之间的执行先后顺序进行内容提取的方式,提取内容较多,进而导致与程序员用户交互次数也较多,故障定位效率较低。
技术实现思路
本专利技术提出一种内容提取方法,通过缩小需进行内容提取的程序段范围,在应用程序中,仅部分程序段需要向程序员用户确认正确性,以减少与程序员用户之间的交互次数,提高调试效率。本专利技术一方面实施例提出了一种内容提取方法,包括:运行应用程序,以确定所述应用程序运行正常时的第一输入数据,以及运行异常时的第二输入数据;根据执行所述第一输入数据时所述应用程序中各程序段的第一运行数据,生成各程序段的程序摘要;所述程序摘要用于指示对应程序段的第一运行数据符合的规律;将执行所述第二输入数据时各程序段的第二运行数据,与对应程序段的程序摘要进行比对,以确定出所述第二运行数据与对应的程序摘要不相符合的目标程序段;根据所述目标程序段进行内容提取。本专利技术实施例的内容提取方法,运行应用程序之后,依据运行正常时各程序段的第一运行数据,生成程序摘要。进而根据运行异常时各程序段的第二运行数据,与相应程序段的程序摘要之间的符合情况,从各程序段中选择出目标程序段,仅根据目标程序段进行内容提取。相较于现有技术中,针对全部程序段进行内容提取的方式相比,缩小了需进行内容提取的范围,解决了现有技术中需提取内容较多的技术问题。在内容提取之后,就提取的内容还需与程序员用户之间的交互以确认其正确性,通过缩小内容提取范围,也进一步减少的交互次数,提高了故障定位的效率。本专利技术又一方面实施例提出了一种内容提取装置,包括:运行模块,用于运行应用程序,以确定所述应用程序运行正常时的第一输入数据,以及运行异常时的第二输入数据;生成模块,用于根据执行所述第一输入数据时所述应用程序中各程序段的第一运行数据,生成各程序段的程序摘要;所述程序摘要用于指示对应程序段的第一运行数据符合的规律;比对模块,用于将执行所述第二输入数据时各程序段的第二运行数据,与对应程序段的程序摘要进行比对,以确定出所述第二运行数据与对应的程序摘要不相符合的目标程序段;提取模块,用于根据所述目标程序段进行内容提取。本专利技术实施例的内容提取装置,运行应用程序之后,依据运行正常时各程序段的第一运行数据,生成程序摘要。进而根据运行异常时各程序段的第二运行数据,与相应程序段的程序摘要之间的符合情况,从各程序段中选择出目标程序段,仅根据目标程序段进行内容提取。相较于现有技术中,针对全部程序段进行内容提取的方式相比,缩小了需进行内容提取的范围,解决了现有技术中需提取内容较多的技术问题。在内容提取之后,就提取的内容还需与程序员用户之间的交互以确认其正确性,通过缩小内容提取范围,也进一步减少的交互次数,提高了故障定位的效率。本专利技术又一方面实施例提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现前述方面提及的内容提取方法。本专利技术又一方面实施例提出了一种计算机可读存储介质,该程序被处理器执行时实现如前述方面提及的内容提取方法。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术实施例所提供的一种内容提取方法的流程示意图;图2为本专利技术实施例提供的另一种内容提取方法的流程示意图;图3为程序执行树的示意图;图4为本专利技术实施例提供的一种内容提取装置的结构示意图;图5为计算机设备与用户端交互的示意图;以及图6示出了适于用来实现本申请实施方式的示例性计算机设备的框图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。在现有技术中,为了实现程序调试,通常采用算法调试技术。具体来说,在算法调试技术实现过程中,需要与程序员用户进行交互。根据程序员用户确定出的各程序段的正确与否,进行内容提取,根据提取的内容进行故障修复。可以根据程序中不同程序段之间的结构关系,优化各程序段的提问顺序。现有技术中存在至少两种可能的提问顺序:其一,根据各程序段的执行先后顺序,依次向程序员用户进行提问,确定各程序段的正确性;其二,对各程序段采用二分法逐步缩小提问范围,以在一定程度上提高调试效率。但前述调试方式,尽管存在缩小提问范围的操作,但仅仅是依赖于程序段的结构信息,优化提问顺序。在实际操作过程中,仍需要与程序员用户进行多次交互,才能最终定位故障点,即所需提取的内容。本专利技术实施例,通过将程序摘要技术,与调试技术相结合,通过自动生成程序摘要,依赖于程序摘要缩小了需进行内容提取的范围,提高了调试效率。下面参考附图描述本专利技术实施例的内容提取方法和装置。图1为本专利技术实施例所提供的一种内容提取方法的流程示意图。如图1所示,本实施例可以由计算机设备执行,该计算机设备可以是独立的计算机设备,也可以是分布式的计算机设备,本实施例中对此不作限定。步骤101,运行应用程序,以确定所述应用程序运行正常时的第一输入数据,以及运行异常时的第二输入数据。具体地,每一个测试用例具体为一个测试函数,该测试函数指定了输入数据和输出数据。将每一测试用例的输入数据,输入应用程序进行测试,得到应用程序的输出结果。在输出数据与输出结果相匹配的情况下,确定应用程序通过测试,将该测试用例作为第一测试用例,该第一测试用例的输入数据记为第一输入数据,否则,确定应用程序未通过测试,将该测试用例作为第二测试用例,该第二测试用例的输入数据记为第二输入数据。需要说明的是,针对大型的软件项目来说会有几个阶段的测试:单元测试、集成测试、在线测试等等,本专利技术实施例中均是单元测试,即独立测试大型软件系统中的独立功能模块。步骤102,根据执行第一输入数据时应用程序中各程序段的第一运行数据,生成各程序段的程序摘要。其中,程序摘要用于指示对应程序段的第一运行数据符合的规律,这个规律是不应当随测试用例中输入数据的改变而改变的。作为一种可能的实现方式,程序摘要可以包括程序不变量关系。程序不变量关系主要包含数值比较关系(>、>=、==、<、<=、!=)、逻辑判断关系(&&、||)以及两者之间的线性组合关系。不同的应用场景下程序不变量关系会有所不同。作为一种可能的实现方式,可以采用Daikon工具生成各程序段的程序本文档来自技高网...

【技术保护点】
1.一种内容提取方法,其特征在于,所述方法包括以下步骤:运行应用程序,以确定所述应用程序运行正常时的第一输入数据,以及运行异常时的第二输入数据;根据执行所述第一输入数据时所述应用程序中各程序段的第一运行数据,生成各程序段的程序摘要;所述程序摘要用于指示对应程序段的第一运行数据符合的规律;将执行所述第二输入数据时各程序段的第二运行数据,与对应程序段的程序摘要进行比对,以确定出所述第二运行数据与对应的程序摘要不相符合的目标程序段;根据所述目标程序段进行内容提取。

【技术特征摘要】
1.一种内容提取方法,其特征在于,所述方法包括以下步骤:运行应用程序,以确定所述应用程序运行正常时的第一输入数据,以及运行异常时的第二输入数据;根据执行所述第一输入数据时所述应用程序中各程序段的第一运行数据,生成各程序段的程序摘要;所述程序摘要用于指示对应程序段的第一运行数据符合的规律;将执行所述第二输入数据时各程序段的第二运行数据,与对应程序段的程序摘要进行比对,以确定出所述第二运行数据与对应的程序摘要不相符合的目标程序段;根据所述目标程序段进行内容提取。2.根据权利要求1所述的内容提取方法,其特征在于,所述根据所述目标程序段进行内容提取,包括:获取所述第二输入数据对应的程序执行树;其中,所述程序执行树中的节点,用于指示执行所述第二输入数据时对应程序段的第二运行数据;所述程序执行树中各节点之间的连接关系,用于指示对应程序段的调用关系;查询所述程序执行树中所述目标程序段对应的目标节点,以及所述目标节点的各级子节点;请求用户端确认所述目标节点对应的目标程序段是否有误;在确认结果为所述目标程序段有误的情况下,若各级子节点对应程序段的第二运行数据与相应程序段的程序摘要相符合,对所述目标程序段的内容进行提取。3.根据权利要求2所述的内容提取方法,其特征在于,所述请求用户端确认所述目标节点对应的目标程序段是否有误之后,还包括:在确认结果为所述目标程序段无误的情况下,从各级子节点中,查询第二运行数据与相应程序段的程序摘要不相符合的目标子节点;请求所述用户端继续确认所述目标子节点对应程序段是否有误;在确认结果为所述目标子节点对应程序段有误的情况下,若所述目标子节点为叶子节点,或者,所述目标子节点下的各级子节点对应程序段的第二运行数据符合相应程序段的程序摘要,对所述目标子节点对应程序段的内容进行提取。4.根据权利要求2所述的内容提取方法,其特征在于,所述请求所述用户端确认所述目标子节点对应程序段是否有误之后,还包括:在确认结果为所述目标子节点对应程序段无误的情况下,若所述目标子节点为叶子节点,或者,所述目标子节点下的各级子节点对应程序段的第二运行数据均符合相应程序段的程序摘要,对所述第二输入数据进行更新;根据各程序段的第一运行数据,以及执行更新后的第二输入数据时所述应用程序中各程序段的运行数据,重新生成各程序段的程序摘要。5.根据权利要求4所述的内容提取方法,其特征在于,所述更新后的第二输入数据与更新前...

【专利技术属性】
技术研发人员:王杰祝清鲁桂宇怀夏可周立
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1