CN101556553B - 基于需求变更的缺陷预测方法和系统 - Google Patents

基于需求变更的缺陷预测方法和系统 Download PDF

Info

Publication number
CN101556553B
CN101556553B CN2009100807429A CN200910080742A CN101556553B CN 101556553 B CN101556553 B CN 101556553B CN 2009100807429 A CN2009100807429 A CN 2009100807429A CN 200910080742 A CN200910080742 A CN 200910080742A CN 101556553 B CN101556553 B CN 101556553B
Authority
CN
China
Prior art keywords
requirement item
requirement
demand
classification
defective
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.)
Expired - Fee Related
Application number
CN2009100807429A
Other languages
English (en)
Other versions
CN101556553A (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN2009100807429A priority Critical patent/CN101556553B/zh
Publication of CN101556553A publication Critical patent/CN101556553A/zh
Application granted granted Critical
Publication of CN101556553B publication Critical patent/CN101556553B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于计算机安全领域,具体涉及基于需求变更的缺陷预测方法和系统。本发明利用软件项目历史缺陷数据和需求文档构建需求与缺陷的关联集,需求分类器将历史需求按其所关联的历史缺陷属性分类,并计算需求项中的需求特征值,建立SVM分类器;当新的需求变更发生时,需求特征提取器提取该需求的需求特征,缺陷属性预测器根据需求特征的信息在SVM分类器中找到它所属的需求分类,得到该分类相关的缺陷属性,完成缺陷预测。本发明可自行添加或删除要提取的需求特征类别,并修改这些特征在分类模型中所占的权重,以使得到的预测模型更准确,提高预测精度。本发明的系统可自动完成预测,预测结果直观。

Description

基于需求变更的缺陷预测方法和系统
技术领域
本发明属于计算机安全领域,具体涉及需求发生变更时,基于软件项目历史经验数据,对由于这些变更产生新的项目缺陷的预测方法和系统。 
背景技术
缺陷对软件质量甚至对软件经济有重要影响,同时缺陷分布问题的复杂性和差异性,以及现有的缺陷预测技术在解决实际问题上的不足等。软件缺陷预测技术从20世纪70年代发展至今,一直是软件工程领域最活跃的内容之一,在分析软件质量、平衡软件成本方面起着重要的作用。软件缺陷预测技术大体上分为静态和动态两种缺陷预测技术。静态预测技术,主要是指基于缺陷相关的度量数据,对缺陷的数量或者分布进行预测的技术;而动态技术则是基于缺陷或者失效产生的时间,对系统缺陷随时间的分布进行预测的技术。 
静态缺陷预测技术集中在基于软件规模等度量元的缺陷预测方面,亦即研究缺陷和软件规模、复杂度等基本属性之间的关系,以此预测软件可能存在的缺陷数量。后来出现了针对缺陷分布的预测技术。此外,缺陷在软件生命周期不同阶段的引入和移除对遗留缺陷也有严重的影响,一些相应的软件缺陷预测模型也取得了非常好的成果和应用。静态缺陷预测技术主要包括基于度量元的缺陷预测技术、缺陷分布预测技术以及缺陷预测模型技术。 
另外一类重要的缺陷预测技术是基于时间关系的动态预测技术。很多动态的可靠性模型都是基于这类缺陷预测技术。这类方法主要是基于经验研究和统计技术发现软件缺陷随其生命周期或其中某些阶段的时间关系的分布规律,最著名的有Rayleigh分布模型、指数分布模型和S曲线分布模型。 
但是,现有缺陷预测技术大都需要对软件的设计、代码进行分析,无法在软件生命周期的早期活动,例如需求活动,通过预测这些活动引起的潜在的缺陷的分布、类型和规模,从而为软件过程的后续活动提供有意义的依据和参考。 
发明内容
鉴于现有技术中的缺陷,本发明提供了一种在需求阶段预测由需求变更引起缺陷的方法,可以预测出的缺陷属性包括缺陷的数量、工作量、类型、优先级等。其中属性的数量 和类别取决于用户输入历史缺陷数据,用户决定预测的具体缺陷属性。 
根据发明目的,本发明主要基于以下构思:利用软件项目历史缺陷数据和需求文档构建需求与缺陷的关联集,将历史需求按其所关联的历史缺陷属性分类,并计算需求项中的需求特征值,建立SVM分类器(Support Vector Machines,支持向量机);当新的需求变更发生时,提取该需求的需求特征,并根据需求特征的信息在SVM分类器中找到它所属的需求分类,得到该分类相关的缺陷属性,完成缺陷预测。 
为实现上述目的,基于需求变更的软件缺陷预测方法包括步骤: 
1)通过信息检索方法计算项目历史的每条缺陷与每条需求的相关性值,得到需求与缺陷的关联集; 
2)在需求与缺陷的关联集中,根据每条需求项对应历史缺陷的统计属性,将需求项按不同的统计属性进行分类,每一种缺陷的统计属性对应一种需求项的分类标准;计算需求项特征值,得到由需求项所属分类、需求项特征及特征值组成的数据组; 
3)以上述数据组的需求项特征为超空间中各维度,需求项对应超空间中的点,找出分割这些需求项的最大间隔超平面,建立SVM分类器; 
4)发生需求变更时,提取需求变更的需求项特征,将需求项特征和特征值输入建立的SVM分类器中,用SVM工具找到变更需求对应的分类,由分类对应的统计属性预测出产生缺陷的属性。 
本发明的另一个目的在于提供一种实现上述方法的基于需求变更的软件缺陷预测系统,包括需求与缺陷关联器、需求类别器、需求特征提取器、SVM分类器和缺陷属性预测器,其中,每个模块所包含的具体功能如下: 
需求与缺陷关联器用于将需求与缺陷关联,并输出需求与缺陷的关联集,作为需求类别器的输入。 
需求类别器根据每条需求相关联的缺陷属性,将需求分类并输出分类集,同时需求被输入到需求项特征提取器中,按预先设定的特征提取规则提取特征。 
需求特征提取器输出的需求项特征连同需求类别器输出的分类集一同格式化为SVM的数据组输入到SVM分类模型中,SVM分类器自迭代选取SVM分类模型最优参数,适应不同的输入数据组。 
缺陷属性预测器将发送需求变更的需求特征信息输入SVM分类器中,得出相应的分类, 并自动根据历史缺陷的分布情况,将分类数据转为量化的预测结果。 
此外,本系统还提供一用户交互接口,由用户输入各种参数并提供反馈。用户在预测过程开始之前设置这些参数后,该软件缺陷预测系统可自动地根据连接的历史数据库对变更的需求进行缺陷预测。由于每个模块的输出都为下一个模块提供输入,且中间过程的输出都为稳定格式,如果需要,用户可以中断自动过程,使用交互接口介入某些中间过程,为系统提供反馈以提高预测精度。 
本发明优点和技术效果如下: 
1.本发明通过在软件生命周期早期的需求阶段预测可能产生的缺陷的各种详细属性,辅助需求分析人员对这些变更的需求进行评价,为软件开发管理人员的早期决策提供依据,以此控制软件开发的风险和成本,为软件产品的质量提供保证。 
2.本发明基于软件项目的历史需求和缺陷数据建立知识库,应用范围广且高度可定制。历史缺陷数据的属性决定了可预测的缺陷属性,因此可以得到较为详细的预测结果;用户可自行设置(添加或删除)所提取的需求特征的类别,并修改这些特征在分类模型中所占的权重,以使得到的预测模型符合项目特征,提高预测精度。此外,本发明中的SVM分类器会根据不同的训练数据集,使用自迭代的方式调整SVM分类模型的参数以提高预测精度。 
3.本发明预测过程高度自动化,预测结果直观。用户设置好一些初始参数,并将系统与历史需求和缺陷数据库相连接后,整个预测过程都可以自动地完成。因此系统可以通过缺陷预测,对多变的需求进行持续和快速的评估和监控,方便需求和开发人员做出决策。 
附图说明
图1为基于需求变更的软件缺陷预测方法基本原理; 
图2为基于需求变更的软件缺陷预测方法流程示意图; 
图3为基于需求变更的软件缺陷预测系统各模块关系示意图; 
图4为预测结果和实际结果的对比图。 
具体实施方式
下面结合附图,具体说明本发明基于需求变更的软件缺陷预测方法和系统。 
图2所示为本发明软件缺陷预测方法的流程示意图,本方法大致可分为四个步骤:关 联历史缺陷数据与需求、需求项特征提取与分类、建立SVM分类器及利用SVM分类器预测软件缺陷。 
1.关联历史缺陷数据与需求 
本发明项目历史的缺陷记录在数据库中,而需求为文档格式,每个需求文档中有若干需求项,通过信息检索中的文本相关性匹配方法建立需求与缺陷之间的关联关系。一般来说,缺陷的描述比较简短,例如:点击“提交”按钮时,系统崩溃。而需求项的描述一般比较完整,一个标准的需求项应当包含以下内容: 
用例名称:提交任务计划。 
描述:提交已经填好的任务计划到数据库中 
前置条件:用户已经登录 
后置条件:任务计划录入数据库,并显示在任务树中。 
标准流:1.进入工作空间,打开任务计划树;2.填写任务计划中的各项;3.点击“提交”按钮。 
在本方法中,将每个缺陷描述作为查询,而每条需求项作为检索的文档,采用下面的公式(参见文献:Gospodnetic O,Hatcher E.:Lucene in Action,Maning Publication,2006)计算查询(缺陷)与每个文档(需求)的文本相关性: 
Σ tind TF ( t in r ) * IDF ( t ) * Boost ( t . field in r ) * LengthNorm ( t . field in r ) (公式1), 
上面公式中,r是需求,d是缺陷,t指的是需求文本中的词;TF(t in r)为词t在r中出现的频率,(计算方法为词t在r中出现的次数除以r中词的总数);IDF(t)是指词t在整个文本集中的逆文档频率,Boost(t.field in r)为词t在目标需求项集合中的权重,LengthNorm(t.field in r)是词t的长度在目标需求域中归一化值(即除以需求项总数后的值)。 
使用公式计算后就可以得到每条缺陷描述与每条需求的相关性值,并根据用户预先设定的相关性阈值进行筛选,所有相关性大于此阈值的缺陷-需求对被认为是相关的,得到一个需求与缺陷的匹配集。如果需要,还可以根据用户的反馈,使用与上述公式相匹配的反馈算法调整结果,此处反馈算法原理如下:计算文本相关性并返回所有大于相关性阈值的缺陷-需求对,由用户在这些匹配对中选取认为相关性阈值比较大的缺陷-需求对,系统根据新的缺陷-需求对,得到更精确和符合实际的需求与缺陷相关联的集合。 
实现本发明的文本相关性匹配方法有很多,本实施例给出的文本相关性匹配公式只是 作为一个具体的实施例来说明。相关性阈值的范围在0-1之间,用户一般设定的相关性阈值为0.4或0.6。 
2.需求项特征提取与分类 
在得到历史需求与缺陷的关联集后,对于每条需求项,查看它对应的历史缺陷的数据记录获得统计属性,比如:每条缺陷的数量、修正这些缺陷的平均工作量以及它们的优先级和类型的统计特征等等(这些由数据库中原有的历史缺陷数据获得)。对某一缺陷属性的需求项,按照统计属性的不同的分类标准进行分类,如分为C1,C2,C3……Ci。 
若用户要预测的缺陷属性类别不止一种,则首先将需求项按照不同的缺陷属性分为不同类别,如用户要预测的缺陷属性有:需求相关的缺陷数量,需求相关的平均工作量两种。则此处要将需求项分别按照需求相关的缺陷数量中的统计属性进行分类,按照需求相关的缺陷数量的统计属性进行分类,两种分类互不影响,可以同时实现。 
每条需求项都有不同的需求特征,本方法分为一般文本特征和特殊特征进行详细说明。 
一般文本特征指的是基于词的权重特征。对于需求中所有需求项中的词组成的集合,称为词的域。先将域中所有词按拼音的字母顺序排列成一个表,表中每行记录这个词出现的相关需求项的id,这个表称为词的倒排表。一个倒排表的例子如下: 
词1的序号    词1的内容    需求项1    需求项2    需求项4…… 
词2的序号    词2的内容    需求项2    需求项3…… 
词3的序号    词3的内容    需求项1    需求项2    需求项5    需求项6…… 
…… …… 
下面考察需求项中的词t对统计属性的分类C1的影响大小情况,对于步骤1)得到的需求与缺陷的关联集,将需求项分为:含有词t并属于类C1的需求项的数目记为A,含有词t并不属于C1的需求项数目记为B,不含词t并属于类C1的需求项的数目记为C,不含词t并不属于类C1的需求项数目记为D。令N=A+B+C+D,则: 
CHI(t,C1)=N(AD-CB)2/(A+C)(B+D)(A+B)(C+D) 
对每个分类Ci,分别计算CHI(t,Ci),取词t对于不同分类的CHI(t,Ci)最大值作为词t的CHI值。计算完所有词的CHI值之后,将它们按从大到小排序,返回前k个CHI值最大的词的词频TF(TF的计算方法为:词t在某个需求项中出现的次数除以该需求项中词的总数)为需求项的需求项特征值,作为SVM分类的前k维特征值,k由用户设置,本实例中取k=1000。 
特殊特征是指可量化的需求特征,如需求项文本的长度、需求项所属软件产品的模块、 需求变更次数、需求项事件流描述的条数、需求项前置条件的繁琐程度等等。如对于一具体的需求项,那么需求项文本的长度可以获得,即为此处所指的可以量化。这些特殊特征在SVM分类结果中不起决定性作用,但是可以由用户根据要预测的缺陷属性合理地选择这些特殊特征并设置它们所占的SVM分类模型维度,可以提高预测精度。用户可以设置特殊特征所占的维度参数,然后需求项特征提取的过程就以自动化的方式进行了。本实例中特殊特征维度总数为500。 
本步骤结束后,对每个需求项和每个分类标准将格式化为如下的数据组,作为SVM分类模型的输入数据组: 
<label><index1>:<value1><index2>:<value2>…… 
Lable是指该需求项所属的分类,每组<index1>:<value1>表示一个特征值,index是该特征的序列号,value是它的数值。对于一般特征来说,index就是在该需求项中出现的某词在倒排表中的序号,该词是CHI值前k位的词;而value就是该词在该需求项中的词频。对于特殊特征来说,index值是从n+1到n+500递增标记的(n为倒排表中词的总数);而value是该特殊特征量化后的值。这样,所有需求项对于某个分类标准就可以形成一个SVM分类模型的输入数据组,该数据组的每一行都是这样一行数据,代表一个需求项的分类和它的特征。 
3.建立SVM分类器 
SVM是一种高维分类算法,它通过将数据(可看作多维向量)映射到一个高维空间中(也称超空间),在这个空间里建立一个最大间隔超平面。在分开数据的超平面的两边建有两个互相平行的超平面,最大间隔超平面使两个平行超平面的距离最大化。寻找并计算这个最大间隔超平面的过程称为建立SVM分类模型。 
本发明在超空间中建立SVM分类器的具体方式如下:需求项的各项特征是超空间中各维度,每个需求项对应于超空间中的一个点,应用已有的SVM工具包(本实例中使用的SVM工具包为libSVM),根据步骤2中得到的输入数据组中的需求分类和特征值建立k+m维的超空间(k为一般特征维度总数,本实例中为1000,m为特殊特征维度,本实例中为500),并寻找最大间隔超平面,建立带有需求与缺陷特征的SVM分类器。 
SVM分类器自动选择不同的SVM分类模型参数,并使用交叉验证法(随机地将输入数据组的90%作为训练集,10%作为测试,测试的结果对比实际结果得出分类模型精度)测试分类模型的精度,将分类精度最高的一组对应参数保留,这种以自动循环递变的方式选取模型参数并根据结果选择最优参数的方式称为自迭代。 
4.利用SVM分类器预测软件缺陷 
当有需求变更发生时,采用步骤2中的特征提取方法提取变更需求的需求特征,将需求特征和需求特征值输入已建立的SVM分类模型,得到该需求项对应的需求分类,并根据需求分类信息找到此条变更需求所对应的缺陷属性,预测出产生的缺陷属性。 
本发明的基于需求变更的软件缺陷预测系统实现原理基于上面所述的方法原理,分为需求与缺陷关联器、需求类别器、需求特征提取器、SVM分类器、缺陷属性预测器几个模块,此外,用户交互部分提供对用户接口以输入各种参数并提供反馈,见附图3。在用户完成参数设置之后,系统可自动根据连接的历史数据库对变更的需求进行缺陷预测。 
系统与历史数据库连接之后,将需求与缺陷关联,并输出需求与缺陷的关联集,作为下一模块需求类别器的输入。SVM分类器根据每条需求相关联的缺陷属性,将需求分类并输出分类集,同时原需求被输入到需求特征提取器中,按预先设定的特征提取规则提取特征。特征提取器输出的需求特征连同需求类别器输出的分类集一同格式化为SVM的输入数据组输入到SVM分类器中。SVM分类器将根据输入数据组训练SVM分类模型,在训练过程中自动地选择不同的SVM分类模型参数,并使用交叉验证法测试分类模型的精度,将分类精度最高的一组对应参数保留,这种以自动循环递变的方式选取模型参数并根据结果选择最优参数的方式称为自迭代。当需求发生变更时,将这些需求项输入到系统中,需求特征提取器对这些需求提取特征之后,缺陷属性预测器将变更需求的特征及特征值输入已训练好的SVM分类器中,就会得出变更需求的相应分类,预测出需求变更的缺陷。缺陷属性预测器并可根据历史缺陷的分布情况,将预测出的缺陷转为量化的预测结果。量化的算法为:将每个分类所含得需求项数量乘以原需求与缺陷关联集中每个需求分类所含的平均缺陷数。 
用户交互接口为用户提供各模块的参数设置和相关用户反馈输入,所述参数包括预测的体缺陷属性类型及属性类别个数、相关性阈值、SVM分类器中一般特征和特殊特征的维度。用户可以在预测过程开始之前设置这些属性,之后,整个分类和预测过程自动地完成。由于每个模块的输出都为下一个模块提供输入,且中间过程的输出都为稳定格式,所以如果需要,用户可以中断自动过程,使用交互接口介入某些中间过程,为系统提供反馈以提高预测精度。 
以下结合实例,介绍基于需求变更的缺陷预测方法的具体流程和实现方式。 
设定某个软件项目历史数据库中包含有4893条历史缺陷记录和581条需求项。缺陷记 录含有如下几个域: 
Figure G2009100807429D00081
首先用文本相关性的匹配方法将这些历史缺陷和需求做关联,由用户设置的阈值参数和相关反馈之后得到一个需求-缺陷关联集,此处设定的阈值为0.6。下面考查需求关联的缺陷的以下4个属性: 
根据这四种属性,定义四种不同类别的原需求分类标准如下: 
Figure G2009100807429D00083
由用户选择要预测哪种缺陷属性,若用户只预测一种缺陷属性(如预测需求相关的缺陷数量),则只对这一种属性建立分类标准即可(只建立数量的分类标准)。 
定义分类标准后,系统就会自动地得到4种原需求的分类结果。然后,对这些需求项 进行特征提取,得到它们的特征向量,并连同它们的分类一起得到如下格式的数据: 
<需求项所属分类><一般特征序号1>:<特征1值><一般特征序号2>:<特征2值>……<一般特征序号1000>:<特征1000值><特殊特征序号1>:<特征1值>……<特殊特征序号500>:<特征500值>。将含有4条以上格式需求项分类和特征信息的数据输入4个SVM分类模型中,对每个SVM分类模型,SVM分类器自迭代选取SVM分类模型最优参数,得到4个SVM分类器。 
现在考查数据库中记载的某次需求变更,共有48条需求变更发生。对不同分类,分别提取这48对特征,并将这48对<需求特征,需求特征值>分别输入到4个SVM分类器,得到如下的软件需求项预测分类,分类对应有相应需求项可能产生的缺陷的属性: 
Figure G2009100807429D00091
为获得进一步的软件缺陷预测数据,可将这些结果量化,得到最终直观的基于需求变更的缺陷预测结果。量化的方法为:将每个分类所含得需求项数量乘以原需求与缺陷关联集中每个需求分类所含的平均缺陷数。 
本实例最终的预测结论是:此48条需求变更将引起320条缺陷,共计12036人时的修正工作量;其中按缺陷优先级分,一般缺陷190条,严重缺陷73条,致命缺陷57条;按缺陷类型分,界面缺陷103条,内部缺陷92条,综合缺陷125条。图4显示了最后预测结果和数据库中实际记录的数据的对比。 
可以看到,本发明所提供的预测方法基于需求变更,预测的缺陷属性取决于项目的历史数据记录和知识库分类的不同标准,最后得出量化的直观的缺陷预测结果。本发明提供的基于需求变更的软件缺陷预测系统提供给用户一些必要参数的输入和反馈,之后整个预测过程自动地完成。 
以上对本发明所述的基于需求变更的缺陷预测方法和系统进行了详细的说明,但显然本发明的具体实现形式并不局限于此。对于本技术领域的一般技术人员来说,在不背离本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围之内。 

