CN106919505A - 软件缺陷预测方法及装置 - Google Patents

软件缺陷预测方法及装置 Download PDF

Info

Publication number
CN106919505A
CN106919505A CN201710090097.3A CN201710090097A CN106919505A CN 106919505 A CN106919505 A CN 106919505A CN 201710090097 A CN201710090097 A CN 201710090097A CN 106919505 A CN106919505 A CN 106919505A
Authority
CN
China
Prior art keywords
sample
defect
subset
vector
software
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
CN201710090097.3A
Other languages
English (en)
Other versions
CN106919505B (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.)
China Electronic Product Reliability and Environmental Testing Research Institute
Original Assignee
China Electronic Product Reliability and Environmental Testing Research Institute
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 China Electronic Product Reliability and Environmental Testing Research Institute filed Critical China Electronic Product Reliability and Environmental Testing Research Institute
Priority to CN201710090097.3A priority Critical patent/CN106919505B/zh
Publication of CN106919505A publication Critical patent/CN106919505A/zh
Application granted granted Critical
Publication of CN106919505B publication Critical patent/CN106919505B/zh
Active 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/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种软件缺陷预测方法及装置,对待预测软件的软件模块源代码进行静态度量,构建缺陷向量;将缺陷向量通过预设投影矩阵映射到几何空间中得到映射缺陷向量;预设投影矩阵为在训练获得经过训练的预测模型的过程中,使得样本向量集的样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵,样本缺陷子集包括有缺陷子集和无缺陷子集;将映射缺陷向量输入到经过训练的预测模型中,通过经过训练的预测模型,将映射缺陷向量与样本缺陷子集的马氏距离最小的样本缺陷子集所对应的类别,作为待预测软件对应的缺陷预测结果,如此,可以实现软件缺陷数据的优化去噪,保证了数据分布的合理性,从而,可以得到准确性更高的预测结果。

Description

