[发明专利]一种数据驱动的软件内存相关故障检测方法在审
申请号: | 202310393135.8 | 申请日: | 2023-04-13 |
公开(公告)号: | CN116501624A | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 乔澳;吴国伟 | 申请(专利权)人: | 大连理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F18/25;G06F18/214;G06F18/24;G06N3/0464;G06N3/08 |
代理公司: | 辽宁鸿文知识产权代理有限公司 21102 | 代理人: | 王海波 |
地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 驱动 软件 内存 相关 故障 检测 方法 | ||
本发明属于源代码故障检测技术领域,公开了一种数据驱动的软件内存相关故障检测方法。通过对代码文本的处理清洗,利用基于Bert的TDTBert模型进行预训练,将代码文本特征和代码语法树结构特征多模态特征向量化,生成软件故障特征在文本特征和语法树特征上的表达方式,而后进行特征的增强及融合,生成软件故障特征;将向量化的软件故障特征和故障信息作为数据集训练TDTBert模型,得到充分训练收敛的神经网络模型应用于软件内存相关的故障检测,在软件内存相关故障类型的向量表示和识别上表现良好。
技术领域
本发明涉及源代码故障检测技术领域,尤其涉及一种数据驱动的软件内存相关故障检测方法。
背景技术
软件故障也称为软件脆弱性是由软件在设计、开发或配置过程中存在错误而导致缺陷的实例。软件故障产生于开发人员的编码过程,故障往往能够通过项目编译,但含有故障的软件在运行时可能会产生意料之外的结果或行为,严重的时候会造成巨大的经济损失,甚至会威胁到人们的生命安全。在软件项目的开发生命周期中,检测出内在故障的时间越晚,修复该故障的代价也越高。尤其在软件发布后,检测和修复故障的代价将大幅度增加。尽早发现故障并解决故障是构建可信软件、节约成本的重要途经,越是高精度的行业对于代码的可信度要求越高。事实上,目前严格来证明软件是正确的是不现实的,穷尽地动态测试软件也是不可能的,目前开发实践中的故障检测方法仍然是基于静态分析的,静态故障检测已经取得了一定的研究成果,也有很多优秀的静态故障检测工具。但在《静态软件缺陷预测方法研究》文章中指出这些工具仍存在较大的误报率,比如在释放后使用和缓冲区溢出上的误报率超过90%,因此上优化静态故障检测方法,采用数据驱动的软件故障检测方法,优化故障检测方法,提高精度、速度并降低误报率是故障检测研究的重要意义。
随着近年来深度学习的广泛应用,也出现了一些将深度学习应用到故障检测的研究,基于机器学习的故障检测技术在近10年来发展迅速,也成为软件工程领域的研究热点之一,在检测粒度和检测效果方面得到了一定提升,但在漏洞挖掘方面存在的问题主要是,通过大量的故障代码数据基础,如何充分提取出故障特征表示,充分结合代码的语义特征和语法特征,兼顾文本信息和语法结构信息。在充分挖掘特征之后,如何通过特征表示、特征融合,增强可解释性,并利用高效、智能化的分析手段进行特征处理学习,进一步分类,因此本发明探究软件故障代码的文本特征和语法结构特征在向量空间上的表达;通过特征的融合表示,形成软件故障特征在向量空间上的表达;进一步进行学习和检测。
在方法设计思路上,本发明面向传统静态分析方法存在的不足,即静态分析的误报现象,聚焦高误报率的内存相关软件故障类别,通过数据驱动的人工智能方法,进行特征提取、增强融合、融合表示、学习与检测,最终通过智能化方法降低误报率,提高故障检测的精度和效率。
发明内容
将机器学习方法应用于软件故障检测是软件安全领域的关注热点,本质上是将故障检测问题视为分类问题。基于这个思路,本发明的研究内容主要是通过大量代码数据基础,探究软件故障的表现形式、特征。利用人工智能方法提取故障代码的文本特征和结构特征在向量空间上的表达;通过特征的增强、融合表示,形成软件故障特征在向量空间上的表达;通过智能化方法进行故障检测,通过智能化方法学习得到代码故障类别,相较于静态分析得到的结果能够更加准确。
本发明的技术方案如下:
一种数据驱动的软件内存相关故障检测方法,基于TDTBert模型实现;TDTBert模型包括特征提取模块、特征增强融合和融合表示模块以及故障学习与检测模块;
所述特征提取模块基于Bert架构,分为三个分模型:源代码文本特征提取模型、源代码文本和数据流协同提取模型以及语法树特征提取模型,分别从基于训练样本数据集预训练,得到预训练的源代码文本特征提取模型、预训练的源代码文本和数据流协同提取模型、预训练的语法树特征提取模型;通过故障源代码和故障类别进行调整,分别得到调整后的源代码文本特征提取模块、调整后的源代码文本和数据流协同提取模型、调整后的语法树特征提取模型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310393135.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置