Claims (9)

1.一种基于需求变更的软件缺陷预测方法,其步骤如下:
1)通过文本相关性匹配方法计算项目历史的每条缺陷与需求项的相关性值,并根据用户预先设定的相关性阈值进行筛选,所有相关性大于此阈值的缺陷-需求对被认为是相关的,得到需求项与缺陷的关联集;
2)根据需求项关联的缺陷的统计属性,将需求项进行分类,每一种缺陷的统计属性对应一种需求项的分类标准;所述需求项特征包括基于词的权重特征、可量化的需求项特征,计算需求项特征值,得到由需求项所属分类、需求项特征及特征值组成的数据组;
3)根据步骤2)中得到的由需求项所属分类、需求项特征及特征值组成的数据组建立超空间,以数据组中需求项特征为超空间中各维度,需求项对应超空间中的点,找出分割需求项的最大间隔超平面,建立SVM分类模型;
4)发生需求变更时,提取需求变更的需求项特征,包括基于词的权重特征、可量化的需求项特征,将需求项特征和特征值输入建立的SVM分类模型中,用SVM工具找到变更需求项对应的分类,由分类对应的缺陷统计属性获得软件缺陷预测数据。
2.如权利要求1所述的一种基于需求变更的软件缺陷预测方法,其特征在于,若预测缺陷属性的类别不止一种,则将需求项按不同的缺陷属性类别进行分类,并对每种类别的需求项建立SVM分类模型。
3.如权利要求1所述的一种基于需求变更的软件缺陷预测方法,其特征在于,所述可量化的需求项特征包括需求项文本的长度、需求项所属软件产品的模块、需求项变更次数、需求项事件流描述的条数和需求项前置条件的繁琐程度。
4.如权利要求1所述的一种基于需求变更的软件缺陷预测方法,其特征在于,所述需求项与缺陷的关联集的相关性阈值为0.4。
5.如权利要求1所述的一种基于需求变更的软件缺陷预测方法,其特征在于,所述需求项与缺陷的关联集的相关性阈值为0.6。
6.如权利要求1所述的一种基于需求变更的软件缺陷预测方法,其特征在于,步骤4)后将每个分类所含的需求项数量乘以原需求项与缺陷关联集中每个需求项分类所含的平均缺陷数,得到量化的软件缺陷预测数据。
7.一种基于需求变更的软件缺陷预测系统,包括需求项与缺陷关联器、需求项类别器、需求项特征提取器、SVM分类器和缺陷属性预测器;所述需求项与缺陷关联器用于建立项目历史的缺陷与需求的关联集,通过文本相关性匹配方法计算项目历史的每条缺陷与需求项的相关性值,并根据用户设置的阈值参数和相关反馈之后筛选,得到需求项与缺陷的关 联集;所述需求项类别器用于根据需求项相关联的缺陷属性,将需求项按不同的预测类别分类,并将处于同一类别的缺陷进行分类,输出分类集;所述需求项特征提取器用于提取项目历史需求项特征及变更需求项特征,包括基于词的权重特征、可量化的需求项特征;SVM分类器用于将需求项分类、需求项特征及特征值建立在超空间中,将需求项特征做为超空间中各维度,需求项对应超空间中的点,找出分割需求项的最大间隔超平面;缺陷属性预测器用于将变更需求的特征及特征值输入SVM分类器,获得变更需求的相应分类,预测出需求变更的缺陷。
8.如权利要求7所述的一种基于需求变更的软件缺陷预测系统,其特征在于:所述系统还包括用户交互接口,用于提供参数的输入。
9.如权利要求7所述的一种基于需求变更的软件缺陷预测系统,其特征在于:所述SVM分类器自迭代选取SVM分类模型的最优参数。 
CN2009100807429A 2009-03-27 2009-03-27 基于需求变更的缺陷预测方法和系统 Expired - Fee Related CN101556553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100807429A CN101556553B (zh) 2009-03-27 2009-03-27 基于需求变更的缺陷预测方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100807429A CN101556553B (zh) 2009-03-27 2009-03-27 基于需求变更的缺陷预测方法和系统