软件缺陷预测方法及装置
技术领域
本发明涉及软件质量技术领域,尤其涉及一种软件缺陷预测方法及装置。
背景技术
随着信息技术的发展,软件复杂程度不断提高、软件规模不断增大,良好的软件质量控制和预测机制,不但可以帮助企业开发出高质量的软件产品,减少产品生产和维护成本,而且在提高客户满意度,建立良好的企业形象和增强企业在市场上的竞争力等方面都有着重要的意义。另外,软件系统的质量问题极有可能会导致严重后果。因此,软件质量越来越受重视,如何预测软件质量及提高软件质量成为当今研究的热点之一。
软件缺陷预测是通过统计学方法对与软件质量有关的数据进行处理从而对软件模块是否存在缺陷进行估计,这样就能在软件开发的早期根据软件的有关数据,对软件的质量进行预测和控制,从而预测出软件可能出现的质量问题,进而提高和控制软件的质量。传统的软件缺陷预测方法主要包括基于统计学方法的预测模型和基于神经网络的预测模型等。其中,神经网络由于其训练不需要完全知道系统的具体细节,并且具有良好的非线性映射逼近性能和自学习能力,在软件缺陷预测中得到了广泛应用。
然而在实际应用中,由于软件失效的概率相比正常的概率较低,实际得到的软件缺陷分布基本上都是不均衡的,软件失效模块占软件模块总数相对较少。并且,由于软件缺陷预测模型输入的各种度量数据的计算方法不同,取值范围和含义也各不相同,会导致质量评价方法产生偏向性,这些因素都会严重影响软件缺陷预测模型的准确性。当这些软件失效模块被错误预测为无缺陷时,一旦投入实际使用,所带来的经济损失和社会损失是不可估量的。
发明内容
基于此,有必要提供一种提高软件缺陷预测准确性的软件缺陷预测方法及装置。
一种软件缺陷预测方法,包括:
对待预测软件的软件模块源代码进行静态度量,构建缺陷向量;
将所述缺陷向量通过预设投影矩阵映射到几何空间中得到映射缺陷向量;所述预设投影矩阵为在训练获得经过训练的预测模型的过程中,使得样本向量集的样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵,所述样本缺陷子集包括有缺陷子集和无缺陷子集;
将所述映射缺陷向量输入到所述经过训练的预测模型中,通过所述经过训练的预测模型,将所述映射缺陷向量与所述样本缺陷子集的马氏距离最小的样本缺陷子集所对应的类别,作为所述待预测软件对应的缺陷预测结果。
一种软件缺陷预测装置,包括:
缺陷向量构成模块,用于对待预测软件的软件模块源代码进行静态度量,构建缺陷向量;
缺陷向量映射模块,用于将所述缺陷向量通过预设投影矩阵映射到几何空间中得到映射缺陷向量;所述预设投影矩阵为在训练获得经过训练的预测模型的过程中,使得样本向量集的样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵,所述样本缺陷子集包括有缺陷子集和无缺陷子集;
预测结果确定模块,用于将所述映射缺陷向量输入到所述经过训练的预测模型中,通过所述经过训练的预测模型,将所述映射缺陷向量与所述样本缺陷子集的马氏距离最小的样本缺陷子集所对应的类别,作为所述待预测软件对应的缺陷预测结果。
上述软件缺陷预测方法及装置,对待预测软件的缺陷向量进行几何空间映射,所述预设投影矩阵为在训练获得经过训练的预测模型的过程中,使得样本向量集的样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵,所述样本缺陷子集包括有缺陷子集和无缺陷子集。如此可以实现软件缺陷数据的优化去噪,保证了数据分布的合理性,因此将映射得到的映射缺陷向量输入至经过训练的预测模型中,通过所述经过训练的预测模型,将所述映射缺陷向量与所述样本缺陷子集的马氏距离最小的样本缺陷子集所对应的类别,作为所述待预测软件对应的缺陷预测结果,从而,可以得到准确性更高的待预测软件对应的预测结果。
附图说明
图1为第一个实施例的软件缺陷预测方法的流程图;
图2为第二个实施例的软件缺陷预测方法的流程图;
图3为第三个实施例的软件缺陷预测方法的流程图;
图4为第一个实施例的软件缺陷预测装置的结构图;
图5为第二个实施例的软件缺陷预测装置的结构图;
图6为第三个实施例的软件缺陷预测装置的结构图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“或/及”包括一个或多个相关的所列项目的任意的和所有的组合。
请参阅图1,一实施例的软件缺陷预测方法,包括:
S110:对待预测软件的软件模块源代码进行静态度量,构建缺陷向量。
对待预测软件的各个软件模块的源代码进行静态度量,从而构建待预测的缺陷向量。其中,对各个软件模块的源代码进行静态度量的方式包括Halstead度量(霍尔斯特德度量)、MaCabe度量(麦克比度量)、Khoshgoftaar度量(一种基于神经网络模型的度量方法)和CK度量(一种面向对象的度量方法)等。
S130:将缺陷向量通过预设投影矩阵映射到几何空间中得到映射缺陷向量;预设投影矩阵为在训练获得经过训练的预测模型的过程中,使得样本向量集的样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵,样本缺陷子集包括有缺陷子集和无缺陷子集。
S150:将映射缺陷向量输入到经过训练的预测模型中,通过经过训练的预测模型,将映射缺陷向量与样本缺陷子集的马氏距离最小的样本缺陷子集所对应的类别,作为待预测软件对应的缺陷预测结果。
上述软件缺陷预测方法,对待预测软件的缺陷向量进行几何空间映射,预设投影矩阵为在训练获得经过训练的预测模型的过程中,使得样本向量集的样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵,样本缺陷子集包括有缺陷子集和无缺陷子集。如此可以实现软件缺陷数据的优化去噪,保证了数据分布的合理性,因此将映射得到的映射缺陷向量输入至经过训练的预测模型中,通过经过训练的预测模型,将映射缺陷向量与样本缺陷子集的马氏距离最小的样本缺陷子集所对应的类别,作为待预测软件对应的缺陷预测结果,从而,可以得到准确性更高的待预测软件对应的预测结果。
请参阅图2,在其中一个实施例中,将缺陷向量通过预设投影矩阵映射到几何空间中得到映射缺陷向量的步骤之前,还包括:
S121:对已知的样本软件的软件模块源代码进行静态度量,构成样本向量,各样本向量组成样本向量集。
假设对于样本软件中已知的N个模块,其中,无缺陷模块N1个,有缺陷模块N2个,N1+N2=N。
在其中一个具体实施例中,首先,对每一个模块i,i=1,2,...,N,分别对其是否存在缺陷进行标记,得到缺陷标记flagi。其中,flagi=1,表示该模块存在缺陷;flagi=0,表示该模块没有缺陷。
然后,对每一个模块i,i=1,2,...,N,分别对其源代码进行静态度量,假设共有d个具体的度量值,可以将这些度量数据分别标记为xi1,xi2,...,xid,则这些度量数据构成模块i的样本向量xi=[xi1,xi2,...,xid]。
最后,对于每一个样本向量xi,根据有无缺陷的缺陷标记flagi,将样本向量集划分为样本缺陷子集,样本缺陷子集包括有缺陷子集和无缺陷子集。无缺陷子集可表示为{x1i|i=1,2,...,N1};有缺陷子集可表示为{x2i|i=1,2,...,N2}。
S122:根据样本向量集的样本缺陷子集确定样本缺陷子集的协方差矩阵。
样本缺陷子集的协方差的计算公式为:
其中,Σc表示样本缺陷子集的协方差矩阵,c=1或2。具体地,c=1时,Σc表示无缺陷子集的协方差矩阵,c=2时,表示有缺陷子集的协方差矩阵。为样本缺陷子集{xci}的均值向量。
S123:根据样本缺陷子集的协方差矩阵,将样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵确定为预设投影矩阵。
根据样本缺陷子集的协方差矩阵可以确定样本缺陷子集之间的相对熵距离。也即,根据有缺陷子集的协方差矩阵及无缺陷子集的协方差矩阵,可以确定有缺陷子集与无缺陷子集之间的相对熵距离。
具体地,样本缺陷子集之间的相对熵距离的确定公式为:
其中,pc,表示样本缺陷子集{xci}的概率密度,可以选择高斯分布;c=c1或c2,c1不等于c2;tr(·)表示矩阵的迹,|·|=det(·)表示矩阵的行列式,需要说明的是,样本缺陷子集的个数为2,即一个有缺陷子集和一个无缺陷子集。
在其中一个实施例中,假设几何空间下的投影矩阵表示为W,原始样本x在几何空间中的投影可表示为:
y=WTx
则,在几何空间下样本缺陷子集之间的相对熵距离可表示为:
可以按照以下目标函数公式确定投影矩阵W的最优值为预设投影矩阵,使得样本缺陷子集之间的相对熵距离的几何均值最大。
其中,C为样本缺陷子集个数,其值为2,即样本缺陷子集包括有缺陷子集和无缺陷子集;qc,表示为样本缺陷子集{xci}的先验概率,c为c1、c2、m或n,通常取值为1/C或Nc/N;可以理解地,c1、c2、m、n的取值为1或2。
进一步地,为了进一步提高预测的准确性,可以按照以下目标函数公式计算投影矩阵W的最优值,使得经过归一化的样本缺陷子集之间的相对熵距离几何均值最大,从而确定预设投影矩阵。
其中,EW(pc1||pc2)为经过归一化的样本缺陷子集之间的相对熵距离,
在其中一个实施例中,几何空间下的投影矩阵W的最优值,即预设投影矩阵可以确定为样本缺陷子集之间的相对熵距离几何均值最大和经过归一化的样本缺陷子集之间的相对熵距离几何均值最大的加权,如下式所示:
其中,α为权重因子。
在其中一个优选的实施例中,对上式进行推到,从而可以确定预设投影矩阵W*可表示为:
其中,W*为预设投影矩阵,C为样本向量集的样本缺陷子集的个数;DW(pc1||pc2)为在几何空间下的两个样本缺陷子集之间的相对熵距离;qc,表示为样本缺陷子集{xci}的先验概率,c为c1、c2、m或n,c1、c2、m、n的取值范围为1至C;α为权重因子。
请参阅图3,在其中一个实施例中,将映射缺陷向量输入到经过训练的预测模型中的步骤之前,即步骤S150之前,还包括:
S141:将样本向量集的样本缺陷子集通过预设投影矩阵映射到几何空间中,得到映射向量集。
利用预设投影矩阵W*,对样本向量集{xi|i=1,2,...,N}进行几何空间映射,得到映射向量集{yi|i=1,2,...,N},其中,yi=W*Txi
S142:根据样本缺陷子集对应的映射向量集的映射缺陷子集确定映射后的样本缺陷子集的协方差矩阵。
映射后的的样本缺陷子集xc的协方差矩阵Σyc可以表示为:
Σyc=W*TΣcW*
S143:对映射后的样本缺陷子集的协方差矩阵进行特征分解,确定映射后的样本缺陷子集的协方差矩阵的特征值及特征向量。
式中,Λc=diag[λc1,...,λcd],其中,λcj,j=1,...,d是协方差矩阵Σyc的特征值。 j=1,...,d是对应的特征向量,Φc标准正交,
S144:根据映射后的样本缺陷子集的协方差矩阵的特征值及特征向量对预测模型进行特征分解,得到经过训练的预测模型。
得到经过训练的预测模型时,需先计算映射后的样本缺陷子集xc={xci|i=1,2....N1orN2}的均值
在其中一个实施例中,在经过训练的预测模型中映射缺陷向量与样本缺陷子集的马氏距离可以表示为:
Dc(y,Σc)表示映射缺陷向量与样本缺陷子集的马氏距离;Λc=diag[λc1,...,λcd],其中,λcj,j=1,...,d是映射后的样本缺陷子集的协方差矩阵的特征值;其中,j=1,...,d是映射后的样本缺陷子集的协方差矩阵的特征向量;d为对软件模块源代码进行静态度量时的度量值的数量;为映射缺陷子集的均值;y为映射缺陷向量。
本申请还提供一种与上述方法对应的装置。请参阅图4,一种软件缺陷预测装置,包括:
缺陷向量构成模块410,用于对待预测软件的软件模块源代码进行静态度量,构建缺陷向量;
缺陷向量映射模块430,用于将所述缺陷向量通过预设投影矩阵映射到几何空间中得到映射缺陷向量;所述预设投影矩阵为在训练获得经过训练的预测模型的过程中,使得样本向量集的样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵,所述样本缺陷子集包括有缺陷子集和无缺陷子集;
预测结果确定模块450,用于将所述映射缺陷向量输入到经过训练的预测模型中,通过经过训练的预测模型,将映射缺陷向量与样本缺陷子集的马氏距离最小的样本缺陷子集所对应的类别,作为待预测软件对应的缺陷预测结果。
上述软件缺陷预测装置,缺陷向量映射模块430对缺陷向量构成模块410根据待预测软件构成的缺陷向量进行几何空间映射,预设投影矩阵为在训练获得经过训练的预测模型的过程中,使得样本向量集的样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵,样本缺陷子集包括有缺陷子集和无缺陷子集。如此可以实现软件缺陷数据的优化去噪,保证了数据分布的合理性,因此预测结果确定模块450将映射得到的映射缺陷向量输入至经过训练的预测模型中,通过经过训练的预测模型,将映射缺陷向量与样本缺陷子集的马氏距离最小的样本缺陷子集所对应的类别,作为待预测软件对应的缺陷预测结,从而,可以得到准确性更高的待预测软件对应的预测结果。
请参阅图5,在其中一个实施例中,还包括:
样本向量集构建模块421,用于对已知的样本软件的软件模块源代码进行静态度量,构成样本向量,各所述样本向量组成样本向量集;
样本协方差确定模块422,用于根据所述样本向量集的样本缺陷子集确定所述样本缺陷子集的协方差矩阵;
投影矩阵确定模块423,用于根据所述样本缺陷子集的协方差矩阵,将所述样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵确定为所述预设投影矩阵。
请参阅图6,在其中一个实施例中,还包括:
样本向量映射模块441,用于将所述样本向量集通过所述预设投影矩阵映射到几何空间中,得到映射向量集;
映射协方差确定模块442,用于根据所述样本缺陷子集对应的所述映射向量集的映射缺陷子集确定映射后的所述样本缺陷子集的协方差矩阵;
矩阵特征分解模块443,用于对映射后的所述样本缺陷子集的协方差矩阵进行特征分解,确定映射后的所述样本缺陷子集的协方差矩阵的特征值及特征向量;
预测模型确定模块444,用于根据所述映射后的所述样本缺陷子集的协方差矩阵的特征值及特征向量对预测模型进行特征分解,得到所述经过训练的预测模型。
在其中一个实施例中,所述在经过训练的预测模型中所述映射缺陷向量与所述样本缺陷子集的马氏距离表示为:
Dc(y,Σc)表示映射缺陷向量与样本缺陷子集的马氏距离;Λc=diag[λc1,...,λcd],其中,λcj,j=1,...,d是映射后的样本缺陷子集的协方差矩阵的特征值;其中,j=1,...,d是映射后的样本缺陷子集的协方差矩阵的特征向量;d为对软件模块源代码进行静态度量时的度量值的数量;为映射缺陷子集的均值;y为映射缺陷向量。
在其中一个实施例中,所述预设投影矩阵表示为:
其中,W*为预设投影矩阵,C为所述样本向量集的所述样本缺陷子集的个数;DW(pc1||pc2)为在几何空间下的两个所述样本缺陷子集之间的相对熵距离;qc,表示为样本缺陷子集{xci}的先验概率,c为c1、c2、m或n,c1、c2、m、n的取值范围为1至C;α为权重因子。
由于上述装置与上述方法对应,为节约篇幅,对于装置中与方法对应的细节技术特征,在此不作赘述。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出多个变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种软件缺陷预测方法,其特征在于,包括:
对待预测软件的软件模块源代码进行静态度量,构建缺陷向量;
将所述缺陷向量通过预设投影矩阵映射到几何空间中得到映射缺陷向量;所述预设投影矩阵为在训练获得经过训练的预测模型的过程中,使得样本向量集的样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵,所述样本缺陷子集包括有缺陷子集和无缺陷子集;
将所述映射缺陷向量输入到所述经过训练的预测模型中,通过所述经过训练的预测模型,将所述映射缺陷向量与所述样本缺陷子集的马氏距离最小的样本缺陷子集所对应的类别,作为所述待预测软件对应的缺陷预测结果。
2.根据权利要求1所述的软件缺陷预测方法,其特征在于,所述将所述缺陷向量通过预设投影矩阵映射到几何空间中得到映射缺陷向量的步骤之前,还包括:
对已知的样本软件的软件模块源代码进行静态度量,构成样本向量,各所述样本向量组成样本向量集;
根据所述样本向量集的样本缺陷子集确定所述样本缺陷子集的协方差矩阵;
根据所述样本缺陷子集的协方差矩阵,将所述样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵确定为所述预设投影矩阵。
3.根据权利要求2所述的软件缺陷预测方法,其特征在于,所述将所述映射缺陷向量输入到所述经过训练的预测模型之前,还包括:
将所述样本向量集通过所述预设投影矩阵映射到几何空间中,得到映射向量集;
根据所述样本缺陷子集对应的所述映射向量集的映射缺陷子集确定映射后的所述样本缺陷子集的协方差矩阵;
对映射后的所述样本缺陷子集的协方差矩阵进行特征分解,确定映射后的所述样本缺陷子集的协方差矩阵的特征值及特征向量;
根据所述映射后的所述样本缺陷子集的协方差矩阵的特征值及特征向量对预测模型进行特征分解,得到所述经过训练的预测模型。
4.根据权利要求3所述的软件缺陷预测方法,其特征在于,所述在经过训练的预测模型中所述映射缺陷向量与所述样本缺陷子集的马氏距离表示为:
Dc(y,Σc)表示所述映射缺陷向量与所述样本缺陷子集的马氏距离;Λc=diag[λc1,...,λcd],其中,λcj,j=1,...,d是映射后的所述样本缺陷子集的协方差矩阵的特征值;其中,j=1,...,d是映射后的所述样本缺陷子集的协方差矩阵的特征向量;d为对所述软件模块源代码进行静态度量时的度量值的数量;为所述映射缺陷子集的均值;y为所述映射缺陷向量。
5.根据权利要求1所述的软件缺陷预测方法,其特征在于,所述预设投影矩阵表示为:
W * = arg m a x W 1 C ( C - 1 ) Σ 1 ≤ c 1 ≠ c 2 ≤ c log D W ( p c 1 | | p c 2 ) - log ( Σ 1 ≤ c 1 ≠ c 2 ≤ c q c 1 q c 2 D W ( p c 1 | | p c 2 ) ) ( 1 - α ) α Σ 1 ≤ m ≠ n ≤ C q m q n Σ 1 ≤ c 1 ≠ c 2 ≤ C q c 1 q c 2 log D W ( p c 1 | | p c 2 )
其中,W*为预设投影矩阵,C为所述样本向量集的所述样本缺陷子集的个数;DW(pc1||pc2)为在几何空间下的两个所述样本缺陷子集之间的相对熵距离;qc,表示为样本缺陷子集{xci}的先验概率,c为c1、c2、m或n,c1、c2、m、n的取值范围为1至C;α为权重因子。
6.一种软件缺陷预测装置,其特征在于,包括:
缺陷向量构成模块,用于对待预测软件的软件模块源代码进行静态度量,构建缺陷向量;
缺陷向量映射模块,用于将所述缺陷向量通过预设投影矩阵映射到几何空间中得到映射缺陷向量;所述预设投影矩阵为在训练获得经过训练的预测模型的过程中,使得样本向量集的样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵,所述样本缺陷子集包括有缺陷子集和无缺陷子集;
预测结果确定模块,用于将所述映射缺陷向量输入到所述经过训练的预测模型中,通过所述经过训练的预测模型,将所述映射缺陷向量与所述样本缺陷子集的马氏距离最小的样本缺陷子集所对应的类别,作为所述待预测软件对应的缺陷预测结果。
7.根据权利要求6所述的软件缺陷预测装置,其特征在于,还包括:
样本向量集构建模块,用于对已知的样本软件的软件模块源代码进行静态度量,构成样本向量,各所述样本向量组成样本向量集;
样本协方差确定模块,用于根据所述样本向量集的样本缺陷子集确定所述样本缺陷子集的协方差矩阵;
投影矩阵确定模块,用于根据所述样本缺陷子集的协方差矩阵,将所述样本缺陷子集之间的相对熵距离的几何均值最大的投影矩阵确定为所述预设投影矩阵。
8.根据权利要求7所述的软件缺陷预测装置,其特征在于,还包括:
样本向量映射模块,用于将所述样本向量集通过所述预设投影矩阵映射到几何空间中,得到映射向量集;
映射协方差确定模块,用于根据所述样本缺陷子集对应的所述映射向量集的映射缺陷子集确定映射后的所述样本缺陷子集的协方差矩阵;
矩阵特征分解模块,用于对映射后的所述样本缺陷子集的协方差矩阵进行特征分解,确定映射后的所述样本缺陷子集的协方差矩阵的特征值及特征向量;
预测模型确定模块,用于根据所述映射后的所述样本缺陷子集的协方差矩阵的特征值及特征向量对预测模型进行特征分解,得到所述经过训练的预测模型。
9.根据权利要求8所述的软件缺陷预测装置,其特征在于,所述在经过训练的预测模型中所述映射缺陷向量与所述样本缺陷子集的马氏距离表示为:
Dc(y,Σc)表示所述映射缺陷向量与所述样本缺陷子集的马氏距离;Λc=diag[λc1,...,λcd],其中,λcj,j=1,...,d是映射后的所述样本缺陷子集的协方差矩阵的特征值;其中,j=1,...,d是映射后的所述样本缺陷子集的协方差矩阵的特征向量;d为对所述软件模块源代码进行静态度量时的度量值的数量;为所述映射缺陷子集的均值;y为所述映射缺陷向量。
10.根据权利要求6所述的软件缺陷预测装置,其特征在于,所述预设投影矩阵表示为:
W * = arg m a x W 1 C ( C - 1 ) Σ 1 ≤ c 1 ≠ c 2 ≤ c log D W ( p c 1 | | p c 2 ) - log ( Σ 1 ≤ c 1 ≠ c 2 ≤ c q c 1 q c 2 D W ( p c 1 | | p c 2 ) ) ( 1 - α ) α Σ 1 ≤ m ≠ n ≤ C q m q n Σ 1 ≤ c 1 ≠ c 2 ≤ C q c 1 q c 2 log D W ( p c 1 | | p c 2 )
其中,W*为预设投影矩阵,C为所述样本向量集的所述样本缺陷子集的个数;DW(pc1||pc2)为在几何空间下的两个所述样本缺陷子集之间的相对熵距离;qc,表示为样本缺陷子集{xci}的先验概率,c为c1、c2、m或n,c1、c2、m、n的取值范围为1至C;α为权重因子。
CN201710090097.3A 2017-02-20 2017-02-20 软件缺陷预测方法及装置 Active CN106919505B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710090097.3A CN106919505B (zh) 2017-02-20 2017-02-20 软件缺陷预测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710090097.3A CN106919505B (zh) 2017-02-20 2017-02-20 软件缺陷预测方法及装置

