CN104699611B - 一种基于开源软件缺陷代码修改模式的缺陷信息提取方法 - Google Patents
一种基于开源软件缺陷代码修改模式的缺陷信息提取方法 Download PDFInfo
- Publication number
- CN104699611B CN104699611B CN201510119596.1A CN201510119596A CN104699611B CN 104699611 B CN104699611 B CN 104699611B CN 201510119596 A CN201510119596 A CN 201510119596A CN 104699611 B CN104699611 B CN 104699611B
- Authority
- CN
- China
- Prior art keywords
- code
- defect
- statement
- line
- information
- 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
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明是一种基于开源软件缺陷代码修改模式的缺陷信息提取方法,用于提取开源软件演化过程中的缺陷信息。本方法分析开源软件在演化过程中的缺陷信息,特别是代码的变更情况,总结归纳出缺陷代码修改模式;获取待测开源软件演化过程的变更代码信息,将变更代码信息与缺陷代码修改模式进行对比;根据变更代码信息与缺陷代码修改模式的匹配度来确定其是否包含缺陷信息,并提取出缺陷代码。本发明能够从开源软件演化信息中提取大量的缺陷代码样例,为软件缺陷的分析提供了可用的数据支持。
Description
技术领域
本发明应用于软件缺陷分析领域,是一种基于开源软件缺陷代码修改模式的缺陷信息提取方法。
背景技术
随着现代信息技术的发展,计算机软件的应用已经扩展到经济、国防的各个部门,在航空、航天、核能、通讯等关键领域的应用也日益广泛,这些部门或领域都需要日益复杂的软件来维持其正常的工作。软件一旦产生失效,就会对这些工作带来严重的后果,在某些高危系统中甚至会导致灾难性的后果。软件缺陷是导致软件失效的根本原因,对软件缺陷的研究可以提升软件质量。由于缺陷的数目和种类都很多,需要采集足够数量的软件缺陷数据,采用合适的缺陷分析方法,才能对软件缺陷进行深入研究。
近年来,开源软件网站的发展汇集了大量的高水平编程人员,开源软件的数量也越来越多。这些开源软件或通过个人努力或通过集体开发不断更新,逐步完善,积累了大量与软件缺陷相关的历史信息,即版本演化信息。这些信息通常包含软件各版本的源代码,更改的文本记录和变更代码等,能一定程度上反映软件的状态,为后续开发工作提供指导。因此,开源软件的演化过程信息可作为软件缺陷分析研究的数据来源,而现在对开源软件缺陷信息的分析还很少,因此可以借鉴相关的软件缺陷分析方法对开源软件信息进行分析,并采集缺陷数据。
软件缺陷模式是对软件中出现的重复或类似的缺陷进行抽象得出的规律描述。对已有软件缺陷的分析可知,很大数量的缺陷是重复的,或表现形式相同,或产生原因近似,即缺陷及其产生过程遵循一定的规律。通过对其规律的总结与归纳,可获取软件的缺陷模式。利用软件缺陷模式可避免类似缺陷的引入及发现类似的缺陷。开源软件演化过程的变更代码信息也遵循一定的更改规律,可以通过对这些规律的总结归纳得到其缺陷代码修改模式,从而获取开源软件中的缺陷信息。
因此,可以对开源软件演化过程信息进行分析,提取出其中的缺陷信息及缺陷代码样例,一方面能够为软件缺陷分析提供数据基础,另一方面提出了一种获取软件缺陷信息的新途径,在一定程度上促进了软件缺陷研究领域的研究工作。
发明内容
本发明针对目前软件缺陷数据较少,且开源软件演化过程信息未得到充分利用的情况,提出了一种基于开源软件缺陷代码修改模式的缺陷信息提取方法。
本发明提出的一种基于开源软件缺陷代码修改模式的缺陷信息提取方法,包括以下步骤:
步骤1:根据开源软件演化过程信息,提取缺陷代码修改模式;
根据其变更代码的增删情况,归纳该类缺陷代码修改模式的缺陷特征项,针对单行语句的特征提出基础缺陷特征项,针对多行语句间的关系提出对比缺陷特征项。基础缺陷特征项包括代码增删标识、关键词、操作符和语句类型;对比缺陷特征项包括语句操作数变更、语句操作符变更、函数调用参数变更、以及控制语句内容变更。将缺陷代码修改模式信息以xml形式存储。
步骤2:分析待测的开源软件的变更代码信息,获取各行代码的信息,包括代码编号、增删标志、关键词、操作符、语句类型及语句内容。
步骤3:将变更代码信息与缺陷代码修改模式进行匹配,包括基础缺陷特征项匹配和对比缺陷特征项进行匹配。根据匹配结果从变更代码信息中提取出符合缺陷代码修改模式的缺陷代码样例。
本发明与现有技术相比,具有以下明显优势:
本发明提出的缺陷信息提取方法,能够针对开源软件的演化过程,根据其缺陷信息变更代码的特征进行分析,是通过比较各版本间的变更差异进行直接分析,所提出的缺陷代码修改模式与传统的软件缺陷模式有一定区别;通过该方法能够有效地提取出开源软件演化信息中的类似的缺陷信息,且能实现自动化的采集工作。能够为软件缺陷分析提供数据支持。
附图说明
图1是本发明开源软件缺陷信息提取方法的整体步骤示意图;
图2是本发明的缺陷代码修改模式的xml表示示意图;
图3是本发明的开源软件变更代码信息分析流程示意图;
图4是本发明的缺陷代码修改模式匹配流程示意图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明作进一步的详细描述。
本发明针对软件缺陷分析中缺陷数据不足,同时开源软件演化过程包含大量缺陷信息这一情况,在借鉴软件缺陷分类,软件缺陷模式等软件缺陷分析方法的基础上,提出了基于开源软件缺陷代码修改模式的缺陷信息提取方法,根据对开源软件演化过程中的缺陷更改形式的归纳总结,得到其缺陷代码的修改模式,然后获取演化信息中变更代码的相关内容,将其与已有的缺陷代码修改模式进行匹配,从开源软件演化信息的变更代码中提取出缺陷代码样例信息。
本发明基于开源软件缺陷代码修改模式的缺陷信息提取方法主要由三个部分构成:开源软件缺陷代码修改模式的获取,开源软件演化过程变更代码的分析,以及开源软件缺陷代码的提取。
在基于开源软件缺陷代码修改模式的缺陷信息提取过程中,对缺陷代码修改模式的定义如下:
缺陷代码修改模式是指在开源软件演化过程信息中重复出现的具有一定规律的缺陷代码修改形式的统一描述。
基于开源软件缺陷代码修改模式的缺陷信息提取方法如图1所示,主要包括三个步骤:开源软件缺陷代码修改模式的提取,开源软件变更代码的分析,开源软件缺陷代码样例的提取,下面详细介绍每一步骤。
步骤1:开源软件缺陷代码修改模式的提取,是指对开源软件演化过程中缺陷信息的变更代码内容进行分析和其规律的归纳总结,得到其缺陷代码修改模式的过程。根据开源软件缺陷信息的变更代码的增删情况,归纳该类缺陷代码修改模式的缺陷特征项,针对单行语句的特征提出基础缺陷特征项,针对多行语句间的关系提出对比缺陷特征项。并将缺缺陷代码修改模式信息以xml形式存储
开源软件缺陷信息的变更代码给出了对该次变更的代码增删等修改情况。若有多个变更代码的内容都出现相同形式的变更,则认为其属于同一类型的代码修改方式,结合对这些缺陷变更的文本描述,对其进行抽象归纳可得到缺陷代码修改模式。开源软件缺陷代码修改模式内容包括缺陷代码修改模式的名称,缺陷代码修改模式的描述以及缺陷特征项。
1)缺陷代码修改模式的名称,它是对该类缺陷信息代码修改规律的总结,指出该类缺陷信息的主要特征。
2)缺陷代码修改模式的描述,它是对开源软件缺陷进行修改的原因和修改过程的描述,便于工作人员对该类缺陷代码修改模式的初步了解。
3)缺陷特征项,它是对缺陷代码修改内容的具体阐释,表明了该类代码更改的主要内容和具体修改方式,是缺陷代码匹配的主要依据。缺陷特征项包括基础缺陷特征项和对比缺陷特征项两部分。a)基础缺陷特征项,它是缺陷代码修改模式中单行代码的特征。包括代码增删标识,关键词,操作符,语句类型4项信息。其中,代码增删标识提供了该行代码的改动情况,包括增添代码,删除代码,不变和其它;关键词和操作符提供了该行代码出现的关键词和操作符信息,如“if”,“else”,“=”等;语句类型包含编程语言中常见的声明语句,表达式语句,函数语句,控制语句等基本语句类型,以及空语句、注释语句、说明信息等其它语句类型。b)对比缺陷特征项,它是两行或多行语句间的比较特征。主要有语句操作数变更,语句操作符变更,函数调用参数变更,控制语句内容变更等信息。
对上述内容采用XML格式文档表示缺陷代码修改模式信息。图2是对缺陷代码修改模式的表示。通过XML形式的缺陷代码修改模式文档的半结构化描述,可以了解缺陷修改模式名称信息、描述信息和缺陷特征项信息。图2中,Name记录缺陷代码修改模式的名称,Description记录缺陷代码修改模式的描述,DefectFeature中是对缺陷特征项的描述,其中,Feature1,Feature2,……是对缺陷基础特征项的描述;CompareFeature是对对比缺陷特征项的描述。
其中基础缺陷特征项包括代码增删标志,关键词,操作符和语句类型4项,其文档表示,存储类型及内容如表1所示。
表1:缺陷代码修改模式基础缺陷特征项
对比缺陷特征项为多行语句之间的对比,以表达式形式给出。
步骤2:开源软件变更代码的分析,是指对待测的开源软件变更代码的内容进行提取的过程,目的是获取各行代码的信息。获取的信息主要包括代码编号、增删标志、关键词、操作符、语句类型以及各类型语句中的具体内容。其中代码编号是对各行代码的数字编号,增删标志是该行代码的增删情况,关键词和操作符是该行代码中包含的关键词和操作符内容。语句类型和内容存储了该行代码的类型和语句包含信息的详细情况,包括对声明语句、表达式语句、函数语句和控制语句四类语句的类型和内容进行存储。开源软件变更代码分析得到信息如表2所示。
表2:变更代码信息内容
开源软件的变更代码信息有特定的格式,在信息的提取过程中需要准备关键词表,以便对变更代码的信息进行获取。关键词表主要包括C++关键字、操作符和特殊识别符。关键词表如表3所示。
表3:变更代码信息提取关键词表
开源软件变更信息的分析流程如图3所示,对一次变更的变更代码信息,对其内容进行逐行分析,首先为该行代码进行编号,记录该编号值,然后获取其增删标识符,关键词和操作符信息,再根据语句中的内容判定语句类型和语句内容。获取语句类型和语句内容的具体步骤如下:
1)根据“+++”,“---”“diff--git”,“@@”,“index”等特殊识别符判定该行代码是否为说明内容,若是则该行代码的语句类型为说明语句,并开始进行下一行代码的判定。
2)根据“/*”,“*/”,“*”等注释符号判定该语句是否为注释信息,若是则该行语句类型为注释语句,并开始进行下一行代码的判定。
3)根据函数关键词扫描结果,若有“void”,“assert”等关键字,则认为此行语句为函数声明语句。将关键字存入函数名称,关键字后的内容存入函数参数。
4)若语句中的第一个词为基本数据类型关键词char,int,float,double或类型修饰关键字short,long,signed,unsigned,则该行代码的语句类型为声明语句。将关键字存入声明类型,关键字之后的数据存入声明内容。
5)若该行语句中有流程控制语句的关键词if,else,while,for等词,则语句类型为控制语句。将关键字存入控制字,该关键字后的内容存入控制语句内容。
6)除去以上几种类型,再继续判定语句。若该行代码有且仅有一个“=”,则语句类型为表达式语句。将“=”存入操作符,“=”左、右侧内容存入操作数中。
7)若该行语句无操作符,且有“(”与“)”符号,则该行语句类型为函数语句,将“(”之前的内容存入函数名称,“(”与“)”之间的内容存入函数参数中。
8)若该行语句都不满足上面1)~7)的判断,则语句类型为其它语句。
根据上述步骤,得到该次变更每一行代码的信息。变更代码信息是缺陷代码匹配的输入。
步骤3:缺陷代码修改模式的匹配,它是将变更代码信息与缺陷代码修改模式进行对比,找到符合缺陷代码修改模式的缺陷代码样例。缺陷代码修改模式匹配的主要包括基础特征项的匹配、对比缺陷特征项的匹配和缺陷代码的提取三部分,图4是变更代码信息与缺陷代码修改模式匹配流程图,首先进行基础缺陷特征项匹配,然后进行对比缺陷特征项匹配,最后进行缺陷代码提取。
1)基础缺陷特征项匹配,它是变更代码信息与基础缺陷特征项的比较过程。对每行变更代码进行比较,若某行语句的信息与某个基础缺陷特征项相同,则对该行语句进行标记。当变更代码信息都比较完成后,提取出所有符合基础缺陷特征项的代码。
2)对比缺陷特征项的匹配,它是符合基础缺陷特征项的变更代码间的比较过程。若语句信息满足某一个缺陷代码修改模式的全部基础缺陷特征项,则把所有符合该模式基础缺陷特征项语句的信息内容进行对比,例如变更代码中a、b句符合基础缺陷特征项1,c、d句符合基础缺陷特征项2,则进行a与c、a与d、b与c、以及b与d四次对比。提取出满足对比缺陷特征项的语句。若满足对比缺陷特征项的代码编号接近,在设定的范围内,则认为该段变更代码包含此类缺陷代码修改模式。因为符合缺陷代码修改模式的语句应该相邻或相近,需要保证代码的间隔在一定范围内,这样可减少误判几率。
3)缺陷代码的提取,它是根据匹配结果从变更代码中提取出符合缺陷代码修改模式的信息。当基础缺陷特征项和对比缺陷特征项都匹配好后,则将符合条件的变更代码内容导出,作为该缺陷代码修改模式的代码样例。
通过以上三大步骤得到的基于开源软件缺陷代码修改模式的缺陷信息提取方法适用于软件缺陷分析中。通过使用该方法对开源软件的缺陷代码样例进行提取,可以得到足够数量的缺陷信息,作为软件缺陷分析的数据基础。
下面通过实例验证来说明本发明基于开源软件缺陷信息提取方法的有效性。通过对开源软件网站Github中获取的开源软件演化过程变更代码信息,通过使用基于缺陷代码修改模式的缺陷信息提取工具对的变更代码进行分析,获取缺陷代码样例,对得到的缺陷代码样例进行判断,可判断本方法的准确性和可行性。具体实例验证步骤如下:
A.数据的准备。
1)开源软件实验对象的选取。从Github开源软件网站中选择了5个开源软件进行实例验证,选取的开源软件基本信息如表4所示。
表4:开源软件基本信息表
程序名称 | 更改总数 | 分析的信息数 | 编写语言 | 贡献者人数 |
Redis | 3549 | 200 | C++ | 112 |
aJson | 149 | 100 | C++ | 17 |
libgit2 | 6778 | 200 | C++ | 177 |
Capnproto | 884 | 100 | C++ | 23 |
i2cdevlib | 221 | 100 | C++ | 15 |
开源软件程序均为C++语言,因此总结的缺陷代码修改模式也是基于C++语言的。为了保证程序有足够的更改数和足够的普适性,每个开源软件的开发时间都不少于2年,并且开发人数在均为10人以上。
2)开源软件缺陷代码修改模式的提取。根据对开源软件演化过程缺陷信息的分析,总结出4个比较典型的缺陷代码修改模式,如表5所示。
表5:缺陷代码修改模式内容
B.缺陷代码的提取。
1)变更代码的分析,通过开源软件变更代码分析工具对上述5个开源软件的变更代码的内容进行提取。
2)缺陷代码的匹配,将变更代码与缺陷代码修改模式匹配,得到缺陷代码样例。
其中,对变更代码分析的结果示例如表6所示。
表6:变更代码提取内容示例
对该变更代码分析结果与缺陷代码修改模式进行匹配,可知其信息符合“删除赋值语句”(第9句),“增添if语句”(第15句)。“增添赋值语句”(第16,19句)三个基础缺陷特征项,同时符合“在if语句后增添赋值语句”的对比缺陷特征项。且其编号都比较接近,可知其符合“变量赋值前缺少if判定语句错误”的缺陷代码修改模式。因此将符合条件的语句进行提取,作为该类缺陷代码修改模式的缺陷代码样例。
C.实验结果分析
通过缺陷代码样例的提取,可以将开源软件变更代码中和缺陷代码修改模式相匹配的内容提取出来,提取出的缺陷代码样例如表7所示。
表7:提取的缺陷代码样例
通过匹配得到的缺陷代码及结果如表8所示。
表8:缺陷代码样例匹配结果
D.实验结果评价
根据开源软件缺陷代码样例的提取结果可知,通过本发明的缺陷代码提取方法可从变更代码中提取出符合缺陷代码修改模式的缺陷代码,其中匹配到14个if语句表达式内容错误,10个赋值语句错误,8个函数调用语句参数错误和1个变量赋值前缺少if进行判定错误。且获取的缺陷代码样例基本符合所提出的缺陷代码修改模式。通过该实例验证说明基于缺陷代码修改模式的缺陷信息提取方法是可行的。利用本发明方法得到的缺陷代码信息可以为软件缺陷的分析提供数据基础,该缺陷信息提取方法也可作为软件可靠性相关工作的参考。
Claims (4)
1.一种基于开源软件缺陷代码修改模式的缺陷信息提取方法,其特征在于,实现步骤为:
步骤1:根据开源软件演化过程信息,提取缺陷代码修改模式;
缺陷代码修改模式中,针对单行语句的特征提出基础缺陷特征项,针对两行以上语句间的比较特征提出对比缺陷特征项;基础缺陷特征项包括代码增删标识、关键词、操作符和语句类型;对比缺陷特征项包括语句操作数变更、语句操作符变更、函数调用参数变更、以及控制语句内容变更;
步骤2:分析待测开源软件的变更代码信息,获取各行代码的信息,包括代码编号、增删标志、关键词、操作符、语句类型及语句内容;
对待测开源软件的变更代码信息进行逐行分析,首先为该行代码进行编号,记录该编号值,然后获取其增删标识符、关键词和操作符,再根据语句中的内容判定语句类型和语句内容;
步骤3:将变更代码信息与缺陷代码修改模式进行匹配,包括基础缺陷特征项匹配和对比缺陷特征项进行匹配;根据匹配结果从变更代码信息中提取出符合缺陷代码修改模式的缺陷代码样例。
2.根据权利要求1所述的一种基于开源软件缺陷代码修改模式的缺陷信息提取方法,其特征在于,步骤1中所述的缺陷代码修改模式包括缺陷代码修改模式的名称、缺陷代码修改模式的描述以及缺陷特征项;缺陷特征项包括基础缺陷特征项和对比缺陷特征项,并以xml形式存储。
3.根据权利要求1所述的一种基于开源软件缺陷代码修改模式的缺陷信息提取方法,其特征在于,所述的步骤2中,获取语句类型和语句内容的步骤如下:
1)根据特殊识别符判定该行代码是否为说明内容,若是则该行代码的语句类型为说明语句,并开始进行下一行代码的判定;
2)根据注释符号判定该行代码是否为注释信息,若是则该行代码的语句类型为注释语句,并开始进行下一行代码的判定;
3)根据函数关键词扫描该行代码,若有函数关键词则该行语句为函数声明语句,将关键字存入函数名称,关键字后的内容存入函数参数;
4)若该行语句中的第一个词为基本数据类型关键词或类型修饰关键字,则该行代码的语句类型为声明语句,将关键字存入声明类型,关键字之后的数据存入声明内容;
5)若该行语句中有流程控制语句的关键词,则该行语句类型为控制语句,将关键字存入控制字,该关键字后的内容存入控制语句内容;
6)若该行代码有且仅有一个“=”,则语句类型为表达式语句,将“=”存入操作符,“=”左、右侧内容存入操作数中;
7)若该行语句无操作符,且有“(”与“)”符号,则该行语句类型为函数语句,将“(”之前的内容存入函数名称,“(”和“)”之间的内容存入函数参数中;
8)若该行语句均不满足上面1)~7)的判断,则该行语句类型为其它语句。
4.根据权利要求1所述的一种基于开源软件缺陷代码修改模式的缺陷信息提取方法,其特征在于,所述的步骤3中,首先进行基础缺陷特征项匹配,若变更代码中的某行语句与某个基础缺陷特征项相同,则对该行语句进行标记,提取出所有符合基础缺陷特征项的代码;然后进行对比缺陷特征项匹配,对符合某一个缺陷代码修改模式的全部基础缺陷特征项的代码进行比较,提取出满足对比缺陷特征项的语句,若满足对比缺陷特征项的代码编号在设定范围内,则该段变更代码包含该类缺陷代码修改模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510119596.1A CN104699611B (zh) | 2015-03-18 | 2015-03-18 | 一种基于开源软件缺陷代码修改模式的缺陷信息提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510119596.1A CN104699611B (zh) | 2015-03-18 | 2015-03-18 | 一种基于开源软件缺陷代码修改模式的缺陷信息提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699611A CN104699611A (zh) | 2015-06-10 |
CN104699611B true CN104699611B (zh) | 2017-07-28 |
Family
ID=53346764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510119596.1A Active CN104699611B (zh) | 2015-03-18 | 2015-03-18 | 一种基于开源软件缺陷代码修改模式的缺陷信息提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699611B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815135B (zh) * | 2015-11-30 | 2021-04-06 | 阿里巴巴集团控股有限公司 | 漏洞检测方法及装置 |
CN105740132B (zh) * | 2016-01-25 | 2018-07-06 | 中国人民解放军国防科学技术大学 | 基于修改日志的软件包来源自动分析方法 |
CN106708729B (zh) * | 2016-11-15 | 2019-10-11 | 东软集团股份有限公司 | 代码缺陷的预测方法及装置 |
CN109697162B (zh) * | 2018-11-15 | 2021-05-14 | 西北大学 | 一种基于开源代码库的软件缺陷自动检测方法 |
CN109828780B (zh) * | 2018-12-28 | 2022-09-16 | 奇安信科技集团股份有限公司 | 一种开源软件的识别方法及装置 |
CN109857648B (zh) * | 2019-01-14 | 2021-12-28 | 复旦大学 | 一种api误用的变更模式挖掘方法 |
CN111581438B (zh) * | 2019-02-19 | 2024-01-23 | 青岛海信移动通信技术有限公司 | 文件解析方法和终端 |
CN110221933B (zh) * | 2019-05-05 | 2023-07-21 | 北京百度网讯科技有限公司 | 代码缺陷辅助修复方法及系统 |
CN110427316B (zh) * | 2019-07-04 | 2023-02-14 | 沈阳航空航天大学 | 基于访问行为感知的嵌入式软件缺陷修复方法 |
CN110349477B (zh) * | 2019-07-16 | 2022-01-07 | 长沙酷得网络科技有限公司 | 一种基于历史学习行为的编程错误修复方法、系统及服务器 |
CN112181428B (zh) * | 2020-09-28 | 2021-10-22 | 北京航空航天大学 | 一种基于抽象语法树的开源软件缺陷数据分类方法及系统 |
CN113778852B (zh) * | 2021-06-04 | 2023-07-28 | 南方科技大学 | 一种基于正则表达式的代码分析方法 |
CN113703824B (zh) * | 2021-08-26 | 2024-06-04 | 上海德拓信息技术股份有限公司 | 一种多项目软件质量修复方法与系统 |
CN113836020A (zh) * | 2021-09-24 | 2021-12-24 | 中国电信股份有限公司 | 代码检测方法、装置及存储介质 |
CN113886467B (zh) * | 2021-10-25 | 2024-05-14 | 上海航天计算机技术研究所 | 一种基于关键词提取的软件缺陷库维护方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286132A (zh) * | 2008-06-02 | 2008-10-15 | 北京邮电大学 | 一种基于软件缺陷模式的测试方法及系统 |
CN102819489A (zh) * | 2012-07-05 | 2012-12-12 | 北京航空航天大学 | 一种缺陷驱动的软件可靠性设计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8365147B2 (en) * | 2008-02-27 | 2013-01-29 | Accenture Global Services Limited | Test script transformation architecture |
-
2015
- 2015-03-18 CN CN201510119596.1A patent/CN104699611B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286132A (zh) * | 2008-06-02 | 2008-10-15 | 北京邮电大学 | 一种基于软件缺陷模式的测试方法及系统 |
CN102819489A (zh) * | 2012-07-05 | 2012-12-12 | 北京航空航天大学 | 一种缺陷驱动的软件可靠性设计方法 |
Non-Patent Citations (1)
Title |
---|
软件缺陷分类和分析研究;王斌等;《计算机科学》;20130930;第40卷(第9期);第16-20、24页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104699611A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104699611B (zh) | 一种基于开源软件缺陷代码修改模式的缺陷信息提取方法 | |
CN111428054B (zh) | 一种网络空间安全领域知识图谱的构建与存储方法 | |
CN104866426B (zh) | 软件测试综合控制方法及系统 | |
CN106980637A (zh) | Sql审核方法和装置 | |
CN105159715A (zh) | 一种基于抽象语法树节点变更抽取的Python代码变更提示方法 | |
Kovbasistyi et al. | Method for detection of non-relevant and wrong information based on content analysis of web resources | |
CN109492106B (zh) | 一种文本代码相结合的缺陷原因自动分类方法 | |
US20210366055A1 (en) | Systems and methods for generating accurate transaction data and manipulation | |
CN105373472B (zh) | 一种基于数据库的统计准确性的测试方法及测试系统 | |
CN111274817A (zh) | 一种基于自然语言处理技术的智能化软件成本度量方法 | |
CN111860981B (zh) | 一种基于lstm深度学习的企业国民行业类别预测方法及系统 | |
CN115547466B (zh) | 基于大数据的医疗机构登记评审系统及其方法 | |
CN103034656B (zh) | 章节内容分层方法和装置、文章内容分层方法和装置 | |
CN113190694A (zh) | 一种知识图谱的知识管理平台 | |
CN105260300A (zh) | 基于会计准则通用分类标准应用平台的业务测试方法 | |
CN115438199A (zh) | 一种基于智慧城市场景数据中台技术的知识平台系统 | |
Singh et al. | Data mining: dirty data and data cleaning | |
CN106650450A (zh) | 基于代码指纹识别的恶意脚本启发式检测方法及系统 | |
CN105573972A (zh) | 报表校验公式的生成方法及装置 | |
Sheng et al. | Migrating a Privacy-Safe Information Extraction System to a Software 2.0 Design. | |
CN103019924A (zh) | 输入法智能性评测系统和方法 | |
Widad et al. | Quality Anomaly Detection Using Predictive Techniques: An Extensive Big Data Quality Framework for Reliable Data Analysis | |
CN115269578A (zh) | 一种基于数据指标的综合能源企业数据治理方法及系统 | |
JP6775740B1 (ja) | 設計支援装置、設計支援方法及び設計支援プログラム | |
CN106649219A (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 |