[发明专利]基于ANN的程序检测方法和检测系统及应用有效
申请号: | 201911253427.1 | 申请日: | 2019-12-09 |
公开(公告)号: | CN111026664B | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | 张华琛;张宇萌 | 申请(专利权)人: | 遵义职业技术学院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/04;G06N3/08 |
代理公司: | 重庆强大凯创专利代理事务所(普通合伙) 50217 | 代理人: | 向林 |
地址: | 563000 *** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 ann 程序 检测 方法 系统 应用 | ||
1.基于ANN的程序测试方法,其特征在于,包括如下步骤:
步骤一,常规测试:将目标程序进行代码和功能实现测试,确保目标程序能够正常运行;
步骤二、得到测试模型:利用人工神经网络训练器构建人工神经网络的初始模型,将目标程序的输入值及对应的输出值作为训练样本,通过训练样本对初始模型进行训练,当初始模型处于收敛状态后,停止增加训练样本,并将收敛状态的模型定义为测试模型;
步骤三、测试输出值的选取:当目标程序的输入值范围小于一百万个,取全部输入值,否则至少取随机的一百万个目标程序的输入值输入到测试模型中,根据该测试模型的计算得到测试输出值;
步骤四、实际输出值的选取:取步骤三中同样的输入值输入到目标程序中,进而得到实际输出值;
步骤五、筛选输入值:对同一输入值对应的测试输出值和实际输出值进行比较;如果两者存在偏差量,以偏差量数值从大到小进行排序,选出排在前50~150位所对应的输入值;得到用于测试目标程序是否正确的测试值;
步骤六、将选出的测试值存储到可读存储介质中以待复制;
步骤七、将步骤六中的测试值传递到目标程序进行运行,运行结果与实际功能需求进行对比,如果运行结果有其一与实际功能需求不符合,则判定目标程序存在缺陷;否则,目标程序为符合要求的程序。
2.根据权利要求1所述的基于ANN的程序测试方法,其特征在于:在步骤二中,所述人工神经网络的初始模型为BP神经网络模型;包括输入层、隐藏层和输出层;将目标程序的输入值作为输入层;将输入值经过目标程序运行后得到的输出值作为输出层;输入层和输出层的节点数为32个。
3.根据权利要求2所述的基于ANN的程序测试方法,其特征在于,所述BP神经网络模型在训练过程中采用的激活函数为:当f(x)的值小于0.5时,输出层节点的输出值取0;当f(x)的值大于或等于0.5时,输出层节点的输出值取为1。
4.根据权利要求3所述的基于ANN的程序测试方法,其特征在于,BP神经网络模型的隐藏层的输出值满足:其中w(j,m)表示从输入层节点到隐藏层节点的权重,k为隐藏层的节点数。
5.根据权利要求4所述的基于ANN的程序测试方法,其特征在于,BP神经网络模型的输出层的输出值满足:其中w`(m,n)表示从隐藏层节点到输出层节点的权重。
6.根据权利要求5所述的基于ANN的程序测试方法,其特征在于:步骤五中所述的偏差量满足:其中on表示函数实现的输出值。
7.根据权利要求1或6所述的基于ANN的程序测试方法,其特征在于:在步骤二中,在对BP神经网络模型进行训练过程中,通过仿真软件观察曲线变化。
8.根据权利要求1所述的基于ANN的程序测试方法,其特征在于:所述步骤二中的训练样本中输入值的取值范围少于100万个,则全部作为训练样本,否则随机选择100万个作为训练样本。
9.根据权利要求1或8所述基于ANN的程序测试方法提供的检测系统,其特征在于,包括:程序基础测试单元,用于目标程序的功能和程序本身是否错误进行初步测试;
人工神经网络训练器,存储有多种训练模型,通过训练样本得到收敛状态的人工神经网络模型;
与人工神经网络训练器信号连接的曲线显示器,用于实时显示模型曲线的收敛状态;
存储器,用于存储目标程序和测试模型本身以及运行过程中产生的数据;
处理器,用于执行所述目标程序和测试模型的运行;
可读存储介质,用于在各设备中转移数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于遵义职业技术学院,未经遵义职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911253427.1/1.html,转载请声明来源钻瓜专利网。