Publications (2)

Publication Number Publication Date
CN106919505A true CN106919505A (zh) 2017-07-04
CN106919505B CN106919505B (zh) 2019-07-05

Family

ID=59453908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710090097.3A Active CN106919505B (zh) 2017-02-20 2017-02-20 软件缺陷预测方法及装置

Country Status (1)

Country Link
CN (1) CN106919505B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782548A (zh) * 2020-07-28 2020-10-16 南京航空航天大学 一种软件缺陷预测数据处理方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140929A (ja) * 2001-11-02 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> ソフトウェア信頼性予測方法、ソフトウェア信頼性予測プログラム及び当該予測プログラムを記録したコンピュータ読み取り可能な記録媒体、並びにソフトウェア信頼性予測装置
CN103810101A (zh) * 2014-02-19 2014-05-21 北京理工大学 一种软件缺陷预测方法和软件缺陷预测系统
CN104899135A (zh) * 2015-05-14 2015-09-09 工业和信息化部电子第五研究所 软件缺陷预测方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140929A (ja) * 2001-11-02 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> ソフトウェア信頼性予測方法、ソフトウェア信頼性予測プログラム及び当該予測プログラムを記録したコンピュータ読み取り可能な記録媒体、並びにソフトウェア信頼性予測装置
CN103810101A (zh) * 2014-02-19 2014-05-21 北京理工大学 一种软件缺陷预测方法和软件缺陷预测系统
CN104899135A (zh) * 2015-05-14 2015-09-09 工业和信息化部电子第五研究所 软件缺陷预测方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
熊婧等: "基于Adaboost算法的软件缺陷预测模型", 《计算机科学》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782548A (zh) * 2020-07-28 2020-10-16 南京航空航天大学 一种软件缺陷预测数据处理方法、装置及存储介质
CN111782548B (zh) * 2020-07-28 2022-04-05 南京航空航天大学 一种软件缺陷预测数据处理方法、装置及存储介质

