-
题名基于学习的源代码漏洞检测研究与进展
- 1
-
-
作者
苏小红
郑伟宁
蒋远
魏宏巍
万佳元
魏子越
-
机构
哈尔滨工业大学计算学部
-
出处
《计算机学报》
EI
CSCD
北大核心
2024年第2期337-374,共38页
-
基金
国家自然科学基金项目(62272132)资助。
-
文摘
源代码漏洞自动检测是源代码漏洞修复的前提和基础,对于保障软件安全具有重要意义.传统的方法通常是基于安全专家人工制定的规则检测漏洞,但是人工制定规则的难度较大,且可检测的漏洞类型依赖于安全专家预定义的规则.近年来,人工智能技术的快速发展为实现基于学习的源代码漏洞自动检测提供了机遇.基于学习的漏洞检测方法是指使用基于机器学习或深度学习技术来进行漏洞检测的方法,其中基于深度学习的漏洞检测方法由于能够自动提取代码中漏洞相关的语法和语义特征,避免特征工程,在漏洞检测领域表现出了巨大的潜力,并成为近年来的研究热点.本文主要回顾和总结了现有的基于学习的源代码漏洞检测技术,对其研究和进展进行了系统的分析和综述,重点对漏洞数据挖掘与数据集构建、面向漏洞检测任务的程序表示方法、基于机器学习和深度学习的源代码漏洞检测方法、源代码漏洞检测的可解释方法、细粒度的源代码漏洞检测方法等五个方面的研究工作进行了系统的分析和总结.在此基础上,给出了一种结合层次化语义感知、多粒度漏洞分类和辅助漏洞理解的漏洞检测参考框架.最后对基于学习的源代码漏洞检测技术的未来研究方向进行了展望.
-
关键词
软件安全
源代码漏洞检测
漏洞数据挖掘
漏洞特征提取
代码表示学习
深度学习
模型可解释性
漏洞检测
-
Keywords
software security
source code vulnerability detection
vulnerability data mining
vulnerability feature extraction
code representation learning
deep learning
model interpretability
vulnerability detection
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名代码变更表示学习及其应用研究进展
- 2
-
-
作者
刘忠鑫
唐郅杰
夏鑫
李善平
-
机构
浙江大学计算机科学与技术学院
华为公司软件工程应用技术实验室
-
出处
《软件学报》
EI
CSCD
北大核心
2023年第12期5501-5526,共26页
-
基金
浙江大学教育基金会启真人才基金。
-
文摘
代码变更是软件演化过程中的关键行为,其质量与软件质量密切相关.对代码变更进行建模和表示是众多软件工程任务的基础,例如即时缺陷预测、软件制品可追溯性恢复等.近年来,代码变更表示学习技术得到了广泛的关注与应用.该类技术旨在学习将代码变更的语义信息表示为稠密低维实值向量,即学习代码变更的分布式表示,相比于传统的人工设计代码变更特征的方法具有自动学习、端到端训练和表示准确等优点.但同时该领域目前也存在如结构信息利用困难、基准数据集缺失等挑战.对近期代码变更表示学习技术的研究及应用进展进行了梳理和总结,主要内容包括:(1)介绍了代码变更表示学习及其应用的一般框架.(2)梳理了现有的代码变更表示学习技术,总结了不同技术的优缺点.(3)总结并归类了代码变更表示学习技术的下游应用.(4)归纳了代码变更表示学习技术现存的挑战和潜在的机遇,展望了该类技术的未来发展方向.
-
关键词
代码变更
表示学习
代码变更表示
软件演化
软件维护
-
Keywords
code change
representation learning
code change representation
software evolution
software maintenance
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名小数的代码表示及其加减运算
- 3
-
-
作者
徐孝凯
-
机构
中央电大计算机教研室
-
出处
《中国远程教育》
1983年第1期12-14,共3页
-
文摘
带符号小数包括正小数和负小数两类。通常我们在表示带符号数时,是在数值(绝对值)左面加上符号,正号用“+”表示(也可以省略),负号用“-”表示。例如对于二进制数:数值为0.1011、符号用正时,可表示为+0.1011或0.1011;数值为0.1011、符号用负时,可表示为-0.1011。上面这种表示方法,我们称为带符号数的“真值表示”。所谓带符号数的“代码表示”,是指带符号数的数值部分以及符号部分统一用代码形式(仅取0和1两种数字代码)表示的。下面分别介绍二进制小数的三种代码表示:原码、反码和补码。
-
关键词
补码运算
代码表示
原码
符号位
反码和
小数
真值表
带符号数
绝对值
求补
-
分类号
G434
[文化科学—教育技术学]
G728
[文化科学—成人教育学]
-
-
题名融合知识的小片段代码相似性比较模型
- 4
-
-
作者
夏冰
周鑫
庞建民
岳峰
单征
-
机构
信息工程大学网络空间安全学院
中原工学院前沿信息技术研究院
信息工程大学嵩山实验室
-
出处
《计算机工程与设计》
北大核心
2023年第8期2360-2366,共7页
-
基金
国家自然科学基金项目(61802435、61802433)
河南省高等学校重点科研基金项目(22B520054)。
-
文摘
二进制小片段代码指令序列较短,基本块逻辑调用图结构简单,有限语义信息影响代码相似性比较结果,为此提出一种融合知识表示学习的二进制代码小片段相似性比较模型(BSM)。分别提取小片段代码的函数知识和函数代码,利用注意力机制和双向长短记忆得到知识嵌入,使用序列学习模型或图神经网络得到函数嵌入,融合知识嵌入和函数嵌入作为小片段代码向量表示。实验结果表明,BSM模型在跨平台比较上优于其它对比模型,说明模型能提升小片段代码比较的准确度。
-
关键词
二进制代码
跨平台
小片段比较
神经网络
自然语言处理
知识表示学习
代码表示学习
-
Keywords
binary code
cross-platform
snippet code similarity
neural network
natural language processing
knowledge representation learning
code representation learning
-
分类号
TP391
[自动化与计算机技术—计算机应用技术]
-
-
题名基于代码嵌入的二进制代码相似性分析方法
被引量:1
- 5
-
-
作者
熊敏
薛吟兴
徐云
-
机构
中国科学技术大学计算机科学与技术学院
安徽省高性能计算重点实验室
-
出处
《网络安全与数据治理》
2023年第3期58-67,共10页
-
基金
国家自然科学基金项目(61672480,61972373)
教育部和外专局高等学校学科创新引智计划项目(B0703308)。
-
文摘
代码嵌入利用神经网络模型将二进制函数的代码表示转化为向量,在漏洞搜索等应用中展现了优势。现有的方法将函数表示为汇编指令序列、控制流图的拓扑结构或若干路径,都没有克服不同编译环境导致控制流图结构变化的干扰。为此,设计了基于基本块树(Basic Block Tree, BBT)的代码表示以及构建了对应的代码嵌入模型BBTree。首先,二进制函数被表示为一系列BBT,每个BBT被处理为指令序列;其次,BBTree利用LSTM和Bi-GRU将基于BBT的代码表示转化为向量;最后,通过计算向量间的距离去高效衡量对应函数的相似性。在代码搜索中,BBTree的平均准确率比主流工具提升了24.8%;在漏洞搜索中,BBTree的平均召回率比主流工具提升了26.1%。
-
关键词
代码表示
代码嵌入模型
代码搜索
漏洞搜索
-
Keywords
code representation
code embedding model
code search
vulnerability search
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于向量表示的代码搜索方法
- 6
-
-
作者
慕江林
刘克剑
林晗
-
机构
西华大学计算机与软件工程学院
成都理工大学管理科学学院
-
出处
《西华大学学报(自然科学版)》
CAS
2019年第5期106-112,共7页
-
文摘
软件开发者在开发项目过程中往往需要引用大量由其他开发者开发的基础软件包。为获取除基础软件包开发文档外的使用方式,软件开发者需将代码关键词输入到代码搜索引擎搜索代码片段。文章提出一种基于向量表示的代码搜索方法,该方法收集Github和Stack Overflow数据集中的代码片段训练一个扩充代码词的skip-gram模型,并使用这个模型扩充从搜索文本中提取的与代码词关联的搜索关键词,得到搜索关键词上下文代码片段向量组,将搜索关键词上下文代码片段向量组和待匹配代码片段向量组编码后,计算余弦相似度并排序生成搜索结果。为验证算法的有效性,分别在Github数据集和Stack Overflow上验证。在Stack Overflow数据集上测试表明:58%的搜索能在第1个搜索结果找到正确答案;65%的搜索能在前5个答案中找到正确答案;72%的搜索能在前10个答案中找到正确答案,并在召回率和F值也有一定程度的提升。在Github数据集上测试表明:59%的搜索能在第1个搜索结果找到正确答案;67%的搜索能在前5个答案中找到正确答案;74%的搜索能在前10个答案中找到正确答案,并在召回率和F值也有一定程度的提升。针对大量数据的代码检索,本算法效果优于典型方法的搜索结果。
-
关键词
代码向量表示
代码搜索
语义编码
余弦相似度
-
Keywords
code vector representation
code search
semantic coding
cosine similarity
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名深度程序理解视角下代码搜索研究综述
- 7
-
-
作者
汶东震
张帆
刘海峰
杨亮
徐博
林原
林鸿飞
-
机构
大连理工大学
-
出处
《计算机工程与应用》
CSCD
北大核心
2022年第20期63-72,共10页
-
基金
国家重点研发计划(2016YFB1001103)
国家自然科学基金(61976036)。
-
文摘
代码搜索任务旨在通过分析用户需求,结合用户意图来找到满足其需求的软件构件。在加强软件复用性的同时,提高软件开发维护效率,降低成本。与传统的文档检索不同,程序特性往往隐含在标识符和代码结构中,理解程序功能是实现高效代码搜索的关键。从深度程序理解视角切入对代码搜索任务进行定义,并总结梳理近期代码搜索研究进展。针对当前代码搜索研究评估方法和数据集进行了整理。针对研究中存在的问题,对未来代码搜索研究进行展望,为后来研究者提供参考。
-
关键词
程序理解
深度程序理解
代码搜索
自然语言查询
代码表示
信息检索
-
Keywords
program comprehension
deep program comprehension
code search
natural language query
code representation
information retrieval
-
分类号
TP391
[自动化与计算机技术—计算机应用技术]
-
-
题名组合源码结构和语义的代码注释自动生成方法
- 8
-
-
作者
周培君
吴军华
-
机构
南京工业大学计算机科学与技术学院
-
出处
《小型微型计算机系统》
CSCD
北大核心
2021年第12期2501-2505,共5页
-
基金
国家自然科学基金青年基金项目(61802176)资助。
-
文摘
代码注释有助于提高程序的可读性和可理解性,而不断地创建和更新注释非常费时费力,这将影响对软件的理解、重用和维护.自动代码注释试图解决此类问题,其中代码的表示和文本生成是研究的核心问题.该文提出一种基于编码器-解码器结构的自动生成Java代码注释模型.方法将代码的顺序序列和代码结构作为单独的输入进行处理,允许模型学习Java方法的结构和语义;以一定的概率从模型生成的预测序列和真实词序列中采样作为下一步的输入,以提高模型的纠错恢复能力.通过与3种典型自动代码注释方法在11个Java项目上的对比实验,结果表明,提出的模型在BLEU得分上提升了16.1%,有助于提高自动代码注释的性能.
-
关键词
代码注释生成
代码表示
文本生成
编码器-解码器
-
Keywords
code comment generation
code representation
text generation
encoder-decoder
-
分类号
TP312
[自动化与计算机技术—计算机软件与理论]
-
-
题名面向业务需求的算法路径自组配模型
- 9
-
-
作者
刘耀
童昕
陈一风
-
机构
中国科学技术信息研究所信息技术支持中心
北京大学软件与微电子学院
-
出处
《计算机应用》
CSCD
北大核心
2023年第6期1768-1778,共11页
-
基金
国家社会科学基金资助项目(21BTQ011)。
-
文摘
算法平台作为自动机器学习的实现方式近年来受到广泛关注,然而这些平台的业务流程均需要人工搭建,且这些平台存在模型调用不灵活以及无法针对特定业务定制化的自动算法构建的问题。针对这些问题,提出了一种面向业务需求的算法路径自组配模型。首先,基于图卷积网络(GCN)与word2vec表示对代码的序列特征与结构特征同时建模;然后,进一步通过聚类模型发现算法集合中的功能,并基于得到的功能子集为子集间算法组件的路径发现作准备;最后,基于先验知识训练得到关系发现模型与排序模型,挖掘候选代码组件的自组织路径,从而实现算法代码自组配。使用所提评价指标进行对比分析,所提模型的最好结果为0.8,而Okapi BM25+word2vec基线模型的最好结果为0.21。所提模型在一定程度上解决了传统代码表示方法中代码结构与语义信息缺失的问题,并为精细化算法流程自组织和算法管道自动构建的研究奠定了基础。
-
关键词
自然语言处理
排序学习
代码解析
代码资源结构化
代码表示
-
Keywords
Natural Language Processing(NLP)
learning to rank
code parsing
code resource structuring
code representation
-
分类号
TP181
[自动化与计算机技术—控制理论与控制工程]
-
-
题名基于图卷积神经网络的函数自动命名
被引量:1
- 10
-
-
作者
王堃
李征
刘勇
-
机构
北京化工大学信息科学与技术学院
-
出处
《计算机系统应用》
2021年第8期256-265,共10页
-
基金
国家自然科学基金(61902015)。
-
文摘
函数自动命名技术旨在为输入的源代码自动生成目标函数名,增强程序代码的可读性以及加速软件开发进程,是软件工程领域中一项重要的研究任务.现有基于机器学习的技术主要是通过序列模型对源代码进行编码,进而自动生成函数名,但存在长程依赖问题和代码结构编码问题.为了更好的提取程序中的结构信息和语义信息,本文提出了一个基于图卷积(Graph Convolutional Network,GCN)的神经网络模型—TrGCN(a Transformer and GCN based automatic method naming).TrGCN利用了Transformer中的自注意力机制来缓解长程依赖问题,同时采用Character-word注意力机制提取代码的语义信息.TrGCN引入了一种基于图卷积的AST Encoder结构,丰富了AST节点特征向量的信息,可以很好地对源代码结构信息进行建模.在实证研究中,使用了3个不同规模的数据集来评估TrGCN的有效性,实验结果表明TrGCN比当前广泛使用的模型code2seq和Sequence-GNNs能更好的自动生成函数名,其中F1分数分别提高了平均5.2%、2.1%.
-
关键词
深度学习
图卷积神经网络
代码表示方式
-
Keywords
deep learning
Graph Convolutional Network(GCN)
code representation
-
分类号
TP311.52
[自动化与计算机技术—计算机软件与理论]
TP183
[自动化与计算机技术—控制理论与控制工程]
-
-
题名附录B
- 11
-
-
-
出处
《现代图书情报技术》
1986年第S1期54-65,共12页
-
-
关键词
位字
代码表示
可重复
录音带
子字段
乐谱
影片
指示符
唱片
编码数据
-
分类号
G25
[文化科学—图书馆学]
G35
[文化科学—情报学]
-
-
题名附录A
- 12
-
-
-
出处
《现代图书情报技术》
1986年第S1期49-54,共6页
-
-
关键词
位字
代码表示
天体图
地图
编码数据
可重复
遥感器
地球资源卫星
平差
子字段
-
分类号
G25
[文化科学—图书馆学]
G35
[文化科学—情报学]
-
-
题名ISO 9000:公布和基础
- 13
-
-
作者
岁丰
-
出处
《管理观察》
1997年第8期45-45,共1页
-
-
关键词
ISO9000
ISO9002
质量体系模型
修改标准
产品设计
设计问题
代码表示
应用指南
维护问题
产品检验
-
分类号
F203
[经济管理—国民经济]
-
-
题名汉字信息处理技术评述
- 14
-
-
作者
楼璐
-
机构
上海市计算技术研究所
-
出处
《新技术应用》
1990年第1期26-29,共4页
-
-
关键词
汉字信息处理技术
中西文兼容技术
汉字键入技术
机内代码表示技术
汉字信息压缩技术
汉字输出技术
-
分类号
TP391.1
[自动化与计算机技术—计算机应用技术]
-
-
题名浅谈会计电算化对农经管理工作的影响
- 15
-
-
作者
张勇涛
曲祺霞
-
机构
哈尔滨理工大学人文学院外语系
-
出处
《黑龙江农业》
2003年第3期28-29,共2页
-
-
关键词
会计电算化
农业经济管理工作
特点
数据处理手段现代化
会计信息载体磁性化
数据处理方式自动化
会计信息表示代码化
内部控制趋向程序化
-
分类号
F302.6
[经济管理—产业经济]
F233
[经济管理—会计学]
-
-
题名人口普查中的地址编码浅谈
- 16
-
-
作者
李守明
-
出处
《统计》
1982年第3期32-33,共2页
-
文摘
一、地址编码的定义和层次第三次全国人口普查的特点之一是使用电子计算机处理大量的普查数据.而要使用电子计算机处理人口普查资料,并做到准确、迅速,根据分析研究的需要进行各种分组、交又对比和多种加工,则必须首先进行地址编码.所谓地址编码就是把全国29个省、
-
关键词
地址编码
人口普查
三级地址
代码表示
铁岭地区
法库县
地址码
人民公社
第四级
电子计算机
-
分类号
C829.2
[社会学—统计学]
-
-
题名建议实现种子命名的标准化
- 17
-
-
作者
常前开
-
机构
安徽省舒城县马河口农技站
-
出处
《中国农技推广》
1998年第2期19-19,共1页
-
文摘
建议实现种子命名的标准化常前开我国对农作物品种的命名还是沿袭传统的方法,初见一个种名,一不知其审认定情况,二不知其适应范围,三不知其主要特征特性,因而很易出现引种、用种不当造成产量损失。还有一些同种异名、同名(相似名)异种的情况,不仅农民无所适从,...
-
关键词
标准化
代码表示
特征特性
安徽省舒城县
种子审定
适应范围
华南地区
不育系
品种审定
黄土高原地区
-
分类号
F326.1
[经济管理—产业经济]
-
-
题名贴片电阻的识别
- 18
-
-
作者
周应业
-
出处
《家电检修技术》
2003年第8期28-28,共1页
-
文摘
随着我国电子工业的飞速发展,电子器件的小型化带来了电阻的革命——贴片电阻的出现,那么怎样认识贴片电阻呢?下面谈谈贴片电阻的识读。一、标称阻值贴片电阻的阻值和一般电阻一样,也在电阻体上标定,但它标的是一种代码而不直标阻值,一般有两种表示法:即数码表示法和代码表示法。 1.数码表示法数码表示法是采用三位数字来表示的,它的第一位和第二位为有效数字,而第三位则表示在有效数字后面所加“0”的个数,这一位不可能出现字母。
-
关键词
贴片电阻
数码表示法
代码表示法
电子器件
小型化
-
分类号
TN6
[电子电信—电路与系统]
-