随着近年来航天事业的快速发展,航天任务向复杂化、自动化、长期化迅速演变,航天软件的规模越来越大、复杂程度和关键程度越来越高,航天软件在航天器和航天载荷中的地位和作用越来越重要[1]。同时,由于航天软件的质量问题引起的灾难事故越来越多。因此,对航天软件质量进行客观、科学地定量评价,是确保航天任务成功的重要因素,同时也是当前软件领域的研究热点。
航天软件质量评价所面临的问题主要有:软件复杂程度较大,导致评价指标多样繁杂且会存在干扰、冲突;专家评价过程存在不规范及不确定性;评价结果依赖于专家业务水平和经验等,受主观因素影响较大。当前软件质量评价方法主要有层次分析法[2]、模糊综合评价法[3]、支持向量机评价法[4]、神经网络评价法[5-6]。其中,神经网络评价法是当前准确率最高的一种方法,利用样本数据对神经网络进行训练,训练后的神经网络相当于“软件质量评价领域专家”,将待评价软件的质量评价指标数据输入到神经网络中从而得到评价结果。但是,神经网络的计算比较复杂,参数配置对输出结果的影响较大,特别是当维数较大时,收敛速度较慢,甚至会出现不收敛、误判或漏判等情况。
针对上述软件质量评价方法中存在的问题,本文提出了利用并行神经网络进行航天软件质量评价的方法,将神经网络和DS证据理论有效结合,采用多个神经网络对同一个评价指标空间进行独立地初步评价,将每个初步评价结果视为一个独立的证据并采取归一化和修正处理后,分别作为DS证据理论的软件质量评价识别框架中各命题的基本概率赋值,对各证据采用DS证据理论进行融合以提高神经网络的泛化能力。同时,充分考虑到了DS证据理论对高度冲突证据融合时会得出悖论的问题。
1 并行神经网络航天软件质量评价假设航天软件质量评价指标空间为U={T1, T2, …, TM},航天软件质量评价结果识别框架为Θ={A1, A2, …, AN},其中软件评价结果为N个等级(V1、V2、…、VN),命题Ai(i=1, 2, …, N)表示当前待评价软件的质量等级为Vi。
1.1 训练神经网络并计算其可信度为便于在实验中比较不同方法的性能指标,采用ISO/IEC 25010:2011质量模型。对各神经网络进行训练、计算可信度的过程为:
1) 确定神经网络的个数,设为L;
2) 确定各神经网络的类型。为便于描述和示例,本文只选用反向传播(back propagation,BP)神经网络对软件质量进行初步评价,但是各BP神经网络的拓扑结构、参数配置不同;
3) 确定神经网络Ci(i=1, 2, …, L)拓扑结构。
输入层:层数为1,节点数为评价指标空间U中评价指标的个数M。隐含层:层数为1,节点数按照文献[7]中方法确定。输出层:层数为1,节点数为软件质量评价结果识别框架Θ中命题个数N;
4) 确定神经网络的激活函数、学习算法。鉴于梯度下降算法存在训练速度慢、全局搜索能力弱、容易陷入局部极小值等缺点,选择Sigmoid函数作为激活函数,选择Levenberg-Marquard算法[8-9]作为学习算法;
5) 采用交叉验证法(cross validation)将样本数据集D划分为训练样本集、测试样本集:将D划分为互斥的S个子集,每个子集尽可能保持数据分布的一致性且大小相似。每次用S-1个子集的并集作为训练样本集,剩下的子集作为测试样本集,从而获得S组训练样本集和测试样本集;
6) 分别对各神经网络进行训练;
7) 分别计算各神经网络的可信度,该可信度用于在利用DS证据理论对初步评价结果融合之前对其进行修正,具体修正方法详见1.2节。
为计算神经网络Ci的可信度,制定仅使用神经网络对测试样本进行软件质量评价时的评估准则。设神经网络Ci(i=1, 2, …, L)的输出结果为Ri=[Ci1, Ci2, …, CiN],Cij为Ci的第j(j=1, 2, …, N)个节点的输出结果,Ri+=[Ci1+, Ci2+, …, CiN+]为Ri按照式(1)、式(2)归一化后的结果:
$ C_{ij}^ + = \frac{{{{C'}_{ij}}}}{{\sum\limits_{l = 1}^N {{{C'}_{ij}}} }} $ | (1) |
$ {C'_{ij}} = \frac{{{C_{ij}} = \min \left( {{C_{il}}} \right)}}{{\max \left( {{C_{il}}} \right) - \min \left( {{C_{il}}} \right)}} $ | (2) |
式中1≤l≤N。
若Ri+中有Cip+满足所述评估准则:
$ \left\{ \begin{array}{l} p{\rm{ }} = \{ l{\rm{ }}|{\rm{max}}\{ C_{il}^ + , 1{\rm{ }} \le l \le N\} \} \\ q{\rm{ }} = \{ l{\rm{ }}|{\rm{max}}\{ C_{il}^ + , 1{\rm{ }} \le l \le N且l \ne p\} \\ C_{ip}^ + - C_{iq}^ + > {\varepsilon _i} \end{array} \right. $ | (3) |
则当前测试样本的软件质量评价结果G′=Vp,否则拒绝给出评价结果,γi值加1。若神经网络Ci给出的评价结果与测试样本的真实结果一致,则αi值加1,否则βi值加1。其中,εi∈(0, 1)为预设的阈值,Nk为序号为k的测试样本集的样本总数,αk为Ci评价正确的测试样本个数,βk为Ci评价错误的测试样本个数,γk为Ci拒绝给出评价结果的测试样本个数。
根据神经网络Ci对测试样本集的处理情况,计算神经网络的可信度θi(θi∈[0, 1]):
$ \theta = \frac{{\sum\limits_{k = 1}^s {\frac{{{\alpha _k}}}{{{\alpha _k} + {\beta _k}}}} }}{S} = \frac{{\sum\limits_{k = 1}^s {\frac{{{\alpha _k}}}{{{N_k} + {\gamma _k}}}} }}{S} $ | (4) |
将待评价软件的质量评价指标数据分别输入到神经网络Ci(i=1, 2, …, L)中,得到输出结果Ri,将Ri按照式(2)进行归一化处理后得到初步评价结果Ri+=(Ci1+, Ci2+, …, CiN+),其中Cij+为Cij进行归一化处理后的结果(Ci针对Aj的初步评价结果)。
DS证据理论是目前被广泛用于不确定信息处理的一种决策级融合方法,无需事先得知判决的条件概率和先验概率,采用积累证据缩小假设集[10]。设Θ为随机变量X可能取值的论域,若Θ中所有元素互斥,则Θ称为随机变量X的识别框架,本文中Θ={A1, A2, …, AN}。设识别框架为Θ,2Θ为Θ的幂集,若对于函数m:2Θ→[0, 1]满足:
$ \left\{ \begin{array}{l} m\left( \emptyset \right) = 0\\ \sum\limits_{A \in {2^\mathit{\Theta }}} {m(A) = 1} \end{array} \right. $ | (5) |
则m(A)为A的基本概率赋值。
设函数m:2Θ→[0, 1]为识别框架Θ上的基本概率赋值,函数BEL为Θ上的信任函数,若函数BEL:2Θ→[0, 1]满足:
$ {\rm{BEL}}(A) = \sum\limits_{B \subset A} {m(B)(\forall A \subset \mathit{\Theta })} $ | (6) |
且BEL(A)>0,则为信任函数BEL的焦元。
若BEL1和BEL2为识别框架Θ上的信任函数,m1和m2为对应的基本概率赋值,A1, A2, …, Ak和B1, B2, …, Br为对应的焦元,
$ Y = \sum\limits_{{A_i} \cap {B_j} = \emptyset } {{m_1}({A_i}) \times {\rm{ }}{m_2}({B_j})} $ | (7) |
$ m\left( H \right) = \left\{ \begin{array}{l} \frac{{\sum\limits_{{A_i} \cap {B_j} = {\rm{ }}H} {{m_1}({A_i}) \times {\rm{ }}{m_2}({B_j})} }}{{1 - {\rm{ }}Y}}, H \ne {\rm{ }}\emptyset \\ 0, H{\rm{ }} = \emptyset \end{array} \right. $ | (8) |
式中Y为冲突因子,式(8)为Dempster组合规则。Dempster组合规则满足结合律,当对多个证据进行融合时,可采用两两融合的方法进行[11-12]。
利用改进的DS证据理论对初步评价结果进行融合的过程为:
1) 结合神经网络Ci(i=1, 2, …, L)的可信度θi,对初步评价结果Ri+进行修正处理:
$ {m_i}({A_j}) = \left\{ \begin{array}{l} \;\;\;\;\;\;\;\;\;\;\;\;{\theta _i}C_{ij}^ + \;\;\;\;\;\;\;\;\;\;\;\;, {A_j} \ne \mathit{\Theta }\\ 1 - \sum\limits_{l = 1}^N {{m_i}({A_l}) = 1 - {\rm{ }}{\theta _i}, {A_j} = {\rm{ }}\mathit{\Theta }} \end{array} \right.\;\;\;\;\;\;\;\; $ | (9) |
生成证据Ei的基本概率赋值分配Ei=(mi(A1), mi(A2), …, mi(AN), mi(Θ))。
2) 针对DS证据理论在对高度冲突的证据(Y→1)直接使用Dempster组合规则进行融合时会得出有悖常理的融合结果的问题,本文采用基于夹角余弦的证据组合方法[13-14]对Dempster组合规则进行改进,利用改进后的证据组合方法对各证据Ei(i=1, 2, …, L)进行融合,获得融合结果F=(mf(A1), mf(A2), …, mf(AN), mf(Θ))。
1.3 根据决策准则产生最终评价结果基于DS证据理论融合进行决策的方法主要有基于信任函数的决策、基于基本概率赋值的决策和基于最小风险的决策[15-18]。本文选用基于基本概率赋值的决策方法,决策准则为:
$ \left\{ \begin{array}{l} m({A_p}) = {\rm{max}}\{ m({A_j}), {A_j} \subset \mathit{\Theta }\} \\ m({A_q}) = {\rm{max}}\{ m({A_j}), {A_j} \subset \mathit{\Theta }a{A_q} \ne {A_p}\} \\ m({A_p}) - {\rm{ }}m({A_q}) > {\rm{ }}\mathit{\Gamma }1\\ m(\mathit{\Theta }) < {\rm{ }}\mathit{\Gamma }2\\ m({A_p}) > {\rm{ }}m(\mathit{\Theta }) \end{array} \right. $ | (10) |
假设有Ap、Aq,若Ap满足如下决策准则,则Ap即为决策结果,否则拒绝给出评价结果。其中,Γ1、Γ2为预设的阈值,Γ1∈(0, 1),Γ1∈(0, 1)。根据决策结果Ap可知待评价软件的最终评价结果G=Vp。
2 实验验证与方法比较 2.1 实验概述选取某航天相机软件作为待评价对象,用于测试本文方法的性能指标。该航天相机软件的主要功能包括数据通讯、指令解析处理、工作过程控制、程序上注处理、CCD成像与时序控制、CMOS成像与时序控制、像移补偿处理、开环调焦控制、闭环调焦控制、温度控制、图像存储、图像下传和遥测数据打包等。
利用Matlab R2014a实现本文方法并进行仿真实验。实验环境硬件配置:CPU为Intel Core i5 2.2 GHz,内存4 GB,硬盘1TB;操作系统Win7 SP1。
2.2 方法示例利用本文方法对上述航天相机软件进行软件质量评价过程的过程为:
1) 采用ISO/IEC 25010:2011作为软件质量评价指标空间,得到U={T1, T2, …, T31}。评价结果识别框架Θ={A1, A2, A3, A4, A5},质量评价结果分为优秀、良好、合格、差、较差5个等级,分别为V1、V2、V3、V4、V5。命题Ai(i=1, 2, 3, 4, 5)表示当前待评价软件的质量等级为Vi;
2) 依据选取的软件质量评价指标空间在某科研院所软件工程化相关评审活动中采集了240组评价数据作为样本数据,采用交叉验证法将采集的样本数据划分为训练样本集、测试样本集;
3) 根据U和Θ,确定神经网络Ci(i=1, 2, …, 8)的拓扑结构,见表 1;神经网络Ci(i=1, 2, …, 8)均采用BP神经网络,输入层、输出层、隐含层均为1层,输入层节点数均为31,输出层节点数为5。
4) 神经网络训练完成之后,利用训练好的8个神经网络分别对测试样本集进行评价,计算各神经网络的可信度,见表 2;
5) 利用上述训练好的8个BP神经网络分别对该航天相机软件进行初步评价,结果详见表 2。若仅使用一个BP神经网络对软件质量进行评价(详见式(3)),直接根据Ri+确定的软件质量评价结果即为G′,分析可知,C3和C5拒绝给出评价结果,C2确定的软件质量等级为V3。C1、C4、C6、C7和C8确定的软件质量等级为V2,各神经网络的评价情况差别较大,因此使用DS证据理论进行融合以减弱不确定性是必要的。
6) 将神经网络的输出结果Ri(i=1, 2, …, 8)依次进行归一化、利用可信度θi修正,生成证据Ei对识别框架中各命题的基本概率赋值分配,详见表 3。
7) 利用改进的DS证据理论将8个证据进行融合后的结果F:
$ \begin{array}{l} \;\;\;\;\;({m_f}({A_1}), {m_f}({A_2}), {m_f}({A_3}), {m_f}({A_4}), {m_f}({A_5}), \\ {m_f}(\mathit{\Theta })) = (0.{\rm{ }}005{\rm{ }}2, 0.{\rm{ }}985{\rm{ }}5, 0.{\rm{ }}004{\rm{ }}1, 0.{\rm{ }}004{\rm{ }}3, \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;0.{\rm{ }}000{\rm{ }}9, 0.{\rm{ }}000{\rm{ }}1)。\end{array} $ |
8) 将决策准则中阈值设置为Γ1=0.10,Γ2=0.10,根据决策准则产生的决策结果为A2,即待评价的航天相机软件的最终评价结果为G=V2(良好),与样本数据中的真实评价结果一致。
2.3 方法比较为测试本文方法的评价准确率、训练时间和评价处理时间,利用本文方法与PNN、BPNN、LM-BPNN、RBFNN方法处理上述240组数据,实验结果见表 4、表 5。其中,评价处理时间指从将待评价软件的评价指标数据输入评价方法到获得软件质量评价结果的时间。表 6为5种方法的指标性能比较。
分析表 5和表 6可知,本文方法的评价准确率可以达到95.23%,明显高于其他方法。产生以上结果的原因为:本文方法在充分发挥神经网络的特性对软件质量进行初步评价的基础上,利用DS证据理论对初步评价结果进行融合,不仅进一步减弱了评价数据的不确定性,而且有效解决了评价指标之间的干扰、冲突;鉴于本文方法系统结构的灵活性,可以根据神经网络的可信度情况动态地修改、配置各神经网络以进一步提高评价准确度。
本文方法的训练时间为576.00 ms,与采用梯度下降学习算法的BPNN相比大幅减少,与LM-BPNN所需训练时间大致相当。本文方法的评价处理时间为77.50 ms,与评价速度最快的RBFNN所需评价处理时间大致相当。产生以上结果的原因为本文方法系统结构中的多个神经网络是相互独立的,各神经网络的训练和初步评价是并行处理的,全部神经网络的训练时间仅取决于训练时间最长的那个神经网络,全部神经网络的初步评价时间仅取决于初步评价时间最长的那个神经网络。同时,鉴于本文方法系统结构的灵活性,可以根据神经网络的训练时间、初步评价时间动态地修改、配置各神经网络以进一步减少训练时间、评价时间;与其他方法相比,本文方法仅增加了DS证据理论进行融合的处理时间,但是DS证据理论融合速度较快、产生的额外时间代价较小。
总之,本文方法评价准确率较高、训练时间和评价时间较短,满足航天软件进行质量评价的要求。
3 结论1) 将神经网络和DS证据理论有效结合,用于航天软件质量评价,实现优势互补并克服两者的不足,既提高了神经网络的泛化能力,又可有效解决评价指标之间的干扰、冲突。
2) 引入并行结构的神经网络形式,各神经网络的类型、拓扑结构、参数配置可以完全不同。神经网络的训练、测试和初步评价等均可并行处理,进一步加快了数据处理的速度。同时,评价方法的系统结构灵活,可扩展性比较强。
3) 本文方法评价准确率较高、训练时间和评价时间较短,满足对航天软件进行质量评价的要求。
下一步工作是如何更加合理有效地确定各神经网络的个数和类型。
[1] |
陈建新, 张志, 王磊, 等. 嫦娥三号巡视器综合电子系统的设计与实现[J]. 中国科学:技术科学, 2014, 44(5): 450-460. CHEN Jianxin, ZHANG Zhi, WANG Lei, et al. Design and realization of the integrated electronic system for the Chang'E-3 lunar rover[J]. Scientia sinica technologica, 2014, 44(5): 450-460. (0) |
[2] |
梅宏, 刘譞哲. 互联网时代的软件技术:现状与趋势[J]. 科学通报, 2010, 55(13): 3510-3516. MEI Hong, LIU Xuanzhe. Software techniques for internet computing:current situation and future trend[J]. Chinese science bulletin, 2010, 55(31): 3510-3516. (0) |
[3] |
HALIM A, SUDRAJAT A, SUNANDAR A, et al. Analytical hierarchy process and promethee application in measuring object oriented software quality[C]//Proceedings of 2011 International Conference on Advanced Computer Science and Information Systems. Jakarta, Indonesia, 2011: 165-170.
(0)
|
[4] |
CHALLA J S, PAUL A, DADA Y, et al. Integrated software quality evaluation:a fuzzy multi-criteria approach[J]. Journal of information processing systems, 2011, 7(3): 473-518. DOI:10.3745/JIPS.2011.7.3.473 (0)
|
[5] |
岳峰, 苏兆品, 陆阳, 等. 基于模糊软集合的软件质量综合评价方法[J]. 系统工程与电子技术, 2013, 35(7): 1460-1466. YUE Feng, SU Zhaopin, LU Yang, et al. Comprehensive evaluation of software quality based on fuzzy soft sets[J]. Systems engineering and electronics, 2013, 35(7): 1460-1466. (0) |
[6] |
赵越.基于支持向量机的软件质量评价[D].锦州: 渤海大学, 2016. ZHAO Yue. Evaluation of software quality based on support vector machine[D]. Jinzhou: Bohai University, 2016. (0) |
[7] |
殷辉, 叶飞. 基于SVM的软件质量评价[J]. 河北工业科技, 2012, 29(5): 308-310, 313. YIN Hui, YE Fei. Software quality evaluation based on support vector machine[J]. Hebei journal of industrial science and technology, 2012, 29(5): 308-310, 313. (0) |
[8] |
MIAO Xudong, LU Yansheng, DAI Yao. Method of military software quality evaluation based on multi-agent fuzzy neural network[C]//Proceedings of 2012 International Conference on Computer Science and Service System. Nanjing, China, 2012: 459-462.
(0)
|
[9] |
POMOROVA O, HOVORUSHCHENKO T. Artificial neural network for software quality evaluation based on the metric analysis[C]//Proceedings of 2013 East-West Design & Test Symposium. Rostov-on-Don, Russia, 2013: 1-4.
(0)
|
[10] |
李克文, 张郁, 马竟峰, 等. 基于模糊三角数模糊神经网络的软件质量评价方法[J]. 计算机工程与科学, 2014, 36(7): 1301-1306. LI Kewen, ZHANG Yu, MA Jingfeng, et al. Software quality evaluation method based on fuzzy neural network with fuzzy triangle numbers[J]. Computer engineering & science, 2014, 36(7): 1301-1306. DOI:10.3969/j.issn.1007-130X.2014.07.016 (0) |
[11] |
沈花玉, 王兆霞, 高成耀, 等. BP神经网络隐含层单元数的确定[J]. 天津理工大学学报, 2008, 24(5): 13-15. SHEN Huayu, WANG Zhaoxia, GAO Chengyao, et al. Determining the number of BP neural network hidden layer units[J]. Journal of Tianjin University of Technology, 2008, 24(5): 13-15. DOI:10.3969/j.issn.1673-095X.2008.05.004 (0) |
[12] |
张坤华, 谭志恒, 李斌. 结合粒子群优化和综合评价的脉冲耦合神经网络图像自动分割[J]. 光学精密工程, 2018, 26(4): 962-970. ZHANG Kunhua, TAN Zhiheng, LI Bin. Automated image segmentation based on pulse coupled neural network with partide swarm optimization and comprehensive evaluation[J]. Optics and precision engineering, 2018, 26(4): 962-970. (0) |
[13] |
林贻翔. 神经网络非线性智能控制在光电跟踪系统中的应用[J]. 光学精密工程, 2018, 26(12): 2949-2955. LIN Yixiang. Application of neural network-based nonlinear intelligent control in electro-optical tracking systems[J]. Optics and precision engineering, 2018, 26(12): 2949-2955. (0) |
[14] |
YAGER R R, LIU Liping. Classic works of the dempster-shafer theory of belief functions[M]. Berlin: Springer, 2008.
(0)
|
[15] |
何友, 王国宏, 陆大 , 等. 多传感器信息融合及应用[M]. 2版. 北京: 电子工业出版社, 2010. HE You, WANG Guohong, LU Dajin, et al. Multisensor information fusion with applications[M]. 2nd ed. Beijing: Publishing House of Electronics Industry, 2010. (0) |
[16] |
徐斌, 温广瑞, 苏宇, 等. 多层次信息融合在铁谱图像磨粒识别中的应用[J]. 光学精密工程, 2018, 26(6): 1551-1560. XU Bin, WEN Guangrui, SU Yu, et al. Application of multi-level information fusion for wear particle recognition of ferrographic images[J]. Optics and precision engineering, 2018, 26(6): 1551-1560. (0) |
[17] |
王广龙, 田杰, 朱文杰, 等. 特征融合和自适应权重更新相结合的运动模糊目标跟踪[J]. 光学精密工程, 2019, 27(5): 1158-1166. WANG Guanglong, TIAN Jie, ZHU Wenjie, et al. Feature fusion and weight adaptive updating based motion blur object tracking[J]. Optics and precision engineering, 2019, 27(5): 1158-1166. (0) |
[18] |
胡嘉骥, 李新德, 王丰羽. 基于夹角余弦的证据组合方法[J]. 模式识别与人工智能, 2015, 28(9): 857-864. HU Jiaji, LI Xinde, WANG Fengyu. Evidence combination method based on included angle cosine[J]. Pattern recognition and artificial intelligence, 2015, 28(9): 857-864. (0) |
[19] |
ZHOU Weihua, YAN Xuefeng, CHEN Chao, et al. Optimization of RBF neural networks using a rough K-means algorithm and application to naphtha dry point soft sensors[J]. Journal of chemical engineering of Japan, 2013, 46(7): 501-508. DOI:10.1252/jcej.12we286 (0)
|