Publications (2)

Publication Number Publication Date
CN101556553A CN101556553A (zh) 2009-10-14
CN101556553B true CN101556553B (zh) 2011-04-06

Family

ID=41174676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100807429A Expired - Fee Related CN101556553B (zh) 2009-03-27 2009-03-27 基于需求变更的缺陷预测方法和系统

Country Status (1)

Country Link
CN (1) CN101556553B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014131262A1 (zh) * 2013-02-28 2014-09-04 华为技术有限公司 一种缺陷预测方法及装置

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214091A (zh) * 2010-04-09 2011-10-12 株式会社日立制作所 一种定位软件开发中需求变更影响范围的方法和系统
CN101833505B (zh) * 2010-04-30 2012-05-02 天津大学 一种软件系统安全缺陷检测方法
CN102231112A (zh) * 2011-08-01 2011-11-02 山东中创软件工程股份有限公司 一种动态定义属性的问题管理系统和方法
CN102637143B (zh) * 2012-03-07 2014-12-10 南京邮电大学 基于改进的支持向量机的软件缺陷优先级预测方法
CN103713990A (zh) * 2012-09-29 2014-04-09 西门子公司 一种用于软件缺陷预测的方法和装置
CN103092762B (zh) * 2013-02-19 2016-02-03 南京大学 一种适用于快速软件开发模式的实时软件缺陷检测方法
CN103257921B (zh) * 2013-04-16 2015-07-22 西安电子科技大学 一种基于改进随机森林算法的软件故障预测系统及其方法
CN103473627A (zh) * 2013-08-20 2013-12-25 国家电网公司 系统运维体系需求变更管理数据处理方法
CN103617466B (zh) * 2013-12-13 2016-09-28 中储南京智慧物流科技有限公司 一种商品需求预测模型的综合评价方法
CN103810102A (zh) * 2014-02-19 2014-05-21 北京理工大学 一种用于预测软件缺陷的方法和系统
CN103970666B (zh) * 2014-05-29 2017-02-22 重庆大学 一种软件重复缺陷报告检测的方法
CN104021180B (zh) * 2014-06-09 2017-10-24 南京航空航天大学 一种组合式软件缺陷报告分类方法
CN104599159A (zh) * 2015-02-06 2015-05-06 浪潮集团有限公司 一种基于支持向量机原理的用户行为识别方法
CN104731709B (zh) * 2015-03-31 2017-09-29 北京理工大学 一种基于jcudasa_bp算法的软件缺陷预测方法
CN104899135B (zh) * 2015-05-14 2017-10-20 工业和信息化部电子第五研究所 软件缺陷预测方法和系统
CN105205002B (zh) * 2015-10-28 2017-09-29 北京理工大学 一种基于测试工作量的软件安全缺陷发现模型的建模方法
CN105654116A (zh) * 2015-12-25 2016-06-08 苏州晨川通信科技有限公司 一种利用市场行情数据源的合作预判方法
CN106126605B (zh) * 2016-06-21 2019-12-10 国家计算机网络与信息安全管理中心 一种基于用户画像的短文本分类方法
CN109634833A (zh) * 2017-10-09 2019-04-16 北京京东尚科信息技术有限公司 一种软件缺陷预测方法和装置
CN111133396B (zh) * 2017-10-16 2023-03-24 富士通株式会社 生产设备监视装置、生产设备监视方法以及记录介质
CN110490625A (zh) * 2018-05-11 2019-11-22 北京京东尚科信息技术有限公司 用户偏好确定方法及装置、电子设备、存储介质
CN111240993B (zh) * 2020-01-20 2021-05-14 北京航空航天大学 一种基于模块依赖图的软件缺陷预测方法
CN111444106B (zh) * 2020-04-09 2023-09-01 中国人民解放军国防科技大学 一种对软件可测试需求的分析方法及系统
CN113296836B (zh) * 2021-06-08 2022-07-22 北京百度网讯科技有限公司 训练模型的方法、测试方法、装置、电子设备及存储介质
CN113608719B (zh) * 2021-07-21 2023-05-05 江苏徐工工程机械研究院有限公司 一种软件开发需求质量的评价方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344859A (zh) * 2008-09-02 2009-01-14 中国科学院软件研究所 预测需求易变性对软件项目影响的仿真方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344859A (zh) * 2008-09-02 2009-01-14 中国科学院软件研究所 预测需求易变性对软件项目影响的仿真方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Fei Xing et al.A Novel Method for Early Software Quality Prediction Based on Support Vector Machine.《Proceedings of the 16th IEEE International Symposium on Software Reliability Engineering》.2005,213-222. *
Lei He et al.Predicting Upgrade Project Defects Based on Enhancement Requiements: An Empirical Study.《Lecture Notes in Computer Science》.2009,第5543卷268-279. *
王青等.软件缺陷预测技术.《软件学报》.2008,第19卷(第7期),1565-1580. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014131262A1 (zh) * 2013-02-28 2014-09-04 华为技术有限公司 一种缺陷预测方法及装置
US10068176B2 (en) 2013-02-28 2018-09-04 Huawei Technologies Co., Ltd. Defect prediction method and apparatus

