[发明专利]一种轻量级嵌入式程序控制流异常定位检测方法有效
申请号: | 201910672958.8 | 申请日: | 2019-07-24 |
公开(公告)号: | CN110427320B | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 马峻岩;张特;张佳雨;李士宁 | 申请(专利权)人: | 长安大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 范巍 |
地址: | 710064*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种轻量级嵌入式程序控制流异常定位检测方法,包括:步骤1、插装:将程序中含有函数调用的条件测试语句开始处作为插装切入点,插入追踪点监视变量,动态监控程序执行过程中追踪点监视变量后函数的调用情况;步骤2、数据收集及预处理:收集追踪点监视变量的执行序列数据并对序列数据进行预处理;步骤3、神经网络模型:将处理后的追踪点序列数据放入神经网络模型中训练,模型训练完成后用于检测异常追踪点序列;步骤4、建立假设检验方法:检测系统状态是否发生变化;步骤5:将异常报告给开发人员,进行异常诊断;本发明是一种低开销的控制流追踪方法适合资源受限系统,而且提供语句级的诊断信息。 | ||
搜索关键词: | 一种 轻量级 嵌入式 程序控制 异常 定位 检测 方法 | ||
【主权项】:
1.一种轻量级嵌入式程序控制流异常定位检测方法,其特征在于,包括以下步骤:步骤1、插装;确定项目中对应的源码,生成相应的可编译文件,对可编译文件进行程序控制流分析:在控制流的分支结构中,筛选出含有函数调用的if‑else语句和switch‑case语句;选择在有函数调用的上述两种语句开始处作为插装切入点,在插装切入点位置插入追踪点监视变量,最后,将插装后的可编译文件编译生成可执行文件;步骤2、数据收集及预处理;将步骤1得到的可执行文件导入仿真环境中执行,记录追踪点监视变量的执行序列;对追踪点监视变量的执行序列预处理,过滤非序列的文本数据,然后对序列数据去重得到不同追踪点的数量,将追踪点数量基于追踪点种类对数据使用one‑hot编码;步骤3、训练神经网络模型;使用步骤2编码后的数据对神经网络模型进行训练,训练完后检测异常追踪点序列;步骤4、建立假设检验方法;根据实际执行追踪点的概率分布和神经网络模型预测的概率分布检验系统状态是否变化;步骤5、报告异常事件,根据异常追踪点的监视变量位置找到对应的函数调用关系进行异常诊断。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长安大学,未经长安大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910672958.8/,转载请声明来源钻瓜专利网。