基于深度学习的C++代码静态检测研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:join20102010
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的发展,软件规模的不断扩大,对软件中代码的静态检测技术也提出了更大的挑战。代码静态检测是为了提前检查出代码中的隐含错误,如内存释放错误、变量定义相关错误等等。现有的一些检测工具依然存在诸如漏检、误报率高等缺点。为了能够更加高效准确的完成代码静态检测任务,以C++为例提出了一种基于深度学习的代码检测模型。在进行C++代码的中间表示时没有采用传统的以词条为粒度的表示方式,而是使用抽象语法树(AST)中的路径作为表示代码的基本粒度。这使得学习模型能够学习到源代码的结构化特性,而不是将其视为一组扁平的序列。代码分析模型采用阅读理解任务中的问答模型,针对一段待检测的C++代码,能根据输入不同的检测问题给出检测结果。在模型结构的设计上使用全卷积架构来替代阅读理解模型中经常使用的循环架构,并且为了提升卷积网络处理序列输入信息的能力在卷积层中加入了膨胀卷积和门控线性单元。由于卷积结构允许在输入序列上并行化而更加高效,该模型大大缩短了预测时的响应延迟。实验结果表明,这种全卷积模型在代码静态检测任务上的表现较好,预测时的响应延迟底,且与现有的C++代码检测工具相比降低了漏检率和误报率。基于AST路径的表示方法也可以较好的用于代码静态检测任务,该表示方式可以在不改变学习模型的情况下改进结果。
其他文献
大学生是民族的希望、国家的栋梁,加强网络文化下的大学生价值观教育,直接关系到高校人才培养质量、关系到国家意识形态安全、关系到民族实现复兴的宏图伟业。从宏观层面讲,大学生价值观教育是教育引导大学生提高对自己民族、国家的身份认同和文化意识的重要手段,是维护稳定的社会秩序、构建和谐的社会文化系统、凝聚起实现国家强盛和民族振兴的精神力量的重要途径。从微观层面讲,大学生价值观教育能够帮助大学生个体提升对客观
硝酸盐污染在世界范围内普遍存在,不仅对生态环境造成了破坏,对人体健康也造成极大威胁。固相反硝化(SPD)技术由于运行稳定、管理简单等优点被越来越多地应用于水中硝酸盐的去除。生物基塑料聚乳酸作为传统石油基塑料的重要替代品被越来越多地使用,废弃聚乳酸的潜在环境风险及资源化利用逐渐引起人们的关注。已有研究表明分子量小于10,000 g/mol的聚乳酸才可用作SPD中的固相缓释碳源,但废弃聚乳酸分子量通常
在物联网和5G通信的推动下,近年来,移动计算发生了从集中式移动云计算向多接入边缘计算(Multi-Access Edge Computing,MEC)的转变。MEC的主要特征是将移动计算,网络控制和存储推向网络边缘(例如,基站和接入点),以便在资源受限的移动设备上启用计算密集型和延迟关键型应用程序,并能显着减少延迟和移动能源消耗。MEC中有两个关键问题,计算卸载问题与多信道接入问题。计算卸载问题即
学位
学位
在跨境海产品供应链中,产品从原产地到餐桌,中间经历了多个流通环节和组织。一方面,在传统海产品供应链中,存在数据造假、透明度低、难以追踪等问题。另一方面,各组织系统由于异构性,无法进行数据交换和功能互补,产生价值孤岛。区块链技术具有去中心化、不可篡改、可追溯等特点,可确保供应链业务数据透明、可追溯。跨链技术作为实现区块链互操作的重要手段,打破了异构区块链系统之间的隔阂,建立起数据交换和价值流通的桥梁
低压差线性稳压器(LDO)能够提供稳定的、几乎无纹波的输出电压,同时因为它结构简单,输出噪声小,良好的稳压和快速瞬态响应性能等优点,在现代电源管理单元中有着举足轻重的作用。如今电子产品正朝着集成化的方向发展,因此近年来的大多数研究集中在应用于片上系统(So C)方案的无片外电容LDO上。无片外电容LDO设计面临的稳定性和瞬态特性两大难点是当下研究热点,本文针对两大难点设计了一种低功耗瞬态增强型无片
众包测试通过短时间招募大量测试工人对待测软件进行测试,解决了传统测试过程中测试人员组成单一、周期长、成本高的问题。但众包模式下测试人员的非专业和不确定也会导致测试报告质量参差不齐、测试需求覆盖率不达标、重复缺陷报告数量多、效率低的问题。为此,本文设计了“基于知识图谱的众测任务分配技术”,力图通过个性化任务分配充分发挥众包工人在众测中的个体优势和群体智慧,改善上述问题,提高测试报告质量和测试完成效率
随着便携电子设备的广泛应用,小功率直流电源转换器受到人们的青睐。常见12 V电源比如车载电源可以非常便捷地满足很多小型电子设备的供电,为了将其应用于移动电源、玩具电动车、电子秤等6 V电源设备,需要采用降压转换器对车载电源电压进行处理。本论文基于0.18 um BCD工艺,设计一种频率恒定的谷值电流模降压转换器。设计的降压转换器输入电压12 V,输出电压6 V,负载电流从200 m A到2A。由于
随着大数据和5G通信的快速发展,如何降低时延和能耗以满足新型应用成为近年来的热门话题之一。移动边缘计算(Mobile Edge Computing,MEC)被认为是一个很有前途的计算范例,通过收集收集大量分布在网络边缘端的空闲设备,将计算和存储能力从云端转移到边缘端,从而提高计算密集型和延迟敏感任务的服务质量(Quality of Service,Qo S)。然而,如何合理设计服务卸载策略是基于M