Also Published As

Publication number Publication date
CN101556553A (zh) 2009-10-14

Similar Documents

Publication Publication Date Title
CN101556553B (zh) 基于需求变更的缺陷预测方法和系统
EP3985578A1 (en) Method and system for automatically training machine learning model
CN111242310B (zh) 特征有效性评估方法、装置、电子设备及存储介质
CN104798043B (zh) 一种数据处理方法和计算机系统
CN103208039B (zh) 软件项目风险评价方法及装置
CN103365997B (zh) 一种基于集成学习的观点挖掘方法
CN106156809A (zh) 用于更新分类模型的方法及装置
CN110377814A (zh) 题目推荐方法、装置及介质
CN108463795A (zh) 自助分类系统
JP7405775B2 (ja) コンピュータで実行される見積もり方法、見積もり装置、電子機器及び記憶媒体
CN103810162A (zh) 推荐网络信息的方法和系统
CN107357902A (zh) 一种基于关联规则的数据表分类系统与方法
US20140365403A1 (en) Guided event prediction
CN106095939B (zh) 账户权限的获取方法和装置
CN110263979A (zh) 基于强化学习模型预测样本标签的方法及装置
CN108614778B (zh) 基于高斯过程回归的安卓App程序演化变更预测方法
WO2024067387A1 (zh) 基于特征变量评分的用户画像生成方法,设备、汽车及存储介质
KR20200010624A (ko) 머신러닝을 이용한 빅데이터 통합진단 예측 시스템
CN110647995A (zh) 规则训练方法、装置、设备及存储介质
CN106796618A (zh) 时序预测装置和时序预测方法
KR20190110084A (ko) Esg 기반의 기업 평가 수행 장치 및 이의 작동 방법
CN110310012B (zh) 数据分析方法、装置、设备及计算机可读存储介质
CN105164672A (zh) 内容分类
CN110347821B (zh) 一种文本类别标注的方法、电子设备和可读存储介质
CN106484913A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110406

Termination date: 20180327

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