软件可靠性预测方法、装置、计算机设备和存储介质
技术领域
本申请涉及软件测试技术领域,特别是涉及一种软件可靠性预测方法、装 置、计算机设备和存储介质。
背景技术
随着信息技术的发展和应用,飞机发动机、起落架等安全相关软件在整机 中的比重日益扩大,安全相关的控制软件从代码和复杂度两个方面呈指数增长, 其功能越来越强大,并且已经渗透到人们生产生活的方方面面。
软件可靠性关系到软件产品成本、开发周期和售后服务等,软件***一旦 出现故障,那么极有可能出现严重后果。软件可靠性是指在规定的条件下在规 定的时间内,软件不发生失效的概率。对软件可靠性进行预测可以有效地对软 件可靠性进行控制,从而减少软件***故障事故的发生。然而,传统的软件可 靠性预测存在准确率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种高准确率的软件可靠性预测 方法、装置、计算机设备和存储介质。
一种软件可靠性预测方法,所述方法包括:
接收待测试软件的特征属性参数;
将待测试软件的特征属性参数输入至训练好的深度置信网络中,输出待测 试软件的特征提取数据,训练好的深度置信网络通过软件特征属性参数训练样 本对深度置信网络训练得到;
将待测试软件的特征提取数据输入至支持向量机,得到待测试软件的可靠 性预测结果。
在一个实施例中,深度置信网络通过如下方式训练得到:
获取软件特征属性参数训练样本;
将软件特征属性参数训练样本输入至深度置信网络中,调整深度置信网络 的输入维度;
基于软件特征属性参数训练样本对调整输入维度后的深度置信网络进行训 练,得到训练好的深度置信网络。
在一个实施例中,调整深度置信网络的输入维度,包括:
获取软件特征属性参数训练样本的维度以及深度置信网络中每一单元层的 信息熵;
根据信息熵以及软件特征属性参数训练样本的维度,调整深度置信网络中 每一层的输入维度。
在一个实施例中,将软件特征属性参数训练样本输入至深度置信网络中, 调整深度置信网络的输入维度,之前还包括:
获取深度置信网络的初始化权值;
将软件特征属性参数训练样本输入至深度置信网络中,调整深度置信网络 的输入维度,包括:
根据软件特征属性参数训练样本以及深度置信网络的初始化权值,调整深 度置信网络的输入维度。
在一个实施例中,获取深度置信网络的初始化权值,包括:
获取预设权值初始区域,并将预设权值初始区域均分为多个区域;
根据预设误差函数,计算得到各区域对应的误差函数值;
将误差函数值最小值对应的区域均分为多个子区域,返回根据预设误差函 数,计算得到各区域对应的误差函数值的步骤,直至误差函数值不再变化,得 到深度置信网络的初始化权值。
在一个实施例中,获取软件特征属性参数训练样本,包括:
采集软件特征数据;
将软件特征数据进行归一化处理;
对归一化处理后的软件特征数据重组,得到软件特征属性参数训练样本。
在一个实施例中,将待测试软件的特征提取数据输入至支持向量机,得到 待测试软件的可靠性预测结果,包括:
获取支持向量机的内积函数;
根据内积函数以及待测试软件的参数分类结果,得到待测试软件的可靠性 预测结果。
一种软件可靠性预测装置,所述装置包括:
参数获取模块,用于接收待测试软件的特征属性参数;
参数分类模块,用于将待测试软件的特征属性参数输入至训练好的深度置 信网络中,输出待测试软件的特征提取数据,训练好的深度置信网络通过软件 特征属性参数训练样本对深度置信网络训练得到;
可靠性预测模块,用于将待测试软件的特征提取数据输入至支持向量机, 得到待测试软件的可靠性预测结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序, 所述处理器执行所述计算机程序时实现以下步骤:
接收待测试软件的特征属性参数;
将待测试软件的特征属性参数输入至训练好的深度置信网络中,输出待测 试软件的特征提取数据,训练好的深度置信网络通过软件特征属性参数训练样 本对深度置信网络训练得到;
将待测试软件的特征提取数据输入至支持向量机,得到待测试软件的可靠 性预测结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处 理器执行时实现以下步骤:
接收待测试软件的特征属性参数;
将待测试软件的特征属性参数输入至训练好的深度置信网络中,输出待测 试软件的特征提取数据,训练好的深度置信网络通过软件特征属性参数训练样 本对深度置信网络训练得到;
将待测试软件的特征提取数据输入至支持向量机,得到待测试软件的可靠 性预测结果。
上述软件可靠性预测方法、装置、计算机设备和存储介质,通过接收待测 试软件的特征属性参数,将待测试软件的特征属性参数输入至训练好的深度置 信网络中,训练好的深度置信网络通过软件特征属性参数训练样本对深度置信 网络训练得到,输出待测试软件的特征提取数据,将待测试软件的特征提取数 据输入支持向量机,得到待测试软件的可靠性预测结果。由于训练好的深度置 信网络可以更好地实现对待测试软件的特征属性参数的逐层特征提取,再将深 度置信网络输出的特征提取数据输入至支持向量机进行判别,可以提高软件可 靠性预测的准确率。
附图说明
图1为一个实施例中软件可靠性预测方法的应用环境图;
图2为一个实施例中软件可靠性预测方法的流程示意图;
图3为一个实施例中深度置信网络训练步骤的流程示意图;
图4为一个实施例中深度置信网络的示意图;
图5为一个实施例中支持向量机的示意图;
图6为一个实施例中软件可靠性预测的实现框图;
图7为一个实施例中软件可靠性预测装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅 用以解释本申请,并不用于限定本申请。
本申请提供的软件可靠性预测方法,可以应用于如图1所示的应用环境中。 可通过特定的软件分析工具获取软件特征属性参数,处理器接收待测试软件的 特征属性参数,将待测试软件的特征属性参数输入至训练好的深度置信网络, 输出待测试软件的特征提取数据,再将待测试软件的特征提取数据输入至支持 向量机,得到待测试软件的可靠性预测结果。其中,通过软件特征属性参数训 练样本对深度置信网络训练,得到训练好的深度置信网络,处理器可以但不限 于是各种个人计算机、笔记本电脑、智能手机和平板电脑等。
在一个实施例中,如图2所示,提供了一种软件可靠性预测方法,以该方 法应用于图1中的处理器为例进行说明,包括以下步骤:
步骤202,接收待测试软件的特征属性参数。
软件的特征属性参数是指基于代码结构的软件标志性参数,可通过特定的 软件分析工具获取,比如Understand,Understand是一个软件分析工具,它集成 了代码编辑器、代码***和代码分析器,提供了很强大的界面,将分析结果 以各种形式呈现给用户,比如图形、图表、架构图等。具体地,软件特征属性 数据包括:CL(Code Lines,代码行数)、DS(Declarative Statements,申明性陈 述)、ES(Executable Statements,可执行语句)、F(Files,文件)、Fun(Functions, 功能)、IL(Inactive Lines,无效行)、PL(Preprocess orlines,预处理)、E(Errors, 错误)、W(Warnings,警告)以及V(Violations,违规)等。
步骤204,将待测试软件的特征属性参数输入至训练好的深度置信网络中, 输出待测试软件的特征提取数据,训练好的深度置信网络通过软件特征属性参 数训练样本对深度置信网络训练得到。
特征提取数据是指对深度置信网络的输出影响力满足预设条件的数据,而 训练好的深度置信网络包括多层T型受限玻尔兹曼机,可以实现逐层特征提取。 对深度置信网络的输出产生影响的因素有很多,但这些影响因素有主次之分, 如果把所有的待测试软件的特征属性参数都作为深度置信网络的输入,会导致 深度置信网络性能的下降以及计算复杂性的增加。因此需要对影响深度置信网 络输出的众多因素进行筛选训练,以找出对深度置信网络输出影响最大的变量。
步骤206,将待测试软件的特征提取数据输入至支持向量机,得到待测试软 件的可靠性预测结果。
通过支持向量机将输入空间变换至一个高维空间,在这个高维空间中求解 最优分类面,即在特征空间上求解最优分类面,支持向量机是用来解决二分类 问题的有监督学习算法,也可以用来解决非线性问题。待测试软件的特征提取 数据通过深度置信网络进行筛选得到,再将经过深度置信网络筛选得到的特征 提取输入至支持向量机进行判别,得到待测试软件的可靠性预测结果。
上述软件可靠性预测方法,通过接收待测试软件的特征属性参数,将待测 试软件的特征属性参数输入至训练好的深度置信网络中,训练好的深度置信网 络通过软件特征属性参数训练样本对深度置信网络训练得到,输出待测试软件 的特征提取数据,将待测试软件的特征提取数据输入支持向量机,得到待测试 软件的可靠性预测结果。由于训练好的深度置信网络可以更好地实现对待测试 软件的特征属性参数的逐层特征提取,再将深度置信网络输出的特征提取数据 输入至支持向量机进行判别,可以提高软件可靠性预测的准确率。
在一个实施例中,深度置信网络通过如下方式训练得到,如图3所示,包 括:
步骤302,获取软件特征属性参数训练样本。
在进行数据采集之前首先需要确定采集哪些软件特征属性数据,然后针对 需要采集的数据类型通过软件分析工具对软件代码级数据进行采集。数据采集 完成后,需要对采集到的数据进行归一化处理,最后对归一化处理后的数据进 行打乱重组,并输入到深度置信网络中进行训练。在一个实施例中,获取软件 特征属性参数训练样本,包括:采集软件特征数据;将软件特征数据进行归一 化处理;对归一化处理后的软件特征数据重组,得到软件特征属性参数训练样 本。归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无 量纲的表达式,成为标量。数据打乱重组可以使输入的数据无序,从而提高深度置信网络训练的精准性。
步骤304,将软件特征属性参数训练样本输入至深度置信网络中,调整深度 置信网络的输入维度。
对深度置信网络的输出产生影响的因素有很多,但这些影响因素有主次之 分,如果把所有影响因素都作为深度置信网络的输入,会导致深度置信网络性 能的下降以及计算复杂性的增加。为确定DBN(Deep Belief Network,深度置信 网络)输入维数,需要对影响DBN网络输出的众多因素进行筛选,以找出对网 络输出影响最大的变量,并以此作为DBN网络的输入变量,再通过DBN算法 进行学习。由于自组织算法可以从众多的输入变量中找出对DBN网络输出最有 影响力的变量,因此将DBN算法与自组织算法结合有助于解决DBN网络输入 维数的问题。在一个实施例中,调整深度置信网络的输入维度,包括:获取软 件特征属性参数训练样本的维度以及深度置信网络中每一单元层的信息熵;根 据信息熵以及软件特征属性参数训练样本的维度,调整深度置信网络中每一层 的输入维度。为达到减少DBN网络中隐藏层单元数量和保证足够分类信息的目 的,根据信息熵计算公式可知,对于包括多层T-RBM的DBN网络,用于计算 DBN网络中每一层输入的信息量的公式可表示如下:
其中,H(V)表示熵函数,p(Vi)表示第i个软件特征属性参数的概率。基于 软件特征信息熵与软件特征的有效维度成正比,而软件特征维度等于训练模型 中的隐含层单元数量。故有公式:
C(V)=Alpha*H(V)
其中,C(V)表示隐含层单元的数量,Alpha表示熵比例常数。
对于一个数据集来说,为了求出Alpha值,必须首先知道这种数据集的维 度,也就是数据向量的长度N,由此可以推测出在N长度条件下信息熵的最大 值H(N),其比例关系如下所示:
由此可以得到Alpha的表达式:
对于软件特征数据集,比如其维度是10,所以可得N=10。使用信息熵公式 可以得出,在10向量长度下可能的最大信息熵H(N)为1.7。因此可以得出,Alpha 等于6。这是对第一层调整输入维度,之后的每一层都根据这样的方式对输入维 度进行调整。本申请改进的DBN网络如图4所示,改进的DBN网络包括三层 T-RBM,每一层T-RBM中隐含层的维度都是通过上述步骤计算得到,以此来减 少每一层T-RBM中隐含层的面积,减少不必要的运算,从而加快DBN网络训 练的速度。另外,在特征分类之前,加一层T-RBM可用来对特征进行降噪处理, 以减小DBN网络的测试误差。
步骤306,基于软件特征属性参数训练样本对调整输入维度后的深度置信网 络进行训练,得到训练好的深度置信网络。
DBN网络的权值经过改进的初始化方法处理后,输入软件特征属性参数训 练样本,经过与调整维度算法的结合调整样本数据输入的维度,然后在DBN网 络中进行训练。在训练的过程中,自调优函数会根据DBN网络中每一层T-RBM 的输出调整下一层的面积,把最后一层T-RBM的输出与SVM(Support Vector Machine,支持向量机)分类器结合,从而得到更加准确的软件可靠性预测结果。
在一个实施例中,将软件特征属性参数训练样本输入至深度置信网络中, 调整深度置信网络的输入维度,之前还包括:获取深度置信网络的初始化权值; 将软件特征属性参数训练样本输入至深度置信网络中,调整深度置信网络的输 入维度,包括:根据软件特征属性参数训练样本以及深度置信网络的初始化权 值,调整深度置信网络的输入维度。其中,获取深度置信网络的初始化权值, 包括:获取预设权值初始区域,并将预设权值初始区域均分为多个区域;根据 预设误差函数,计算得到各区域对应的误差函数值;将误差函数值最小值的区 域均分为多个子区域,返回根据预设误差函数,计算得到各区域对应的误差函 数值的步骤,直至误差函数值不再变化,得到深度置信网络的初始化权值。深 度置信网络由T-RBM(T-Restricted Boltzmann Machine,T型受限玻尔兹曼机) 叠加而成,为了降低深度置信网络陷入局部最小点的概率,可在选定的初始权 值区域内,将初始权值区域划分为更小的区域,比如把这个区域划分为n等分, 然后选取其中误差函数最小的区域继续n等分,如此循环直到误差函数不再减 少为止,将此时得到的最优点作为深度置信网络权值的初始值,这样可避免随 机产生的初始化权值陷入局部最小点的问题。
在一个实施例中,将待测试软件的特征提取数据输入至支持向量机,得到 待测试软件的可靠性预测结果,包括:获取支持向量机的内积函数;根据内积 函数以及待测试软件的参数分类结果,得到待测试软件的可靠性预测结果。在 最优分类面中采用适当的内积函数可以实现某一非线性变换后的线性分类,却 不增加计算复杂度,此时,分类函数可表示为:
K(xi,x)=tanh(v(x·xi)+c)
其中,xi为经DBN网络输出的结果,x为预设软件可靠性评价标准,a、b、 c为关系系数。SVM实现的是包含一个隐含层的多层感知器,隐含层节点数通 过算法自动确定,且这样不存在困扰神经网络方法的局部极小点问题。
概括地说,支持向量机通过内积函数定义的非线性变换将输入空间变换到 一个高维空间,然后在高维空间中求解最优分类面。所以,SVM的分类函数形 式上类似于一个神经网络,输出是中间节点的线性组合,每个中间节点对应一 个支持向量,如图5所示。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显 示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明 确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺 序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段, 这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻 执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它 步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,软件可靠性预测包括三个阶段,第一阶段是数据采集阶 段,第二阶段是数据处理阶段,第三阶段是实验验证阶段。这三个阶段相辅相 成、相互连接、相互验证,形成了一个有机的整体,框图如图6所示。在数据 采集阶段,包括三个部分:数据收集、归一化处理和数据重组。在数据收集之 前首先确定需要收集哪些软件特征数据,然后针对需要收集的数据类型选用专 门的软件分析工具对软件代码级数据进行采集。数据收集完成后,需要进行归 一化处理,最后对数据进行打乱重组并输入到DBN网络中进行训练。
在数据处理阶段中,使用改进的DBN网络对数据进行处理。改进的DBN 网络是由T-RBM叠加而成,首先DBN网络的权值经过改进的初始化方法处理, 再输入收集的软件特征数据,经过与调整维度算法的结合,调整数据输入的维 度,然后在DBN网络中进行训练。在训练的过程中,自调优函数会根据每一层 T-RBM的输出调整下一层T-RBM的面积,把最后一层的输出与SVM分类器结 合,从而得到更加准确的软件可靠性预测结果。
在实验验证阶段,包括误差率分析和运行时间对比。误差率分析是对每一 层T-RBM训练时产生的最大似然误差进行对比,运行时间对比是比较训练时间 和DBN网络自调优时间。通过这两部分的验证,来证明软件可靠性预测方法的 精准性。
在一个实施例中,如图7所示,提供了一种软件可靠性预测装置,包括参 数获取模块702、参数分类模块704和可靠性预测模块706。其中,参数获取模 块702,用于接收待测试软件的特征属性参数;参数分类模块704,用于将待测 试软件的特征属性参数输入至训练好的深度置信网络中,输出待测试软件的特 征提取数据,训练好的深度置信网络通过软件特征属性参数训练样本对深度置 信网络训练得到;可靠性预测模块706,用于将待测试软件的特征提取数据输入 至支持向量机,得到待测试软件的可靠性预测结果。
在一个实施例中,软件可靠性预测装置还包括训练模块,训练模块用于获 取软件特征属性参数训练样本,将软件特征属性参数训练样本输入至深度置信 网络中,调整深度置信网络的输入维度;基于软件特征属性参数训练样本对调 整输入维度后的深度置信网络进行训练,得到训练好的深度置信网络。
在一个实施例中,训练模块还用于获取软件特征属性参数训练样本的维度 以及深度置信网络中每一单元层的信息熵;根据信息熵以及软件特征属性参数 训练样本的维度,得到深度置信网络中每一层的输入维度。
在一个实施例中,训练模块还用于获取深度置信网络的初始化权值,根据 软件特征属性参数训练样本以及深度置信网络的初始化权值,调整深度置信网 络的输入维度。
在一个实施例中,训练模块还用于获取预设权值初始区域,并将预设权值 初始区域均分为多个区域;根据预设误差函数,计算得到各区域对应的误差函 数值;将误差函数值最小值对应的区域均分为多个子区域,返回根据预设误差 函数,计算得到各区域对应的误差函数值,直至误差函数值不再变化,得到深 度置信网络的初始化权值。
在一个实施例中,训练模块还用于采集软件特征数据,将软件特征数据进 行归一化处理,对归一化处理后的软件特征数据重组,得到软件特征属性参数 训练样本。
在一个实施例中,可靠性预测模块包括函数获取单元,用于获取支持向量 机的内积函数;结果获取单元,用于根据内积函数以及待测试软件的特征提取 数据,得到待测试软件的可靠性预测结果。
关于软件可靠性预测装置的具体限定可以参见上文中对于软件可靠性预测 方法的限定,在此不再赘述。上述软件可靠性预测装置中的各个模块可全部或 部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立 于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器 中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图8所示。 该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和 输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机 设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有 操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算 机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络 连接通信。该计算机程序被处理器执行时以实现一种软件可靠性预测方法。该 计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的 输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关 的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定, 具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件, 或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器 中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收待测试 软件的特征属性参数;将待测试软件的特征属性参数输入至训练好的深度置信 网络中,输出待测试软件的特征提取数据,训练好的深度置信网络通过软件特 征属性参数训练样本对深度置信网络训练得到;将待测试软件的特征提取数据 输入至支持向量机,得到待测试软件的可靠性预测结果。
在一个实施例中,处理器执行计算机程序时通过以下步骤实现深度置信网 络的训练:获取软件特征属性参数训练样本,将软件特征属性参数训练样本输 入至深度置信网络中,调整深度置信网络的输入维度;基于软件特征属性参数 训练样本对调整输入维度后的深度置信网络进行训练,得到训练好的深度置信 网络。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取软件特 征属性参数训练样本的维度以及深度置信网络中每一单元层的信息熵;根据信 息熵以及软件特征属性参数训练样本的维度,得到深度置信网络中每一层的输 入维度。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取深度置 信网络的初始化权值,根据软件特征属性参数训练样本以及深度置信网络的初 始化权值,调整深度置信网络的输入维度。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设权 值初始区域,并将预设权值初始区域均分为多个区域;根据预设误差函数,计 算得到各区域对应的误差函数值;将误差函数值最小的区域均分为多个子区域, 返回根据预设误差函数,计算得到各区域对应的误差函数值的步骤,直至误差 函数值不再变化,得到深度置信网络的初始化权值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:采集软件特 征数据,将软件特征数据进行归一化处理,对归一化处理后的软件特征数据重 组,得到软件特征属性参数训练样本。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取支持向 量机的内积函数,根据内积函数以及待测试软件的参数分类结果,得到待测试 软件的可靠性预测结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程 序,计算机程序被处理器执行时实现以下步骤:接收待测试软件的特征属性参 数;将待测试软件的特征属性参数输入至训练好的深度置信网络中,输出待测 试软件的特征提取数据,训练好的深度置信网络通过软件特征属性参数训练样 本对深度置信网络训练得到;将待测试软件的特征提取数据输入至支持向量机, 得到待测试软件的可靠性预测结果。
在一个实施例中,计算机程序被处理器执行实现深度置信网络的训练时包 括以下步骤:获取软件特征属性参数训练样本,将软件特征属性参数训练样本 输入至深度置信网络中,调整深度置信网络的输入维度;基于软件特征属性参 数训练样本对调整输入维度后的深度置信网络进行训练,得到训练好的深度置 信网络。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取软件 特征属性参数训练样本的维度以及深度置信网络中每一单元层的信息熵;根据 信息熵以及软件特征属性参数训练样本的维度,得到深度置信网络中每一层的 输入维度。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取深度 置信网络的初始化权值,根据软件特征属性参数训练样本以及深度置信网络的 初始化权值,调整深度置信网络的输入维度。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预设 权值初始区域,并将预设权值初始区域均分为多个区域;根据预设误差函数, 计算得到各区域对应的误差函数值;将误差函数值最小的区域均分为多个子区 域,返回根据预设误差函数,计算得到各区域对应的误差函数值的步骤,直至 误差函数值不再变化,得到深度置信网络的初始化权值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:采集软件 特征数据,将软件特征数据进行归一化处理,对归一化处理后的软件特征数据 重组,得到软件特征属性参数训练样本。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取支持 向量机的内积函数,根据内积函数以及待测试软件的参数分类结果,得到待测 试软件的可靠性预测结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于 一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述 各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、 存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。 非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程 ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可 包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限, RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步 DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM (ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus) 直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器 总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述 实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特 征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的 普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改 进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权 利要求为准。