[发明专利]一种基于进化算法的电能表驱动程序测试方法及系统有效
申请号: | 202110706245.6 | 申请日: | 2021-06-24 |
公开(公告)号: | CN113268432B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 黄友朋;党三磊;钱斌;张捷;肖勇;祁舒喆;罗鸿轩;李金莉;纪伊琳 | 申请(专利权)人: | 广东电网有限责任公司计量中心;南方电网科学研究院有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/006 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 杨小红 |
地址: | 510060 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 进化 算法 电能表 驱动程序 测试 方法 系统 | ||
本发明提供了一种基于进化算法的电能表驱动程序测试方法及系统。本发明通过电能表驱动程序调用接口随机生成测试用例,利用随机生成的测试用例调用与其匹配的驱动程序接口进行模糊测试,利用进化算法每次迭代过程中的局部最优解再次进行模糊测试,直至满足迭代结束条件;输出相关系统日志并进行分析,实现对电能表驱动程序的测试。本发明有效解决了在电能表驱动程序测试过程中测试用例较少,且测试用例随机性较强的问题,并且在扩充测试用例的同时保证了测试用例的合理性,进而提高了驱动程序漏洞检测的精准性和高效性。
技术领域
本发明涉及电能表驱动测试技术领域,具体涉及一种基于进化算法的电能表驱动程序测试方法及系统。
背景技术
智能电表是智能电网,特别是智能配电网,数据采集的基本设备之一,承担着原始电能数据采集、计量和传输的任务,是实现信息集成、分析进化和信息展现的基础。智能电表除了具备传统电能表基本用电量的计量功能以外,为了适应智能电网和新能源的使用它还具有双向多种费率计量功能、用户端控制功能、多种数据传输模式的双向数据通信功能、防窃电功能等智能化的功能。
电能表驱动程序由电能表制造厂家进行设计,过去电能表的驱动程序与应用程序均为电能表的供应商进行设计,对于供应商来说电能表的驱动程序是否采用完全标准的设计方法并不重要,只需要开发的驱动程序与应用程序对应起来就行,因此,供应商为了节约开发成本及开发周期,其电能表的驱动程序通常并不符合标准设计规范;当前在电能表应用程序升级以及功能扩充时通常通过通过招标形式来选择不同的应用程序开发商进行设计,而新的应用程序开发商仅能获得底层驱动的调用接口,无法获得全部源码,因此,电能表驱动程序的稳定、是否按照标准格式设计会直接影响到电能表的后期建设。因此,对电能表驱动程序的检测有很高的迫切性;同时,在电能表驱动程序测试过程中存在测试用例较少的问题,现有方法中仅是利用一些常规测试用例来判断驱动程序的规范性,其无法完全覆盖整个驱动程序的各个代码区域,且无法对驱动程序存在的漏洞进行有效检测,导致后期电能表升级或功能扩充时无法正常使用的问题。
发明内容
为解决现有技术存在的问题,本发明提供了一种基于进化算法的电能表驱动程序测试方法及系统。为实现本发明的目的,本发明的技术方案如下。
一种基于进化算法的电能表驱动程序测试方法,包括:
基于驱动程序调用接口随机生成测试用例;其中,所述测试用例包括文件描述符、命令指示符以及接口参数集合;
利用随机生成的测试用例调用与其匹配的驱动程序调用接口进行模糊测试;若测试出现异常,则终止程序,输出电能表的日志文件进行驱动程序调用接口测试结果分析;若测试结果正常,则利用进化算法对本次测试用例进行进化,利用进化算法每次迭代过程中的局部最优解再次进行模糊测试,直至满足迭代结束条件;
输出日志并对从日志挖掘出当前电能表的驱动程序中存在的漏洞;
其中,所述进化算法包括:
初始化种群,随机生成若干个体,并与当前测试用例共同组成原始的种群;
计算种群中每个个体的适应度,其中,适应度采用调用接口代码覆盖率进行表示,所述调用接口代码覆盖率利用所述调用接口执行结果提示信息的数量进行计算;
对测试用例对应的驱动程序调用接口执行结果进行变异操作;
基于交叉算子对种群进行交叉操作;
对于种群中的每个个体,选择适应度值大于当前个体适应度值的新生个体作为下一代个体;
循环迭代直至满足终止条件,获得最优的测试个体。
优选的,模糊测试包括:预先在电能表中安装测试子程序,所述测试子程序用于接收外部主程序发送的测试用例及对应的调用接口函数名,并调用接口函数进行测试,同时,将接口函数的输出结果反馈给外部主程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东电网有限责任公司计量中心;南方电网科学研究院有限责任公司,未经广东电网有限责任公司计量中心;南方电网科学研究院有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110706245.6/2.html,转载请声明来源钻瓜专利网。