Also Published As

Publication number Publication date
CN106919505B (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
Yang et al. TLEL: A two-layer ensemble learning approach for just-in-time defect prediction
Zhou et al. Performance evaluation of hybrid GA–SVM and GWO–SVM models to predict earthquake-induced liquefaction potential of soil: a multi-dataset investigation
Krumbein Size frequency distributions of sediments and the normal phi curve
Hu et al. Deep learning for use in lumber classification tasks
CN107909564A (zh) 一种基于深度学习的全卷积网络图像裂纹检测方法
CN103853786B (zh) 数据库参数的优化方法与系统
CN104899135B (zh) 软件缺陷预测方法和系统
TW201407154A (zh) 自動及手動缺陷分類之整合
Xin et al. Deep community detection in topologically incomplete networks
CN109034127A (zh) 一种频谱异常检测方法、装置和电子设备
CN103957116B (zh) 一种云故障数据的决策方法及系统
CN106651574A (zh) 一种个人信用评估方法及装置
CN110363230A (zh) 基于加权基分类器的stacking集成污水处理故障诊断方法
CN106528417A (zh) 软件缺陷智能检测方法和系统
CN108877947A (zh) 基于迭代均值聚类的深度样本学习方法
JP2008077403A (ja) 評価装置、評価方法及び評価プログラム
Angenent et al. Large-scale machine learning for business sector prediction
CN106919505A (zh) 软件缺陷预测方法及装置
CN105354583B (zh) 基于局部均值的不平衡数据分类方法
CN113191359A (zh) 基于支持与查询样本的小样本目标检测方法与系统
CN109740678A (zh) 基于多级不均匀空间抽样的遥感影像分类精度检验方法
CN105335763A (zh) 一种基于改进型极速学习机的织物疵点分类方法
CN106161458B (zh) 基于双加权在线极限学习机的网络入侵检测方法
Qin et al. Fabric defect detection algorithm based on residual energy distribution and Gabor feature fusion
CN107122590A (zh) 一种油浸式变压器故障相关指标筛选方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant