期刊文献+
共找到18篇文章
< 1 >
每页显示 20 50 100
基于多模态对比学习的代码表征增强预训练方法 被引量:1
1
作者 杨宏宇 马建辉 +2 位作者 侯旻 沈双宏 陈恩红 《软件学报》 EI CSCD 北大核心 2024年第4期1601-1617,共17页
代码表征旨在融合源代码的特征,以获取其语义向量,在基于深度学习的代码智能中扮演着重要角色.传统基于手工的代码表征依赖领域专家的标注,繁重耗时,且无法灵活地复用于特定下游任务,这与绿色低碳的发展理念极不相符.因此,近年来,许多... 代码表征旨在融合源代码的特征,以获取其语义向量,在基于深度学习的代码智能中扮演着重要角色.传统基于手工的代码表征依赖领域专家的标注,繁重耗时,且无法灵活地复用于特定下游任务,这与绿色低碳的发展理念极不相符.因此,近年来,许多自监督学习的编程语言大规模预训练模型(如CodeBERT)应运而生,为获取通用代码表征提供了有效途径.这些模型通过预训练获得通用的代码表征,然后在具体任务上进行微调,取得了显著成果.但是,要准确表示代码的语义信息,需要融合所有抽象层次的特征(文本级、语义级、功能级和结构级).然而,现有模型将编程语言仅视为类似于自然语言的普通文本序列,忽略了它的功能级和结构级特征.因此,旨在进一步提高代码表征的准确性,提出了基于多模态对比学习的代码表征增强的预训练模型(representation enhanced contrastive multimodal pretraining,REcomp).REcomp设计了新的语义级-结构级特征融合算法,将它用于序列化抽象语法树,并通过多模态对比学习的方法将该复合特征与编程语言的文本级和功能级特征相融合,以实现更精准的语义建模.最后,在3个真实的公开数据集上进行了实验,验证了REcomp在提高代码表征准确性方面的有效性. 展开更多
关键词 代码表征 预训练模型 多模态 对比学习
在线阅读 下载PDF
深度学习在代码表征中的应用综述 被引量:4
2
作者 谢春丽 梁瑶 王霞 《计算机工程与应用》 CSCD 北大核心 2021年第20期53-63,共11页
代码表征是对代码数值化的一种技术,把代码映射为一组连续的实值向量,提取隐藏在代码内部的属性,辅助程序员生成或分析代码,是代码克隆、代码推荐、代码剽窃等软件工程任务的核心技术和研究热点。研究者们对代码表征方面进行了一系列研... 代码表征是对代码数值化的一种技术,把代码映射为一组连续的实值向量,提取隐藏在代码内部的属性,辅助程序员生成或分析代码,是代码克隆、代码推荐、代码剽窃等软件工程任务的核心技术和研究热点。研究者们对代码表征方面进行了一系列研究,根据源代码抽取信息的方式,分为基于文本的表征、基于语法的表征、基于语义的表征和基于功能的表征;根据表征粒度的大小,分为基于词汇的表征、基于语句的表征、基于函数的表征等不同等级;根据表征方法的不同,分为基于统计的模型、基于自然语言的模型和基于深度学习的模型。对近几年基于深度学习的代码表征研究进展进行了综述,并从表征粒度、表征层次、表征模型、应用场景等方面对现有工作进行了概括、比较和分析。对基于深度学习的代码表征的未来发展趋势进行分析和展望。 展开更多
关键词 深度学习 代码表征 表征模型 表征粒度
在线阅读 下载PDF
基于深度学习的代码表征及其应用综述 被引量:5
3
作者 张祥平 刘建勋 《计算机科学与探索》 CSCD 北大核心 2022年第9期2011-2029,共19页
对程序进行分析、推理能够对软件开发、维护、迁移起到重要作用。如何高效地从程序代码中获取高质量信息成为了当前研究的热点。近几年有许多学者将基于深度学习的表征技术引入到程序代码分析任务中。深度学习模型能够自动地提取代码中... 对程序进行分析、推理能够对软件开发、维护、迁移起到重要作用。如何高效地从程序代码中获取高质量信息成为了当前研究的热点。近几年有许多学者将基于深度学习的表征技术引入到程序代码分析任务中。深度学习模型能够自动地提取代码中所包含的隐含特征,降低对人工制定特征的依赖。首先介绍了代码表征的背景知识和基本概念,从代码静态信息分析角度出发,总结了基于深度学习的代码表征研究工作。之后进一步介绍了代码表征在代码克隆检测、代码搜索和代码补全三个任务上的具体应用。最后分析现有基于深度学习的代码表征工作中仍然存在的问题,并展望了未来可能的研究方向。 展开更多
关键词 代码表征 表征学习 软件工程 代码分析 深度学习
在线阅读 下载PDF
基于生成对抗策略的代码搜索
4
作者 张祥平 刘建勋 +1 位作者 扈海泽 刘益 《软件学报》 EI CSCD 北大核心 2024年第12期5382-5396,共15页
基于深度学习的代码搜索方法通过计算代码与描述语句各自表征的相似程度,实现代码搜索任务.然而此类方法并未考虑代码和描述语句之间真实存在的相关性概率分布.针对此问题,将经典概率模型中代码和描述语句的相关性概率分布与向量空间模... 基于深度学习的代码搜索方法通过计算代码与描述语句各自表征的相似程度,实现代码搜索任务.然而此类方法并未考虑代码和描述语句之间真实存在的相关性概率分布.针对此问题,将经典概率模型中代码和描述语句的相关性概率分布与向量空间模型中特征提取相结合,提出基于生成对抗策略的代码搜索方法.所提方法首先设计代码和描述语句的特征编码器用于特征提取.接着采用生成对抗策略,将代码和描述语句之间的概率分布应用于生成器和判别器的交替训练,同时实现对代码编码器和描述语句编码器的优化,生成高质量的代码表征和描述语句表征用于代码搜索任务.最后在公开的数据集上进行实验验证,结果表明所提出的方法相比于DeepCS方法在Recall@10,MRR@10和NDCG@10指标上分别提升8.4%、32.5%和24.3%. 展开更多
关键词 代码搜索 生成对抗策略 代码表征 近似采样
在线阅读 下载PDF
基于词汇的源代码克隆检测技术综述
5
作者 刘春玲 戚旭衍 +3 位作者 唐永鹤 孙雪凯 李晴浩 张雨 《计算机科学》 CSCD 北大核心 2024年第6期12-22,共11页
代码克隆指在软件开发过程中对源代码复用、修改、重构产生的文本相似或结构相似的代码。代码克隆对提升软件开发效率、节约开发成本有积极作用,但也会引起Bug传播,并对软件的稳定性、可维护性产生负面影响。代码克隆检测在剽窃检测、... 代码克隆指在软件开发过程中对源代码复用、修改、重构产生的文本相似或结构相似的代码。代码克隆对提升软件开发效率、节约开发成本有积极作用,但也会引起Bug传播,并对软件的稳定性、可维护性产生负面影响。代码克隆检测在剽窃检测、漏洞检测、版权侵权等领域具有重要的研究意义和应用价值。基于词汇的克隆检测技术能快速检测1-3型克隆,能扩展到其他编程语言,已被广泛应用于大规模克隆检测任务中。文中对近5年基于词汇的克隆检测技术的研究现状进行了梳理,根据相似性算法中的基本计算粒度将其分为4类,并对10余个技术特征进行了分析和总结,讨论其局限性及面临的挑战,最后结合新技术的发展提出了基于词汇的克隆检测技术未来可能的研究方向。 展开更多
关键词 软件安全 代码克隆检测 代码表征 深度学习
在线阅读 下载PDF
基于代码属性图和Bi-GRU的软件脆弱性检测方法 被引量:7
6
作者 肖添明 管剑波 +3 位作者 蹇松雷 任怡 张建锋 李宝 《计算机研究与发展》 EI CSCD 北大核心 2021年第8期1668-1685,共18页
现在软件规模越来越庞大和复杂,脆弱性形式也更趋向多样化,传统的脆弱性检测方法存在人工参与度高、对未知脆弱性检测能力弱的缺点,已无法满足对多样化脆弱性的检测要求.为了提高对未知脆弱性的检测效果,大量机器学习方法被应用到软件... 现在软件规模越来越庞大和复杂,脆弱性形式也更趋向多样化,传统的脆弱性检测方法存在人工参与度高、对未知脆弱性检测能力弱的缺点,已无法满足对多样化脆弱性的检测要求.为了提高对未知脆弱性的检测效果,大量机器学习方法被应用到软件脆弱性检测领域.由于现有方法在代码表征过程中存在着较高的语法和语义信息的损失,导致误报率和漏报率较高.针对这一问题,提出了一种基于代码属性图和Bi-GRU的软件脆弱性检测方法.该方法通过从函数的代码属性图中提取出抽象语法树序列、控制流图序列作为函数表征的表征方式,减少代码表征过程中的信息的损失,并通过选取Bi-GRU来构建特征提取模型,提高对脆弱性代码的特征提取能力.实验结果表明,与以抽象语法树为表征方式的方法相比,该方法最大可提高35%的精确率和22%的召回率,可改善面向多个软件源代码混合的真实数据集的脆弱性检测效果,有效降低误报率和漏报率. 展开更多
关键词 脆弱性检测 代码属性图 代码表征 机器学习 Bi-GRU
在线阅读 下载PDF
基于深度学习的源代码缺陷检测研究综述 被引量:8
7
作者 邓枭 叶蔚 +1 位作者 谢睿 张世琨 《软件学报》 EI CSCD 北大核心 2023年第2期625-654,共30页
源代码缺陷检测是判别程序代码中是否存在非预期行为的过程,广泛应用于软件测试、软件维护等软件工程任务,对软件的功能保障与应用安全方面具有至关重要的作用.传统的缺陷检测研究以程序分析为基础,通常需要很强的领域知识与复杂的计算... 源代码缺陷检测是判别程序代码中是否存在非预期行为的过程,广泛应用于软件测试、软件维护等软件工程任务,对软件的功能保障与应用安全方面具有至关重要的作用.传统的缺陷检测研究以程序分析为基础,通常需要很强的领域知识与复杂的计算规则,面临状态爆炸问题,导致检测性能有限,在误报漏报率上都有较大提高空间.近年来,开源社区的蓬勃发展积累了以开源代码为核心的海量数据,在此背景下,利用深度学习的特征学习能力能够自动学习语义丰富的代码表示,从而为缺陷检测提供一种新的途径.搜集了该领域最新的高水平论文,从缺陷代码数据集与深度学习缺陷检测模型两方面系统地对当前方法进行了归纳与阐述.最后对该领域研究所面临的主要挑战进行总结,并展望了未来可能的研究重点. 展开更多
关键词 深度学习 缺陷检测 代码表征
在线阅读 下载PDF
代码克隆检测研究进展 被引量:20
8
作者 陈秋远 李善平 +1 位作者 鄢萌 夏鑫 《软件学报》 EI CSCD 北大核心 2019年第4期962-980,共19页
代码克隆(code clone),是指存在于代码库中两个及以上相同或者相似的源代码片段.代码克隆相关问题是软件工程领域研究的重要课题.代码克隆是软件开发中的常见现象,它能够提高效率,产生一定的正面效益.但是研究表明,代码克隆也会对软件... 代码克隆(code clone),是指存在于代码库中两个及以上相同或者相似的源代码片段.代码克隆相关问题是软件工程领域研究的重要课题.代码克隆是软件开发中的常见现象,它能够提高效率,产生一定的正面效益.但是研究表明,代码克隆也会对软件系统的开发、维护产生负面的影响,包括降低软件稳定性,造成代码库冗余和软件缺陷传播等.代码克隆检测技术旨在寻找检测代码克隆的自动化方法,从而用较低成本减少代码克隆的负面效应.研究者们在代码克隆检测方面获得了一系列的检测技术成果,根据这些技术利用源代码信息的程度不同,可以将它们分为基于文本、词汇、语法、语义4个层次.现有的检测技术针对文本相似的克隆取得了有效的检测结果,但同时也面临着更高抽象层次克隆的挑战,亟待更先进的理论、技术来解决.着重从源代码表征方式角度入手,对近年来代码克隆检测研究进展进行了梳理和总结.主要内容包括:(1)根据源代码表征方式阐述并归类了现有的克隆检测方法;(2)总结了模型评估中使用的实验验证方法与性能评估指标;(3)从科学性、实用性和技术难点这3个方面归纳总结了代码克隆研究的关键问题,围绕数据标注、表征方法、模型构建和工程实践4个方面,阐述了问题的可能解决思路和研究的未来发展趋势. 展开更多
关键词 代码克隆 克隆检测 代码表征
在线阅读 下载PDF
以CodeBERT为基础的代码分类研究 被引量:2
9
作者 成思强 刘建勋 +1 位作者 彭珍连 曹奔 《计算机工程与应用》 CSCD 北大核心 2023年第24期277-288,共12页
随着代码大数据的不断发展,代码库中的源代码数量逐渐增长。如何快速有效地对代码库中的代码进行分类管理,对软件工程的发展具有十分重要的意义。第一次将预训练模型引入代码分类研究,并提出了一种优化的代码分类方法 CBBCC。CBBCC采用w... 随着代码大数据的不断发展,代码库中的源代码数量逐渐增长。如何快速有效地对代码库中的代码进行分类管理,对软件工程的发展具有十分重要的意义。第一次将预训练模型引入代码分类研究,并提出了一种优化的代码分类方法 CBBCC。CBBCC采用wordpiece对源代码进行数据预处理。采用CodeBERT预训练模型对源代码进行特征表征。在预训练模型的基础上进行分类任务的微调。为了验证所提模型的有效性,在POJ104数据集上进行实验分析。实验结果表明,相对于7种基准模型,CBBCC模型各项分类指标都在98%以上。其中准确率上比目前最优模型提高了1.1个百分点,达到了POJ104代码分类数据集上分类任务的SOTA值。CBBCC能有效地对代码进行标注,提高对开源社区源代码的管理,促进软件工程领域的发展。 展开更多
关键词 代码分类 代码表征 CodeBERT 迁移训练 代码片段
在线阅读 下载PDF
智能代码补全研究综述 被引量:8
10
作者 杨博 张能 +1 位作者 李善平 夏鑫 《软件学报》 EI CSCD 北大核心 2020年第5期1435-1453,共19页
代码补全(code completion)是自动化软件开发的重要功能之一,是大多数现代集成开发环境和源代码编辑器的重要组件.代码补全提供即时类名、方法名和关键字等预测,辅助开发人员编写程序,直观提高软件开发效率.近年来,开源软件社区中源代... 代码补全(code completion)是自动化软件开发的重要功能之一,是大多数现代集成开发环境和源代码编辑器的重要组件.代码补全提供即时类名、方法名和关键字等预测,辅助开发人员编写程序,直观提高软件开发效率.近年来,开源软件社区中源代码和数据规模不断扩大,人工智能技术取得了卓越进展,这对自动化软件开发技术产生了极大的促进作用.智能代码补全(intelligent code completion)根据源代码建立语言模型,从语料库学习已有代码特征,根据待补全位置的上下文代码特征在语料库中检索最相似的匹配项进行推荐和预测.相对于传统代码补全,智能代码补全凭借其高准确率、多补全形式、可学习迭代的特性成为软件工程领域的热门方向之一.研究者们在智能代码补全方面进行了一系列研究,根据这些方法如何表征和利用源代码信息的不同方式,可以将它们分为基于编程语言表征和基于统计语言表征两个研究方向,其中,基于编程语言表征又分为标识符序列、抽象语法树、控制/数据流图这3个类别,基于统计语言表征又分为N-gram模型、神经网络模型这2个类别.从代码表征的角度入手,对近年来代码补全方法研究进展进行梳理和总结,主要内容包括:(1)根据代码表征方式阐述并归类了现有的智能代码补全方法;(2)总结了代码补全的一般过程和模型评估中的模型验证方法与性能评估指标;(3)归纳了智能代码补全的主要挑战;(4)展望了智能代码补全的未来发展方向. 展开更多
关键词 代码补全 代码表征 软件开发工具
在线阅读 下载PDF
基于多维度特征和混合神经网络的代码可读性评估方法 被引量:2
11
作者 米庆 郭黎敏 陈军成 《计算机科学》 CSCD 北大核心 2021年第12期94-99,共6页
对代码可读性进行定量、准确的评估是有效保障软件质量、降低沟通成本以及维护成本、提高软件开发和演化效率的重要途径。然而,现有的针对代码可读性评估的研究方案大多是基于特征工程的,受到源代码表征方式、技术手段等多方面因素影响... 对代码可读性进行定量、准确的评估是有效保障软件质量、降低沟通成本以及维护成本、提高软件开发和演化效率的重要途径。然而,现有的针对代码可读性评估的研究方案大多是基于特征工程的,受到源代码表征方式、技术手段等多方面因素影响,其评估准确率并不高。为此,文中采用深度学习作为主要技术手段,提出了一种基于多维度特征和混合神经网络的代码可读性评估方法,通过整合并运用各种单一神经网络的优势,从字符级、词条级等不同维度挖掘源代码中蕴含的结构信息和语义信息,最终实现对代码可读性的量化评估。实验表明,该方法能够获得高达84.6%的评估准确率,比单独使用卷积神经网络提升了9.2%,比单独使用循环神经网络模型提升了6.5%,并且其表现优于现有的5个可读性模型,验证了所提出的多维度特征和混合神经网络的有效性。 展开更多
关键词 代码可读性 代码表征 深度学习 代码分析 软件质量保障
在线阅读 下载PDF
基于预训练模型的代码分类研究
12
作者 梁瑶 洪庆成 +1 位作者 王霞 谢春丽 《软件工程》 2023年第10期32-35,共4页
代码分类是软件开发与管理的基础工作,有利于代码的重用、理解、查找和维护。现有的有监督学习方法需要大量带标签数据作为训练样本,而数据的标注成本很高,针对这一问题,提出了基于预训练的代码分类方法。首先,对代码进行消除空白、去... 代码分类是软件开发与管理的基础工作,有利于代码的重用、理解、查找和维护。现有的有监督学习方法需要大量带标签数据作为训练样本,而数据的标注成本很高,针对这一问题,提出了基于预训练的代码分类方法。首先,对代码进行消除空白、去除低频符号等预处理工作;其次,采用一种基于BERT的预训练模型(CodeBERT)在无标注样本上提取代码的语法、语义和上下文语境等相关特征;最后,基于预训练模型在小样本上微调代码分类器。实验结果表明:该方法即使在较小的训练周期也获得了较好的实验结果,其F1值比文本卷积神经网络(Text-Convolutional Neural Networks,Text-CNN)方法提高了约12%。 展开更多
关键词 代码表征 代码分类 预训练模型
在线阅读 下载PDF
程序算法识别研究综述
13
作者 张雅雯 张丽萍 +1 位作者 闫盛 魏敏 《计算机应用研究》 CSCD 北大核心 2024年第7期1940-1950,共11页
了解程序代码所描述的算法,能帮助程序员理解程序从而开展各项软件工程任务。由于人工理解程序算法要求程序员具备丰富的专业知识并且十分耗时耗力,程序算法识别任务以实现程序算法理解的自动化为主要研究目标,与人工理解相比更为高效... 了解程序代码所描述的算法,能帮助程序员理解程序从而开展各项软件工程任务。由于人工理解程序算法要求程序员具备丰富的专业知识并且十分耗时耗力,程序算法识别任务以实现程序算法理解的自动化为主要研究目标,与人工理解相比更为高效、准确。系统整理了程序算法识别领域的相关工作。首先,梳理程序算法识别等相关概念,简介基于知识表示与基于信息检索的方法;其次,将基于代码表征的方法划分为基于序列、基于树和基于图等方法展开详细阐述,并对三类方法作出小结与对比;最后,介绍程序算法识别任务的相关应用领域,分析该任务中尚存的问题并对未来的发展作出展望。 展开更多
关键词 程序算法识别 程序理解 程序代码表征
在线阅读 下载PDF
基于DistilBert-LSTM与多项朴素贝叶斯的漏洞检测方法 被引量:2
14
作者 王璇 王馨彤 +1 位作者 陈燕俐 孙知信 《南京邮电大学学报(自然科学版)》 北大核心 2023年第2期102-110,共9页
软件漏洞检测是维系软件安全性的关键,漏洞的高效检验是当前的研究热点。文中提出了一种基于DistilBert-LSTM与多项朴素贝叶斯的漏洞检测模型。为实现漏洞函数的源代码文本深度表征,文中通过DistilBert-LSTM挖掘漏洞的局部关键特征和全... 软件漏洞检测是维系软件安全性的关键,漏洞的高效检验是当前的研究热点。文中提出了一种基于DistilBert-LSTM与多项朴素贝叶斯的漏洞检测模型。为实现漏洞函数的源代码文本深度表征,文中通过DistilBert-LSTM挖掘漏洞的局部关键特征和全局时间特征,并得出漏洞的存在性概率;针对漏洞检测过程中的难样本,通过多项朴素贝叶斯进行优化检测,该模型使用TF-IDF矢量化器进行数据预处理,并通过执行卡方检验进行特征选择,将所得输出至多项朴素贝叶斯分类器中进行检测,以获得最终的漏洞检测结果。实验结果表明,文中提出的方法在公共漏洞和暴露数据库的数据上有效提高了漏洞检测的准确率和精确率,同时降低了漏洞检测的误报率和漏报率,相较于其他机器学习模型,具有更优的性能指标。 展开更多
关键词 漏洞检测 代码表征 语言模型 长短期记忆网络 多项朴素贝叶斯分类器
在线阅读 下载PDF
基于词向量模型的漏洞检测方法 被引量:1
15
作者 肖巍 胡景浩 +2 位作者 侯正章 王涛 潘超 《吉林大学学报(理学版)》 CAS 北大核心 2023年第6期1358-1366,共9页
针对漏洞检测领域面临的实验平台不统一、数据集异构等问题,研究词向量模型在C/C++函数漏洞检测方面的应用.用5种词向量模型对源代码生成的抽象语法树结构进行知识表示,用6种神经网络模型进行漏洞检测,实验结果表明,函数级代码具有浅层... 针对漏洞检测领域面临的实验平台不统一、数据集异构等问题,研究词向量模型在C/C++函数漏洞检测方面的应用.用5种词向量模型对源代码生成的抽象语法树结构进行知识表示,用6种神经网络模型进行漏洞检测,实验结果表明,函数级代码具有浅层的语义关系,代码块内部联系紧密. 展开更多
关键词 词向量模型 漏洞检测 抽象语法树 代码表征 神经网络
在线阅读 下载PDF
基于机器学习的软件漏洞挖掘方法综述 被引量:47
16
作者 李韵 黄辰林 +2 位作者 王中锋 袁露 王晓川 《软件学报》 EI CSCD 北大核心 2020年第7期2040-2061,共22页
软件复杂性的增加,给软件安全性带来极大的挑战.随着软件规模的不断增大以及漏洞形态多样化,传统漏洞挖掘方法由于存在高误报率和高漏报率的问题,已无法满足复杂软件的安全性分析需求.近年来,随着人工智能产业的兴起,大量机器学习方法... 软件复杂性的增加,给软件安全性带来极大的挑战.随着软件规模的不断增大以及漏洞形态多样化,传统漏洞挖掘方法由于存在高误报率和高漏报率的问题,已无法满足复杂软件的安全性分析需求.近年来,随着人工智能产业的兴起,大量机器学习方法被尝试用于解决软件漏洞挖掘问题.首先,通过梳理基于机器学习的软件漏洞挖掘的现有研究工作,归纳了其技术特征与工作流程;接着,从其中核心的原始数据特征提取切入,以代码表征形式作为分类依据,对现有研究工作进行分类阐述,并系统地进行了对比分析;最后,依据对现有研究工作的整理总结,探讨了基于机器学习的软件漏洞挖掘领域面临的挑战,并展望了该领域的发展趋势. 展开更多
关键词 机器学习 漏洞挖掘 代码表征 软件质量 深度学习
在线阅读 下载PDF
基于深度学习的软件安全漏洞挖掘 被引量:26
17
作者 顾绵雪 孙鸿宇 +6 位作者 韩丹 杨粟 曹婉莹 郭祯 曹春杰 王文杰 张玉清 《计算机研究与发展》 EI CSCD 北大核心 2021年第10期2140-2162,共23页
软件的高复杂性和安全漏洞的形态多样化给软件安全漏洞研究带来了严峻的挑战.传统的漏洞挖掘方法效率低下且存在高误报和高漏报等问题,已经无法满足日益增长的软件安全性需求.目前,大量的研究工作尝试将深度学习应用于漏洞挖掘领域,以... 软件的高复杂性和安全漏洞的形态多样化给软件安全漏洞研究带来了严峻的挑战.传统的漏洞挖掘方法效率低下且存在高误报和高漏报等问题,已经无法满足日益增长的软件安全性需求.目前,大量的研究工作尝试将深度学习应用于漏洞挖掘领域,以实现自动化和智能化漏洞挖掘.对深度学习应用于安全漏洞挖掘领域进行了深入的调研和分析.首先,通过梳理和分析基于深度学习的软件安全漏洞挖掘现有研究工作,概括其一般工作框架和技术方法;其次,以深度特征表示为切入点,分类阐述和归纳不同代码表征形式的安全漏洞挖掘模型;然后,分别探讨基于深度学习的软件安全漏洞挖掘模型在具体领域的应用,并重点关注物联网和智能合约安全漏洞挖掘;最后,依据对现有研究工作的整理和总结,指出该领域面临的不足与挑战,并对未来的研究趋势进行展望. 展开更多
关键词 深度学习 漏洞挖掘 代码表征 物联网安全 智能合约安全
在线阅读 下载PDF
基于重子节点抽象语法树的软件缺陷预测 被引量:7
18
作者 黄晓伟 范贵生 +1 位作者 虞慧群 杨星光 《计算机工程》 CAS CSCD 北大核心 2021年第12期230-235,248,共7页
在实际软件项目开发过程中,软件缺陷预测能辅助测试人员找到项目中可能存在缺陷的位置,并通过抽象语法树(AST)获取项目模块中隐藏的结构和语义信息,此类信息有助于提高缺陷预测精度。提出基于重子节点抽象语法树的缺陷预测方法,在提取... 在实际软件项目开发过程中,软件缺陷预测能辅助测试人员找到项目中可能存在缺陷的位置,并通过抽象语法树(AST)获取项目模块中隐藏的结构和语义信息,此类信息有助于提高缺陷预测精度。提出基于重子节点抽象语法树的缺陷预测方法,在提取节点信息时保留节点的类型信息和对应代码语义的值信息,并使用特殊字符串代替没有值信息的节点。通过树链剖分思想将AST分割为重子节点和轻子节点,优先选择重子节点作为序列化向量中的节点,同时利用深度学习网络学习节点序列中的源代码结构和语言实现软件缺陷预测。实验结果表明,与DFS方法相比,该方法在基于注意力机制的循环神经网络深度学习模型上的F1值和AUC值平均提升约3%和4%,具有更好的缺陷预测效果。 展开更多
关键词 软件质量保障 软件缺陷预测 代码表征 抽象语法树 深度学习
在线阅读 下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部