CN112199280B - 软件的缺陷预测方法和装置、存储介质和电子装置 - Google Patents
软件的缺陷预测方法和装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN112199280B CN112199280B CN202011065824.9A CN202011065824A CN112199280B CN 112199280 B CN112199280 B CN 112199280B CN 202011065824 A CN202011065824 A CN 202011065824A CN 112199280 B CN112199280 B CN 112199280B
- Authority
- CN
- China
- Prior art keywords
- vector
- network
- intrinsic
- target
- encoding
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3628—Software debugging of optimised code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了软件的缺陷预测方法和装置、存储介质和电子装置。该方法包括:通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量;将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量;使用目标分类器对上述第二特征向量进行分类,得到分类结果,上述分类结果用于表示上述第二特征向量是否存在缺陷。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种软件的缺陷预测方法和装置、存储介质和电子装置。
背景技术
人们已经进入了信息化科技时代,小到移动电话、智能电视,大到飞机,动车,这些科技产品都离不开软件的控制。人们的生活也同时随着各种高科技产品的出现发生着翻天覆地的变化,社会也正朝着更加科技化、智能化的方向发展。同时各个行业对软件系统的依赖性越来越强。人们也越来越关注软件产品的质量,只有可靠性越高的软件产品才能最终得到用户的支持和认可。
对于一个软件项目的开发,软件若存在缺陷将会在软件质量中起严重的反向作用。如果软件中的潜在缺陷没有尽快解决,在软件运行期间可能会产生各种出乎意料的结果,轻则时间延误引起项目搁置,重则威胁到社会各界使用者的生命安全和财产安全,给企业或用户带来直接惨重的经济损失。软件开发计划SDP技术更加适用于项目开发的早期阶段,提前识别出软件程序模块中的潜在缺陷。通过预测出软件中将会存在的缺陷并反映出相关信息,对于软件质量和优化测试资源具有重要意义。但是SDP技术并不能适用于软件缺陷预测的全部阶段。
在每次开发一个新项目时,都需要对这个新的项目进行缺陷预测,在CPDP的解决方法中,迁移学习是一种重要的选择方案,通过将源项目学习到的知识迁移到相关但是不相同的目标域中。通过这种方式能够加快源项目的缺陷预测时间,但是,源域和目标域的数据结构存在异构性的问题。
针对相关技术中,在缺陷预测时,源域和目标域的数据结构存在异构性的问题,尚未提出有效的技术方案。
发明内容
本发明实施例提供了一种软件的缺陷预测方法和装置、存储介质和电子装置,以至少解决相关技术中,在缺陷预测时,源域和目标域的数据结构存在异构性的技术问题。
根据本发明实施例的一个方面,提供了软件的缺陷预测方法,包括:通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量;将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量;使用目标分类器对上述第二特征向量进行分类,得到分类结果,其中,上述分类结果用于表示上述第二特征向量是否存在缺陷。
根据本发明实施例的另一方面,还提供了软件的缺陷预测装置,包括:第一处理单元,用于通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量;第二处理单元,用于将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;第三处理单元,用于通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量;第四处理单元,用于使用目标分类器对上述第二特征向量进行分类,得到分类结果,其中,上述分类结果用于表示上述第二特征向量是否存在缺陷。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述软件的缺陷预测方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的软件的缺陷预测方法。
通过本发明,通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量;将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量;使用目标分类器对上述第二特征向量进行分类,得到分类结果,其中,上述分类结果用于表示上述第二特征向量是否存在缺陷。采用上述方式,解决了相关技术中,在缺陷预测时,源域和目标域的数据结构存在异构性的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的软件的缺陷预测方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的软件的缺陷预测方法的流程示意图;
图3是根据本发明实施例的另一种可选的软件的缺陷预测方法的流程示意图;
图4是根据本发明实施例的一种可选的软件的缺陷预测装置的结构示意图;
图5是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种软件的缺陷预测方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的软件的缺陷预测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
可选地,上述方法可以应用于软件缺陷预测的场景中,本实施例在此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述软件的缺陷预测方法的流程可以包括步骤:
步骤S202,通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量。
步骤S204,将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量。
步骤S206,通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量。
步骤S208,使用目标分类器对上述第二特征向量进行分类,得到分类结果,其中,上述分类结果用于表示上述第二特征向量是否存在缺陷。
通过本实施例,通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量;将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量;使用目标分类器对上述第二特征向量进行分类,得到分类结果,其中,上述分类结果用于表示上述第二特征向量是否存在缺陷。采用上述方式,解决了相关技术中,在缺陷预测时,源域和目标域的数据结构存在异构性的技术问题。
在一种可选的实施例中,在上述通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量之前,上述方法还包括:构建源域网络,其中,上述第一目标网络包括上述源域网络;将上述源域数据集输入至上述源域网络;通过以下公式确定上述源域网络对应的第一网络参数;其中,上述第一网络参数用于表示输入至上述源域网络的数据与输出上述源域网络的数据之间的重构误差,上述Q1为上述第一网络参数,上述源域网络的第i个输入 上述源域网络为M+1为上述源域网络的层数,为经过上述源域网络学习后的重构输出表示,构建目标域网络,其中,上述第一目标网络包括上述目标域网络;将上述目标域数据集输入至上述目标域网络;通过以下公式确定上述目标域网络对应的第二网络参数; 其中,上述第二网络参数用于表示输入至上述目标域网络的数据与输出上述目标域网络的数据之间的重构误差,上述Q2为上述第二网络参数,上述目标域网络的第i个输入上述目标域网络为M+1为上述目标域网络的层数,为经过上述目标域网络学习后的重构输出表示,
在一种可选的实施例中,上述通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量,包括:在上述Q1小于第一阈值的情况下,通过以下公式确定上述第一内在编码向量:其中,上述C(M/2,源)为上述第一内在编码向量;在上述Q2小于第二阈值的情况下,通过以下公式确定上述第二内在编码向量:其中,上述C(M/2,目)为上述第二内在编码向量。
在一种可选的实施例中,上述将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量,包括:构建全局编码网络,其中,上述第二目标网络包括上述全局编码网络;将上述第一内在编码向量和上述第二内在编码向量分别输入至上述全局编码网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;在上述将上述第一内在编码向量和上述第二内在编码向量分别输入至上述全局编码网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量之后,上述方法还包括:通过以下公式确定上述全局编码网络对应的第三网络参数; 其中,上述C(M/2,源)为上述第一内在编码向量,上述G(L,源)为上述第一潜在编码向量,上述C(M/2,目)为上述第二内在编码向量,上述G(L,目)为上述第二潜在编码向量,上述全局编码网络为L表示上述全局编码网络的层数。
在一种可选的实施例中,在上述通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量之前,上述方法还包括:通过以下公式确定上述第二目标网络的目标网络参数;
在一种可选的实施例中,上述通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量,包括:通过以下公式确定上述第一特征向量:其中,上述第一特征向量为上述通过以下公式确定上述第二特征向量:其中,上述第二特征向量为上述
可选地,上述分类器为随机森林分类器。
下面结合一可选示例对软件的缺陷预测方法的流程进行说明,如图3所示,该方法可以包括以下步骤:
如图3所示,本申请实施为基于双编码网络的无监督跨项目缺陷预测,假设表示源项目域(源域),表示源域中第i个样本,Ns表示源域中样本的个数。假设表示目标项目域(目标域),表示目标域中第i个样本,Nt表示X(目)中样本的个数;I表示将要为源域和目标域学习的潜在公共完整表示,具体步骤如下:
步骤1,分别构建针对源域和目标域的全连接深度神经网络,对域内数据进行自动编码,具体做法为,对于源域网络:
同理,对于目标域网络:
步骤2,基于求解得到的网络参数,生成各自对应域的内在编码表示。具体做法为,基于公式(2)和(4),分别学习源域网络和目标网络的网络参数。基于网络参数和求得源域和目标域所有样本的内在编码表示,分别如公式(5)和(6)所示:
步骤3,构建全局编码网络,以各自域的内在编码表示为输入,学习其共有的潜在完整编码表示。具体做法为,为了确保学到的L能够完整地重构源域编码表示C(M/2,源)和目标域编码表示C(M/2,目),而不是简单地为源域编码和目标域编码去学习一个公共空间,这里通过构建全连接网络表示全局编码网络来学习其共有的潜在完整表示空间。令表示全局编码网络,表示源域通道的网络参数,表示目标域通道的网络参数,L表示网络的层数,G(0)=I表示网络的输入,则该全局编码网络的目标函数可表示为:
步骤4,基于求解得到的全局编码网络的网络参数,获得源域和目标域的深度特征表示。具体做法为,联合学习各自域的内部编码网络和全局编码网络,学习最优网络参数,求解源域和目标域的深度特征表示。基于公式(2)、(4)和(7),生成求解源域和目标域的深度特征表示的目标函数如下:
步骤5,对于目标域的每个深度特征表示,使用随机森林分类器进行分类,获取最终预测结果。具体为,首先根据公式(8),求取各个网络参数进而求得源域和目标域的深度特征表示和和分别表示源域和目标域第i个样本的深度特征表示;然后,对于目标域中的每一个样本使用随机森林分类器进行分类,预测其是否有缺陷。
以下结合具体实验对本发明的有益效果进行说明。
本发明实施例中,在软件缺陷预测常用的其中一个公开数据集RELINK上进行实验说明其有益效果。RELINK数据集中样本度量个数为26,由复杂代码性度量和其他的面向对象度量。RELINK包含3个项目:APACHE、SAFE和ZXING,具体情况如表1(RELINK数据集)所示。本实验设置如下:依次选取3个项目中的一个作为目标项目,选取剩余的2个项目依次作为源项目,即共有APACHE--SAFE,APACHE--ZXING;SAFE--ZXING个组合。本实验报告的结果为目标项目结果的平均值。实验在评价跨项目缺陷预测的性能时使用F-measure和召回率pd评价指标,F-measure指标就是将召回率pd与准确率precision结合起来评价,即F-measure=2*pd*precision/(pd+precision)。F-measure和pd值越大说明跨项目缺陷预测的性能越好。
表1
本发明实施例中,采用一种无监督学习方法,表2(各个方法在RELINK数据集上的F-measure(Fm)和pd)列出了本发明方法与对比方法在RELINK数据集上进行跨项目缺陷预测时的F-Meaure和Pd。从表2可以看出,本发明方法的跨项目缺陷预测性能均优于主成分分析(Principle Component Analysis,简称PCA)、典型关联分析(Canonical CorrelationAnalysis,简称CCA)和缺陷迁移学习(Transfer Defect Learning,简称TCA)方法。PCA方法主要考虑了对样本的降维,并未过多关注降维过程中样本内部信息的最大保留,因此性能不如本发明方法;与CCA、TCA相比,本发明方法能更深度地提取样本的特征,这说明本方法具有优越性。
表2
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
通过本实施例,跨项目软件缺陷预测(CPDP)作为SDP领域的一个重点研究方向,一来不依赖于同一项目的大量历史数据,二来不必担心项目存在过时的隐患。当软件的快速更新造成大量的软件项目数据过时,CPDP可以对最新的软件仓库进行度量分析,根据项目之间的潜在特征关系来保证缺陷预测性能。在CPDP的解决方法中,迁移学习是一种重要的选择方案,通过将源项目学习到的知识迁移到相关但是不相同的目标域中。本发明就是将迁移学习的思想和深度学习技术相结合来解决跨项目中分布差异问题。深度自编码器是一种深度神经网络,本发明首次将深度双自编码器网络应用在CPDP领域,旨在将度量元(如代码的行数、循环结构、递归深度等)通过多层神经网络后组合为高级抽象复杂的深度特征,再利用得到的深度特征进行建模,提高软件缺陷预测的各项性能。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的又一方面,还提供了软件的缺陷预测装置,如图4所示,该装置包括:
第一处理单元402,用于通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量;
第二处理单元404,用于将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;
第三处理单元406,用于通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量;
第四处理单元408,用于使用目标分类器对上述第二特征向量进行分类,得到分类结果,其中,上述分类结果用于表示上述第二特征向量是否存在缺陷。
通过本实施例,通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量;将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量;使用目标分类器对上述第二特征向量进行分类,得到分类结果,其中,上述分类结果用于表示上述第二特征向量是否存在缺陷。采用上述方式,解决了相关技术中,在缺陷预测时,源域和目标域的数据结构存在异构性的技术问题。
作为一种可选的技术方案,上述装置还包括:第五处理单元,用于构建源域网络,其中,上述第一目标网络包括上述源域网络;将上述源域数据集输入至上述源域网络;通过以下公式确定上述源域网络对应的第一网络参数;其中,上述第一网络参数用于表示输入至上述源域网络的数据与输出上述源域网络的数据之间的重构误差,上述Q1为上述第一网络参数,上述源域网络的第i个输入上述源域网络为M+1为上述源域网络的层数,为经过上述源域网络学习后的重构输出表示,第六处理单元,用于构建目标域网络,其中,上述第一目标网络包括上述目标域网络;将上述目标域数据集输入至上述目标域网络;通过以下公式确定上述目标域网络对应的第二网络参数;其中,上述第二网络参数用于表示输入至上述目标域网络的数据与输出上述目标域网络的数据之间的重构误差,上述Q2为上述第二网络参数,上述目标域网络的第i个输入上述目标域网络为M+1为上述目标域网络的层数,为经过上述目标域网络学习后的重构输出表示,
作为一种可选的技术方案,上述第一处理单元,还用于在上述Q1小于第一阈值的情况下,通过以下公式确定上述第一内在编码向量:其中,上述C(M/2,源)为上述第一内在编码向量;在上述Q2小于第二阈值的情况下,通过以下公式确定上述第二内在编码向量:其中,上述C(M/2,目)为上述第二内在编码向量。
作为一种可选的技术方案,上述第二处理单元,还用于构建全局编码网络,其中,上述第二目标网络包括上述全局编码网络;将上述第一内在编码向量和上述第二内在编码向量分别输入至上述全局编码网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;上述装置还包括:第七处理单元,用于通过以下公式确定上述全局编码网络对应的第三网络参数; 其中,上述C(M/2,源)为上述第一内在编码向量,上述G(L,源)为上述第一潜在编码向量,上述C(M/2,目)为上述第二内在编码向量,上述G(L,目)为上述第二潜在编码向量,上述全局编码网络为L表示上述全局编码网络的层数。
作为一种可选的技术方案,上述装置还包括:第八处理单元,用于在上述通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量之前,通过以下公式确定上述第二目标网络的目标网络参数;
作为一种可选的技术方案,上述分类器为随机森林分类器。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量;
S2,将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;
S3,通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量;
S4,使用目标分类器对上述第二特征向量进行分类,得到分类结果,其中,上述分类结果用于表示上述第二特征向量是否存在缺陷。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取器)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述软件的缺陷预测方法的电子装置,如图5所示,该电子装置包括存储器502和处理器505,该存储器502中存储有计算机程序,该处理器504被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到上述源域数据集对应的第一内在编码向量、以及上述目标域数据集对应的第二内在编码向量;
S2,将上述第一内在编码向量和上述第二内在编码向量分别输入至第二目标网络,得到上述第一内在编码向量对应的第一潜在编码向量、以及上述第二内在编码向量对应的第二潜在编码向量;
S3,通过上述第一内在编码向量和上述第一潜在编码向量确定第一特征向量,以及通过上述第二内在编码向量和上述第二潜在编码向量确定第二特征向量;
S4,使用目标分类器对上述第二特征向量进行分类,得到分类结果,其中,上述分类结果用于表示上述第二特征向量是否存在缺陷。
可选地,本领域普通技术人员可以理解,图5所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图5其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图5中所示更多或者更少的组件(如网络接口等),或者具有与图5所示不同的配置。
其中,存储器502可用于存储软件程序以及模块,如本发明实施例中的软件的缺陷预测方法和装置对应的程序指令/模块,处理器504通过运行存储在存储器502内的软件程序以及模块,从而执行各种功能应用以及原始数据信息传输,即实现上述的软件的缺陷预测方法。存储器502可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器502可进一步包括相对于处理器504远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器502具体可以但不限于用于存储目标对象的目标高度等信息。作为一种示例,如图5所示,上述存储器502中可以但不限于包括上述软件的缺陷预测装置中的第一处理单元402、第二处理单元404,第三处理单元406,第四处理单元408。此外,还可以包括但不限于上述软件的缺陷预测装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置506包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置506为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:连接总线508,用于连接上述电子装置中的各个模块部件。
在其他实施例中,上述终端或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种软件的缺陷预测方法,其特征在于,包括:
通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到所述源域数据集对应的第一内在编码向量、以及所述目标域数据集对应的第二内在编码向量;
将所述第一内在编码向量和所述第二内在编码向量分别输入至第二目标网络,得到所述第一内在编码向量对应的第一潜在编码向量、以及所述第二内在编码向量对应的第二潜在编码向量;
通过所述第一内在编码向量和所述第一潜在编码向量确定第一特征向量,以及通过所述第二内在编码向量和所述第二潜在编码向量确定第二特征向量;
使用目标分类器对所述第二特征向量进行分类,得到分类结果,其中,所述分类结果用于表示所述第二特征向量是否存在缺陷。
2.根据权利要求1所述的方法,其特征在于,在所述通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到所述源域数据集对应的第一内在编码向量、以及所述目标域数据集对应的第二内在编码向量之前,所述方法还包括:
构建源域网络,其中,所述第一目标网络包括所述源域网络;
将所述源域数据集输入至所述源域网络;
通过以下公式确定所述源域网络对应的第一网络参数;
其中,所述第一网络参数用于表示输入至所述源域网络的数据与输出所述源域网络的数据之间的重构误差,所述Q1为所述第一网络参数,所述源域网络的第i个输入所述源域网络为M+1为所述源域网络的层数,为经过所述源域网络学习后的重构输出表示, 所述表示源域中第i个样本,所述表示所述源域网络的网络参数;
构建目标域网络,其中,所述第一目标网络包括所述目标域网络;
将所述目标域数据集输入至所述目标域网络;
通过以下公式确定所述目标域网络对应的第二网络参数;
4.根据权利要求2所述的方法,其特征在于,所述将所述第一内在编码向量和所述第二内在编码向量分别输入至第二目标网络,得到所述第一内在编码向量对应的第一潜在编码向量、以及所述第二内在编码向量对应的第二潜在编码向量,包括:
构建全局编码网络,其中,所述第二目标网络包括所述全局编码网络;
将所述第一内在编码向量和所述第二内在编码向量分别输入至所述全局编码网络,得到所述第一内在编码向量对应的第一潜在编码向量、以及所述第二内在编码向量对应的第二潜在编码向量;
在所述将所述第一内在编码向量和所述第二内在编码向量分别输入至所述全局编码网络,得到所述第一内在编码向量对应的第一潜在编码向量、以及所述第二内在编码向量对应的第二潜在编码向量之后,所述方法还包括:
通过以下公式确定所述全局编码网络对应的第三网络参数;
7.根据权利要求1至6任一项中所述的方法,其特征在于,所述分类器为随机森林分类器。
8.一种软件的缺陷预测装置,其特征在于,包括:
第一处理单元,用于通过第一目标网络对源域数据集和目标域数据集分别进行编码,得到所述源域数据集对应的第一内在编码向量、以及所述目标域数据集对应的第二内在编码向量;
第二处理单元,用于将所述第一内在编码向量和所述第二内在编码向量分别输入至第二目标网络,得到所述第一内在编码向量对应的第一潜在编码向量、以及所述第二内在编码向量对应的第二潜在编码向量;
第三处理单元,用于通过所述第一内在编码向量和所述第一潜在编码向量确定第一特征向量,以及通过所述第二内在编码向量和所述第二潜在编码向量确定第二特征向量;
第四处理单元,用于使用目标分类器对所述第二特征向量进行分类,得到分类结果,其中,所述分类结果用于表示所述第二特征向量是否存在缺陷。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011065824.9A CN112199280B (zh) | 2020-09-30 | 2020-09-30 | 软件的缺陷预测方法和装置、存储介质和电子装置 |
PCT/CN2021/091757 WO2022068200A1 (zh) | 2020-09-30 | 2021-04-30 | 缺陷预测方法和装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011065824.9A CN112199280B (zh) | 2020-09-30 | 2020-09-30 | 软件的缺陷预测方法和装置、存储介质和电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112199280A CN112199280A (zh) | 2021-01-08 |
CN112199280B true CN112199280B (zh) | 2022-05-20 |
Family
ID=74012896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011065824.9A Active CN112199280B (zh) | 2020-09-30 | 2020-09-30 | 软件的缺陷预测方法和装置、存储介质和电子装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112199280B (zh) |
WO (1) | WO2022068200A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199280B (zh) * | 2020-09-30 | 2022-05-20 | 三维通信股份有限公司 | 软件的缺陷预测方法和装置、存储介质和电子装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160004627A1 (en) * | 2014-07-06 | 2016-01-07 | International Business Machines Corporation | Utilizing semantic clusters to Predict Software defects |
WO2017181286A1 (en) * | 2016-04-22 | 2017-10-26 | Lin Tan | Method for determining defects and vulnerabilities in software code |
US20180150742A1 (en) * | 2016-11-28 | 2018-05-31 | Microsoft Technology Licensing, Llc. | Source code bug prediction |
CN110659207B (zh) * | 2019-09-02 | 2020-09-08 | 北京航空航天大学 | 基于核谱映射迁移集成的异构跨项目软件缺陷预测方法 |
CN110751186B (zh) * | 2019-09-26 | 2022-04-08 | 北京航空航天大学 | 一种基于监督式表示学习的跨项目软件缺陷预测方法 |
CN111198820B (zh) * | 2020-01-02 | 2022-08-26 | 南京邮电大学 | 一种基于共享隐层自编码器的跨项目软件缺陷预测方法 |
CN111290947B (zh) * | 2020-01-16 | 2022-06-14 | 华南理工大学 | 一种基于对抗判别的跨软件缺陷预测方法 |
CN111522743B (zh) * | 2020-04-17 | 2021-10-22 | 北京理工大学 | 一种基于梯度提升树支持向量机的软件缺陷预测方法 |
CN112199280B (zh) * | 2020-09-30 | 2022-05-20 | 三维通信股份有限公司 | 软件的缺陷预测方法和装置、存储介质和电子装置 |
-
2020
- 2020-09-30 CN CN202011065824.9A patent/CN112199280B/zh active Active
-
2021
- 2021-04-30 WO PCT/CN2021/091757 patent/WO2022068200A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN112199280A (zh) | 2021-01-08 |
WO2022068200A1 (zh) | 2022-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569437B (zh) | 点击概率预测、页面内容推荐方法和装置 | |
CN112989169B (zh) | 目标对象识别方法、信息推荐方法、装置、设备及介质 | |
CN110796399B (zh) | 基于区块链的资源分配方法以及装置 | |
CN115374186B (zh) | 基于大数据的数据处理方法及ai系统 | |
CN111325417A (zh) | 实现隐私保护的多方协同更新业务预测模型的方法及装置 | |
CN112231580B (zh) | 基于人工智能的信息推荐方法、装置、电子设备及存储介质 | |
CN112199280B (zh) | 软件的缺陷预测方法和装置、存储介质和电子装置 | |
CN109783357A (zh) | 测试应用程序的方法及装置、计算机设备、存储介质 | |
CN114036405A (zh) | 一种基于图卷积网络的社交推荐方法与系统 | |
CN113642730A (zh) | 卷积网络剪枝方法和装置、电子设备 | |
CN113541986B (zh) | 5g切片的故障预测方法、装置及计算设备 | |
CN113674152A (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
CN112541556A (zh) | 模型构建优化方法、设备、介质及计算机程序产品 | |
CN112256957A (zh) | 一种信息排序方法、装置、电子设备及存储介质 | |
CN110008398B (zh) | 一种数据分类管理推荐方法及装置 | |
CN116361643A (zh) | 实现对象推荐的模型训练方法及对象推荐方法及相关装置 | |
CN113327154B (zh) | 基于大数据的电商用户讯息推送方法及系统 | |
Yan et al. | A Novel OBDD‐Based Reliability Evaluation Algorithm for Wireless Sensor Networks on the Multicast Model | |
CN115906927A (zh) | 基于人工智能的数据访问分析方法、系统及云平台 | |
CN111210279B (zh) | 一种目标用户预测方法、装置和电子设备 | |
CN113722554A (zh) | 数据分类方法、装置及计算设备 | |
CN112036418A (zh) | 用于提取用户特征的方法和装置 | |
CN113052647A (zh) | 一种用于冷启动的推荐方法、装置及计算机可读存储介质 | |
CN112989603B (zh) | 一种工作流的调整方法和装置 | |
CN118151983A (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 |