﻿ 基于BP神经网络的软件可靠性安全性评价方法 Software Reliability Safety Evaluation Method Based on BP Neural Network

Computer Science and Application
Vol. 09  No. 02 ( 2019 ), Article ID: 28714 , 6 pages
10.12677/CSA.2019.92025

Software Reliability Safety Evaluation Method Based on BP Neural Network

Xiaohui Jiang1, Yong Hu1, Chuyuan Peng2, Wei Meng2

1Beijing Research Institute of Mechanical & Electrical Technology, Beijing

2Beijing Jinghang Institute of Computing and Communication, Beijing

Received: Jan. 13th, 2019; accepted: Jan. 23rd, 2019; published: Jan. 30th, 2019

ABSTRACT

With FPGA becoming increasingly popular for use in the field of aerospace, the importance of FPGA software reliability and safety to safety critical systems is particularly prominent. However, research on FPGA software reliability and safety is quite insufficient. Concerning this issue, it is necessary to carry out research on FPGA software reliability and safety. In this paper, a reliability and safety metric model based on FPGA software lifecycle is created and safety evaluation network based on BP neural network theory is established. Moreover, a reliability and safety evaluation tool is developed with MATLAB GUI. Comparing with traditional weight evaluation method based on Analytic Hierarchy Process (AHP), the neural network evaluation method has better accuracy, adaptability and practicability.

Keywords:FPGA, Metrics Model, BP Neural Network, MATLAB, Analytic Hierarchy Process

1北京特种机电研究所，北京

2北京京航计算通讯研究所，北京

1. 引言

2. FPGA软件可靠性安全性度量模型

FPGA的全生命周期包括下列过程：系统要求过程、需求分析过程、设计过程、实现与集成过程、确认过程、测试与验证过程、交付与验收过程、运行与维护过程 [1] ，如图1所示。

Figure 1. FPGA full life cycle process

FPGA软件可靠性安全性工作贯穿于整个FPGA开发全生命周期。其中，需求分析过程、设计过程、实现与集成过程、测试与验证过程是本文进行分析的重点，后续研究内容主要围绕这四个过程，建立FPGA软件可靠性安全性度量模型，并从每个过程中提取FPGA软件可靠性安全性度量元。

1) 需求分析过程：从FPGA的可靠性安全性角度考虑，将FPGA的可靠性安全性需求分成性能需求、功能需求、数据需求、接口需求等。FPGA可靠、安全工作的前提是保证可靠性安全性需求的正确性和完整性。

2) 设计过程：设计过程包括概要设计过程和详细设计过程。对FPGA的设计过程进行可靠性安全性分析的过程，就是要分析其设计是否满足可靠性安全性需求。分析对象包括FPGA的接口设计、通讯设计、模块设计、时钟使用、IP核使用、冗余容错设计等。在FPGA设计过程中应严格遵守可靠性安全性设计准则，从而有效地保证FPGA的可靠性安全性。此外，还应建立设计过程与需求分析过程的追踪关系，确保所有可靠性安全性需求都在设计过程中得以实现。

3) 实现与集成过程：在实现与集成过程中依据FPGA详细设计说明开展设计输入、逻辑综合、布局布线，最终生成可下载的配置文件，并固化至板内配置存储器中 [2] 。

4) 测试与验证过程：测试与验证过程是提高FPGA软件可靠性安全性的重要阶段，在此阶段会对FPGA软件进行静态测试和动态测试，测试工作的质量会影响FPGA投入使用后能否可靠、安全工作，因此“可靠性安全性测试充分性”和“可靠性安全性测试覆盖性”这两个度量非常重要，测试是否充分、全面，关系到FPGA软件可靠性安全性是否得到保证。

Figure 2. FPGA software reliability security measurement model

3. 神经网络评价方法简介

BP网络算法的训练过程分为两个阶段：第一个阶段是输入信号正向传播阶段，输入已知训练样本，通过设置的网络结构和前一次迭代的权值和阈值，从网络第一层向后计算各神经元的输出；第二个阶段是误差信号逆向传播阶段，对权值和阈值进行修改，从最后一层向前计算各权值和阈值对总误差的影响，据此对各权值和阈值进行修改 [5] 。BP神经网络可以包含不同数量的隐含层。实践表明，增加隐含层数可以减小误差、提高精度，但同时也使网络复杂化，从而增加了网络权值的训练时间。而误差的减小和精度的提高实际上也可以通过增加隐含层中的神经元结点数来获得，其训练效果也比增加层数更容易观察和调整。本文采用单隐含层BP神经网络。

4. 基于BP神经网络的可靠性安全性评价方法

BP神经网络的输入和输出层的神经元结点数，是由输入和输出向量的维数确定的。这里构造的BP神经网络用来进行FPGA软件可靠性安全性评价，将表1中的50个FPGA软件安全性度量元作为输入参数即网络的影响因子，因此输入层的神经元结点数为50；网络输出为FPGA软件可靠性安全性的评价结果，因此输出层的神经元结点数为1。此外，将隐含层神经元结点数设定为20个。隐含层激活函数选用双曲正切Sigmoid函数tansig，输出层激活函数选用对数Sigmoid函数logsig，网络训练算法选用LM (Levenberg-Marquardt)算法。

Figure 3. Performance curve of network training

Figure 4. The error curve of the network at the test point

5. 神经网络评价方法和传统权重评价方法对比分析

6. 结论

Software Reliability Safety Evaluation Method Based on BP Neural Network[J]. 计算机科学与应用, 2019, 09(02): 214-219. https://doi.org/10.12677/CSA.2019.92025

1. 1. Q/QJB 179-2010. 可编程逻辑器件软件工程管理要求[S]. 北京: 中国航天科工集团公司, 2010.

2. 2. Fernandez-Leon, A., Pou-ponnot, A. and Habinc, S. (2002) ESA FPGA Task Force: Lessons Learned. MAPLD International Conference, Laurel.

3. 3. 郑重. 评价软件可靠性的度量的选择及应用[D]: [硕士学位论文]. 北京: 北京交通大学, 2008.

4. 4. 闻新. 智能故障诊断技术:MATLAB应用[M]. 北京航空航天大学出版社, 2015.

5. 5. 李超. 基于自适应遗传算法的BP神经网络预测研究及应用[D]: [硕士学位论文]. 临汾: 山西师范大学, 2012.

6. 6. 郭涤, 周军. 基于MATLAB的神经网络预测模型研究[J]. 物流科技, 2006, 29(1): 125-128.