CN105095091B - 一种基于倒排索引技术的软件缺陷代码文件定位方法 - Google Patents
一种基于倒排索引技术的软件缺陷代码文件定位方法 Download PDFInfo
- Publication number
- CN105095091B CN105095091B CN201510610763.2A CN201510610763A CN105095091B CN 105095091 B CN105095091 B CN 105095091B CN 201510610763 A CN201510610763 A CN 201510610763A CN 105095091 B CN105095091 B CN 105095091B
- Authority
- CN
- China
- Prior art keywords
- file
- code
- keyword
- code file
- defect
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于倒排索引技术的软件缺陷代码文件定位方法,属于计算机软件测试和维护技术领域,该方法的步骤1)汇总软件***中的代码文件;步骤2)对代码文件记录分词;步骤3)读入缺陷报告;步骤4)在倒排索引表中检索每一个关键词;步骤5)根据关键词评分对文件索引项排序,定位包含缺陷的代码文件。本发明通过关键词查询和统计推荐高风险的代码文件,能够快速准确地定位包含缺陷的软件代码文件,适用于大型软件***的测试和维护工作;同时本发明计算简单,适用于不同类型的编程语言,及不同规模的计算机软件,具有扩展性和适应性且便于使用并行算法,能快速有效地分析和处理大量的缺陷报告信息,进而有效的提高软件缺陷定位的效能。
Description
技术领域
本发明属于计算机应用领域,具体涉及计算机软件测试和维护过程中,根据缺陷和问题报告,定位和检索包含缺陷的代码文件的方法。
背景技术
计算机软件***在开发和维护过程中不可避免地产生软件缺陷,缺陷定位是软件调试过程中一件很困难的工作,对大规模软件***更是如此。软件缺陷定位多年来一直是软件工程研究领域中的一个热点问题。缺陷定位利用程序执行信息和缺陷(问题)报告,预测缺陷代码可能存在的范围,辅助开发人员找到缺陷位置。当前软件***规模越来越大,代码文件越来越多,根据缺陷报告内容,从海量的代码文件中定位到缺陷代码的过程可谓是大海捞针。此外,在软件开发周期中,庞大的软件规模和有限的开发和测试成本之间也形成反差。因此,需要设计一种高效的软件缺陷定位方法,基于缺陷报告,在大量的代码文件中快速检索和定位包含缺陷的软件代码文件。
目前,缺陷代码定位仍然以人工定位和经验判定为主,这类方法不仅耗费时间和成本,且不可重复。传统的自动软件缺陷定位多利用交互式的调试工具,需要大量人工干预,定位效率低,难以满足和适应大规模软件***的调试需求。近年来,研究者分别提出基于谓词的统计学缺陷定位方法(Predicates Based Statistical Debugging)、基于程序谱的缺陷定位方法、以及统计缺陷定位(Statistical Fault Localization)方法。这些方法需要获取测试执行过程的动态信息,包括语句、谓词、分支或信息流覆盖数据等,适用于小范围语句级的软件缺陷定位,尚不能满足大规模软件***在代码文件级的缺陷定位要求。
发明内容
发明所要解决的技术问题是提供一种在大量代码文件中快速检索和定位包含缺陷的软件代码文件的方法,进而提高软件测试维护的性能和效率。
本发明所述一种基于倒排索引技术的软件缺陷代码文件定位方法,包括以下步骤,
步骤1)汇总软件***中的代码文件,处理每个代码文件,生成代码文件记录;
步骤2)对代码文件记录分词,应用代码分词技术和工具,将代码行内容分割成单词;过滤掉其中的无关词;组织文件索引项,建立倒排索引表;
步骤3)读入缺陷报告,应用分词技术和工具,将缺陷报告内容分割成单词;过滤掉无关词;将剩余的单词作为缺陷的关键词,输出关键词列表;
步骤4)在倒排索引表中检索每一个关键词,汇总检索到的文件索引项;处理流程是:首先对缺陷报告的每一个关键词,检索倒排索引表,得到对应的关键词记录;然后提取关键词记录中的文件索引项,加入到文件索引项列表中;最后按照文件索引项中的文件路径名聚类,将针对同一个代码文件的文件索引项组织在一起;
步骤5)根据关键词评分对文件索引项排序,定位包含缺陷的代码文件;处理流程是:首先合并具有相同文件路径名的文件索引项(指向同一个代码文件),累加其中的相关度评分,同时串接位置信息;然后根据相关度评分,按从大到小为合并后的文件索引项排序;最后推荐具有高评分值的文件索引项对应的代码文件,并提示关键词在代码文件中的位置。
上述步骤1)中的代码文件记录CodeRecord可以定义为一个二元组:CodeRecord::= <PathName, [Line]>,其中PathName是代码文件的文件路径名;[Line]表示一个或多个Line,指文件中的所有代码行;Line是一个二元组:Line ::= <Offset, String>,其中Offset是代码行相对于文件首部的偏移量,以字节为单位计数;String表示代码行的内容,用字符串表示。
上述步骤2)和3)中的无关词包含以下五种类型:1)保留字:指代码编程语言预定义的保留字,例如C语言中的“int, float, class, public, return, while, include”等;2)注释标记:指标记代码注释内容的特殊字符,例如C语言中的“//, /**/”等;3)标点符号:指代码行和注释行中出现的标点符号,例如“; , . ! > =”等;4)停用词:指代码注释内容中的助词和连接词,例如中文注释中的“啊、的、比如、并且、不但”等;5)预定义符或代码签名:指代码编程语言中的宏定义标记或预编译指令,例如C语言中的“@param, @user, @return”等。
上述步骤2)、4)和5)中的文件索引项指关键词对于单个代码文件的索引数据结构FileInfo,FileInfo定义为一个三元组:FileInfo ::= <PathName, Score, [Position]>,其中PathName是代码文件的文件路径名;Score是关键词对于该代码文件的相关度评分;[Position]是一个或多个Position,代表关键词在代码文件中的位置,Position定义为一个三元组:Position ::= <isName, start, end>,其中isName指Position针对代码文件名称(取值1),或者针对代码文件内容(取值0);start和end分别是关键词的起始和终止位置,按字节计算。
上述步骤2)中建立倒排索引表的处理流程分两个步骤:第一个步骤是过滤掉无关词后,将代码行中剩余的词作为关键词(Term),为每一个关键词,建立针对单个代码文件的文件索引项FileInfo;第二个步骤是在建立关键词对每个代码文件的文件索引项后,汇总软件***中的所有代码文件,建立以关键词为检索单位的倒排索引表;索引表由关键词记录TermRecord组成,按照关键词名称的英文字母或者中文拼音顺序排序;关键词记录TermRecord定义为一个二元组:TermRecord ::= <Term, [FileInfo]>,其中Term是关键词的名称;[FileInfo]是一个或多个针对单个文件的文件索引项。
上述步骤2)和5)中关键词对于代码文件的相关度评分Score的计算公式是:,其中isName表示关键词是否出现在代码文件名中(1表示出现、0表示未出现);num_Content表示关键词在代码文件内容中的出现次数;num_File指有多少个不同的代码文件中出现过该关键词。
与现有技术相比,本发明一种基于倒排索引技术的软件缺陷代码文件定位方法的有益效果在于:1、本发明应用倒排索引、TF-IDF、以及MapReduce等技术,其中倒排索引(Inverted index)是一种反向索引技术,存储全文搜索环境下单词(词组)在多个文档中的位置映射,构成文件级检索***中常用的索引结构;TF-IDF(term frequency–inversedocument frequency)是一种统计方法,用于评估单词对于一个文挡(或文档集合)的重要(关联)程度,TF-IDF加权常被应用于搜索引擎,作为文件与用户查询之间相关程度的度量或评级;MapReduce是大数据背景下的一种并行运算框架,包含Map(映射)和Reduce(归约)两个阶段,通过任务的分解和并行执行,运用“分而治之”的思想,进而实现加快任务处理速度的目的; 2、本发明应用倒排索引技术和统计方法,通过关键词查询和统计推荐高风险的代码文件,能够快速准确地定位包含缺陷的软件代码文件,适用于大型软件***的测试和维护工作;同时本发明计算简单,适用于不同类型的编程语言,以及不同规模的计算机软件,具有扩展性和适应性;便于使用并行算法,能快速有效地分析和处理大量的缺陷报告信息,进而有效的提高软件缺陷定位的效能。
附图说明
图1是本发明的一种基于倒排索引技术的软件缺陷代码文件定位方法的总体框架;
图2是本发明的一种基于倒排索引技术的软件缺陷代码文件定位方法的汇总软件代码文件并建立倒排索引表的处理流程图;
图3是本发明的一种基于倒排索引技术的软件缺陷代码文件定位方法的软件代码文件和对应的代码文件记录的示例图;
图4是本发明的一种基于倒排索引技术的软件缺陷代码文件定位方法的根据缺陷报告来检索倒排索引表定位缺陷代码文件的处理流程图;
图5是本发明的一种基于倒排索引技术的软件缺陷代码文件定位方法的一个Linux操作***缺陷报告的示例图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明。
如图1所示,基于倒排索引技术的软件缺陷代码文件定位方法的总体技术框架,本发明的输入是软件***中包含的所有源代码文件,以及在测试或使用过程中出现的缺陷报告;本发明的输出是按照缺陷关键词评分排序的软件代码文件,快速检索和定位包含缺陷的代码文件。本发明的方法包含五个步骤:其一汇总软件***中的代码文件,处理每个代码文件,生成代码文件记录;其二对代码文件记录分词,过滤其中的无关词,建立倒排索引表;其三读入缺陷报告,过滤无关词,生成缺陷关键词列表;其四在倒排索引表中检索每一个关键词,汇总检索到的文件索引项;其五根据关键词评分对文件索引项排序,定位包含缺陷的代码文件。
如图2所示为本发明的第一个步骤,汇总软件代码文件以生成代码文件记录的处理流程(如图2中部分1所示),其中软件代码文件是指软件***开发过程中的所有源代码文件。对于其中的每一个代码文件,分析文件内容和组成,生成对应的代码文件记录。
如图3所示是一个示例程序“HelloWorld.c”及其对应的代码文件记录的示意图;一个代码文件记录CodeRecord可以定义为一个二元组:
CodeRecord ::= <PathName, [Line]>,
其中PathName是代码文件的全路径名;[Line]表示一个或多个Line,指文件中的所有代码行;Line是一个二元组:
Line ::= <Offset, String>,
其中Offset是代码行相对于文件首部的偏移量,以字节为单位计数;String表示代码行的内容,用字符串表示。
本发明的第二个步骤,对代码文件分词并建立倒排索引表的处理流程(如图2中的部分2所示),首先对代码文件记录的内容进行分词操作,分词的对象是代码文件记录中的所有代码行,包括源代码行和注释行;分词操作可以应用已有的代码分词技术和工具,例如IKAnalyzer(http://code.***.com/p/ik-analyzer/);将所有代码行中的字符串分割成单词,对应如图3中所示的代码行,
进行分词操作后,得到如下内容,
然后对分词后的代码文件记录进行过滤操作,删除其中的无关词;无关词包含以下五种类型,1)保留字:指代码编程语言预定义的保留字,例如C语言中的“int, float,class, public, return, while, include”等;2)注释标记:指标记代码注释内容的特殊字符,例如C语言中的“//, /**/”等;3)标点符号:指代码行和注释行中出现的标点符号,例如“; , . !> =”等;4)停用词:指代码注释内容中的助词和连接词,例如中文注释中的“啊、的、比如、并且、不但”等;5)预定义符或代码签名:指代码编程语言中的宏定义标记或预编译指令,例如C语言中的“@param, @user, @return”等。
对上述代码行,删除无关词(标点符号和保留字)后,得到的结果如下,
过滤无关词后,将代码行中剩余的词作为关键词(Term),为每一个关键词,建立针对单个代码文件的文件索引项FileInfo;FileInfo定义为一个三元组:
FileInfo ::= <PathName, Score, [Position]>,
其中PathName是代码文件的全路径名;Score是关键词对于该代码文件的相关度评分;[Position]是一个或多个Position,代表关键词在代码文件中的位置,定义为一个三元组:
Position ::= <isName, start, end>,
其中isName指Position针对代码文件名称(取值1),或者针对代码文件内容(取值0);start和end分别是关键词的起始和终止位置,按字节计算。
按如图3所示的示例程序“HelloWorld.c”,为关键词“HelloWorld”建立的文件索引项描述如下,
上述例子中,[Position]的第一项“1,0,10”表示关键词“HelloWorld”出现的第一个位置在代码文件名中,起始和终止字节分别是第0和第10字节;第二项“0,35,45”对应代码文件内容中,偏移位置为18的代码行中的出现位置,起始和终止字节分别是第35和第45字节。依次类推,关键词“HelloWorld”在代码文件“HelloWorld.c”中一共出现了4次。
为计算关键词对于代码文件的相关度评分Score,依据TF-IDF的方法,计算公式如下:
(1)
其中isName表示关键词是否出现在代码文件名中(1表示出现、0表示未出现);num_Content表示关键词在代码文件内容中的出现次数;num_File指有多少个不同的代码文件中出现过该关键词。与传统的TF-IDF统计方法相比较,采用公式(1)计算简单高效,且在软件***维护过程中增加、删除或修改代码文件时,只需要很少的计算量就可以重新校准Score值。
以关键词“HelloWorld”为例,假设它在软件***的两个代码文件中出现(包括“HelloWorld.c”),那么按照公式(1),它对于“HelloWorld.c”的相关度评分是:
。
最后,在建立关键词对每个代码文件的索引项后,汇总软件***中的所有代码文件,建立以关键词为检索单位的倒排索引表。索引表由关键词记录TermRecord组成,关键词记录TermRecord定义为一个二元组:
TermRecord ::= <Term, [FileInfo]>,
其中Term是关键词的名称,如“HelloWorld”;[FileInfo]是一个或多个针对单个文件的文件索引项。
以关键词“HelloWorld”为例,假设另外一个出现该关键词的代码文件是“main.c”,在其内容中出现了1次,于是对应的相关度评分Score = 0.5。在此基础上,可以构造“HelloWorld”关键词记录如下(其中符号“&”用于连接不同的位置信息),
在倒排索引表中,关键词记录按照关键词的英文字母或者中文拼音顺序排序,可以进一步采用二级索引和哈希表技术组织倒排索引表,以进一步提升检索性能。其中,对于包含海量代码文件的大型软件***,如Eclipse和Linux***等,可以采用Mapreduce架构设计并行算法完成倒排索引表的构建:在Mapper阶段,完成代码分词和无关词过滤;在Reducer阶段,计算关键词的相关度评分并封装关键词记录。
本发明的第三个步骤,读入缺陷报告并解析缺陷关键词的处理流程(如图4中的部分1所示),首先对缺陷报告内容进行分词操作,然后采用步骤2中的方法过滤无关词,最后将剩余的单词作为缺陷关键词,输出缺陷关键词列表。
如图5所示为一个Linux***软件缺陷报告的示例,从中可以解析的关键词列表如下,
本发明的第四个步骤,检索缺陷关键词并汇总关键词记录中的文件索引项的处理流程(如图4中的部分2所示),首先对每一个缺陷关键词,检索倒排索引表,得到对应的关键词记录;然后提取关键词记录中的文件索引项FileInfo,加入到文件索引项列表中;最后按照文件索引项FileInfo中的文件路径名PathName聚类,将针对同一个代码文件的文件索引项组织在一起。
根据如图5所示的缺陷报告示例,针对上述的三个缺陷关键词,分别检索出三个关键词记录,汇总其中的文件索引项并按照文件路径名组织,可以得到如下的文件索引项列表如下(部分),
本发明的第五个步骤,根据关键词评分对文件索引项排序,辅助定位包含缺陷的代码文件的处理流程(如图4中的部分3所示),首先合并具有相同文件路径名的文件索引项(指向同一个代码文件),累加其中的相关度评分,同时串接位置信息;然后根据相关度评分,按从大到小为合并后的文件索引项排序;最后推荐具有高评分值的文件索引项对应的代码文件,并提示缺陷关键词所处的位置,优先检查可能存在的软件缺陷。
根据如图5所示的缺陷报告示例,针对其中的三个缺陷关键词,合并后再排序的文件索引项列表如下(部分),
最终,针对如图5所示的缺陷报告,代码文件“migrate.c”在三个缺陷关键词的检索下得到的评分值最高,其次分别是“page.c”和“core.c”,同时给出缺陷关键词在代码文件中的位置,辅助定位软件缺陷。
综上所述,本发明应用倒排索引技术,首先解析软件***中代码文件的关键词,应用统计方法计算关键词对代码文件的相关度评分;然后结合关键词在代码文件中的位置,建立关键词记录并据以构建倒排索引表,通过解析缺陷报告中的缺陷关键词,检索倒排索引表,汇总文件索引项;最后按照累加的相关度评分,对检索到的代码文件排序,从而在大量文件中推荐高风险的代码文件,同时提示缺陷关键词在代码文件中位置,辅助定位所包含的软件缺陷;本发明能够快速准确地定位包含缺陷的软件代码文件,适用于大型软件***的测试和维护工作,且本发明计算简单,适用于不同类型的编程语言,以及不同规模的计算机软件,具有扩展性和适应性,同时本发明方便应用并行算法,能快速有效地分析和处理大量的缺陷报告信息,提高软件缺陷定位的效能。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。
Claims (1)
1.一种基于倒排索引技术的软件缺陷代码文件定位方法,其特征在于:包括以下步骤,
步骤1)汇总软件***中的代码文件,处理每个代码文件,生成代码文件记录,该代码文件记录CodeRecord定义为一个二元组:
CodeRecord::=<PathName,[Line]>,
其中PathName是代码文件的文件路径名;[Line]表示一个或多个Line,指文件中的所有代码行;Line是一个二元组:
Line::=<Offset,String>,
其中Offset是代码行相对于文件首部的偏移量,以字节为单位计数;String表示代码行的内容,用字符串表示;
步骤2)对代码文件记录分词,应用代码分词技术和工具,将代码行内容分割成单词;过滤掉其中的无关词;组织文件索引项,建立倒排索引表;
所述无关词包含以下五种类型,1)保留字:指代码编程语言预定义的保留字;2)注释标记:指标记代码注释内容的特殊字符;3)标点符号:指代码行和注释行中出现的标点符号;4)停用词:指代码注释内容中的助词和连接词;5)预定义符或代码签名:指代码编程语言中的宏定义标记或预编译指令;
所述文件索引项指关键词对于单个代码文件的索引数据结构FileInfo,FileInfo定义为一个三元组:
FileInfo::=<PathName,Score,[Position]>,
其中PathName是代码文件的文件路径名;Score是关键词对于该代码文件的相关度评分;[Position]是一个或多个Position,代表关键词在代码文件中的位置,Position定义为一个三元组:
Position::=<isName,start,end>,
其中isName指Position针对代码文件名称,取值1;或者针对代码文件内容,取值0;start和end分别是关键词的起始和终止位置,按字节计算;
上述关键词对于代码文件的相关度评分Score的计算公式是:
Score=(10×isName+1×∑num_Content)/∑num_File,
其中isName表示关键词是否出现在代码文件名中,1表示出现,0表示未出现;num_Content表示关键词在代码文件内容中的出现次数;num_File指有多少个不同的代码文件中出现过该关键词;
所述建立倒排索引表的处理流程分为两个步骤,第一个步骤是过滤掉无关词后,将代码行中剩余的词作为关键词Term,为每一个关键词,建立针对单个代码文件的文件索引项FileInfo;第二个步骤是在建立关键词对每个代码文件的文件索引项后,汇总软件***中的所有代码文件,建立以关键词为检索单位的倒排索引表;索引表由关键词记录TermRecord组成,按照关键词名称的英文字母或者中文拼音顺序排序;关键词记录TermRecord定义为一个二元组:
TermRecord::=<Term,[FileInfo]>,
其中Term是关键词的名称;[FileInfo]是一个或多个针对单个文件的文件索引项;
步骤3)读入缺陷报告,应用分词技术和工具,将缺陷报告内容分割成单词;过滤掉无关词;将剩余的单词作为缺陷的关键词,输出关键词列表;
步骤4)在倒排索引表中检索每一个关键词,汇总检索到的文件索引项;处理流程为,首先对缺陷报告的每一个关键词,检索倒排索引表,得到对应的关键词记录;然后提取关键词记录中的文件索引项,加入到文件索引项列表中;最后按照文件索引项中的文件路径名聚类,将针对同一个代码文件的文件索引项组织在一起;
步骤5)根据关键词评分对文件索引项排序,定位包含缺陷的代码文件;处理流程为,首先合并具有相同文件路径名的文件索引项,使其指向同一个代码文件,累加其中的相关度评分,同时串接位置信息;然后根据相关度评分,按从大到小为合并后的文件索引项排序;最后推荐具有高评分值的文件索引项对应的代码文件,并提示关键词在代码文件中的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510610763.2A CN105095091B (zh) | 2015-09-23 | 2015-09-23 | 一种基于倒排索引技术的软件缺陷代码文件定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510610763.2A CN105095091B (zh) | 2015-09-23 | 2015-09-23 | 一种基于倒排索引技术的软件缺陷代码文件定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105095091A CN105095091A (zh) | 2015-11-25 |
CN105095091B true CN105095091B (zh) | 2018-01-09 |
Family
ID=54575586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510610763.2A Active CN105095091B (zh) | 2015-09-23 | 2015-09-23 | 一种基于倒排索引技术的软件缺陷代码文件定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095091B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106997320A (zh) * | 2016-01-22 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 代码评审过程中的代码显示方法和装置 |
CN107844414A (zh) * | 2016-09-21 | 2018-03-27 | 南京大学 | 一种基于缺陷报告分析的跨项目、并行化缺陷定位方法 |
CN108595489A (zh) * | 2018-03-15 | 2018-09-28 | 北京雷石天地电子技术有限公司 | 一种数据检索方法及装置 |
CN108470002B (zh) * | 2018-03-19 | 2022-05-03 | 南京邮电大学 | 一种面向Selenium IDE的XML测试脚本质量评判方法 |
CN111638901A (zh) * | 2020-05-11 | 2020-09-08 | 紫光云技术有限公司 | 一种针对云产品bug自动定位的处理装置及方法 |
CN115878321B (zh) * | 2022-12-14 | 2023-11-10 | 成都信息工程大学 | 一种基于gpu加速的文件搜索方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231614A (zh) * | 2008-02-02 | 2008-07-30 | 南京大学 | 一种基于执行轨迹块相似度的软件缺陷定位方法 |
CN101866316A (zh) * | 2010-06-23 | 2010-10-20 | 南京大学 | 一种基于相对冗余测试集约简的软件缺陷定位方法 |
CN103309811A (zh) * | 2013-06-27 | 2013-09-18 | 南京大学 | 一种基于测试执行记录快速定位软件代码缺陷的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103597B2 (en) * | 2002-10-03 | 2006-09-05 | Mcgoveran David O | Adaptive transaction manager for complex transactions and business process |
US20060265188A1 (en) * | 2005-05-05 | 2006-11-23 | International Business Machines Corporation | Methods and apparatus for defect reduction analysis |
-
2015
- 2015-09-23 CN CN201510610763.2A patent/CN105095091B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231614A (zh) * | 2008-02-02 | 2008-07-30 | 南京大学 | 一种基于执行轨迹块相似度的软件缺陷定位方法 |
CN101866316A (zh) * | 2010-06-23 | 2010-10-20 | 南京大学 | 一种基于相对冗余测试集约简的软件缺陷定位方法 |
CN103309811A (zh) * | 2013-06-27 | 2013-09-18 | 南京大学 | 一种基于测试执行记录快速定位软件代码缺陷的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105095091A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095091B (zh) | 一种基于倒排索引技术的软件缺陷代码文件定位方法 | |
CN104933027B (zh) | 一种利用依存分析的开放式中文实体关系抽取方法 | |
CN103544255B (zh) | 基于文本语义相关的网络舆情信息分析方法 | |
CN103246644B (zh) | 一种网络舆情信息处理方法和装置 | |
CN108121829A (zh) | 面向软件缺陷的领域知识图谱自动化构建方法 | |
CN103077164A (zh) | 文本分析方法及文本分析器 | |
WO2014000518A1 (zh) | 一种舆情信息展示***及方法 | |
CN104133855B (zh) | 一种输入法智能联想的方法及装置 | |
CN106919612A (zh) | 一种上线结构化查询语言脚本的处理方法及装置 | |
CN103294820B (zh) | 基于语义扩展的web页面归类方法和*** | |
CN106445906A (zh) | 领域词典中中长词词组的生成方法及装置 | |
CN110019641B (zh) | 一种医疗否定术语的检出方法及*** | |
CN109033322A (zh) | 一种多维数据的测试方法和装置 | |
CN107330111A (zh) | 基于通用形式化本体的领域本体的检索方法及装置 | |
CN105095436A (zh) | 数据源数据自动建模方法 | |
Mehta et al. | DOM tree based approach for web content extraction | |
CN109471934B (zh) | 基于互联网的金融风险线索发掘方法 | |
JP2010224984A5 (zh) | ||
CN110782955B (zh) | 从研究文献中提取天然产物数据信息的方法及*** | |
CN110705285B (zh) | 一种政务文本主题词库构建方法、装置、服务器及可读存储介质 | |
CN112860913A (zh) | 一种知识图谱的本体创建方法 | |
TWI396990B (zh) | 引用文獻記錄擷取系統、方法及程式產品 | |
Li et al. | Practical study of deterministic regular expressions from large-scale XML and schema data | |
JP2008065468A (ja) | テキスト多重分類装置、テキストを多重分類する方法、プログラムおよび記憶媒体 | |
CN105786929A (zh) | 一种信息监测方法及装置 |
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 |