-
题名基于混合代码表示的源代码脆弱性检测
- 1
-
-
作者
张琨
杨丰玉
钟发
曾广东
周世健
-
机构
南昌航空大学软件学院
-
出处
《计算机应用》
CSCD
北大核心
2023年第8期2517-2526,共10页
-
基金
江西省自然科学基金资助项目(20212BAB212009)。
-
文摘
软件脆弱性对网络与信息安全产生了极大的威胁,而脆弱性的根源在于软件源代码。因为现有的传统静态检测工具和基于深度学习的检测方法没有完整地表示代码特征,并且简单地使用词嵌入方法转换代码表示,所以检测结果准确率低,误报率高或漏报率高。因此,提出了一种基于混合代码表示的源代码脆弱性检测方法来解决代码表示不完整的问题,并提升检测性能。首先将源代码编译为中间表示(IR),并提取程序依赖图;然后基于数据流和控制流分析进行程序切片来得到结构化的特征,同时使用doc2vec嵌入节点语句得到非结构化的特征;接着使用图神经网络(GNN)对混合特征进行学习;最后使用训练好的GNN进行预测和分类。为了验证所提方法的有效性,在软件保证参考数据集(SARD)和真实世界数据集上进行了实验评估,检测结果的F1值分别达到了95.3%和89.6%。实验结果表明,所提方法有较好的脆弱性检测能力。
-
关键词
脆弱性检测
中间表示
表示学习
图神经网络
深度学习
-
Keywords
vulnerability detection
intermediate representation(ir)
representation learning
Graph Neural Network(GNN)
deep learning
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名编译器中多视图中间表示的支撑技术
被引量:1
- 2
-
-
作者
傅忱
张兆庆
-
机构
中国科学院计算技术研究所系统结构研究室
-
出处
《计算机研究与发展》
EI
CSCD
北大核心
2002年第1期120-125,共6页
-
基金
国家自然科学基金项目资助 (6993 3 0 2 0)
-
文摘
中间表示是构造优化编译器的核心技术 ,其设计方式对整个编译器的可适应性影响很大 .IR的扩充和改进往往引起整个编译器全局性的修改 .而体系结构的修改、某些编译优化模块的改进都会引起 IR的扩充或修改 ,这使得整个编译器的适应性很差 .介绍了一种多视图低层中间表示 ,通过向编译器的不同部分提供不同视图 ,以及逻辑视图到物理视图的映射 ,隐藏中间表示的实现细节 ,提高了编译器各优化分析模块算法的抽象层次 。
-
关键词
多视图
中间表示
编译器
可适应性
公共编译基础
-
Keywords
multi view, intermediate representation(ir), compiler, flexibility, common compiler infrastructure
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于GPU的LLVM程序分析信息并行提取
- 3
-
-
作者
马冬冬
衷璐洁
朱敬茹
-
机构
首都师范大学信息工程学院
-
出处
《计算机工程》
CAS
CSCD
北大核心
2017年第10期23-30,共8页
-
基金
国家自然科学基金(61402303)
北京市教委科技计划面上项目(KM201510028016)
-
文摘
LLVM中间表示(IR)中包含大量的程序分析原始信息,传统基于CPU的程序分析信息提取方法大多采用串行的循环迭代方式处理较大规模程序,可扩展性较差。为此,结合图像处理器(GPU)的通用计算优势,提出一种基于统一计算设备架构的LLVM平台程序分析信息并行提取方法,在CPU上实现程序特征分析及IR预处理、存储结构设计及提取信息的可视化,在GPU上完成并行线程调度的程序分析信息匹配及提取工作。实验结果表明,该方法可提高LLVM平台程序分析信息的提取效率,与串行提取方法相比,最高可获得4倍的加速比。
-
关键词
底层虚拟机
中间表示
程序分析
信息提取
图形处理器
可扩展性
-
Keywords
Low Level Virtual Machine ( LLVM )
intermediate representation (ir)
program analysis
informationextraction
Graphics Processing Unit (GPU)
scalability
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名非计数类循环的C2VHDL编译方法
- 4
-
-
作者
杨杰
吴艳霞
顾国昌
孙延腾
-
机构
哈尔滨工程大学计算机科学与技术学院
-
出处
《计算机工程与应用》
CSCD
北大核心
2010年第30期61-64,85,共5页
-
基金
国家自然科学基金No.61003036~~
-
文摘
目前,大多数C2VHDL编译工具采用有穷状态机(FSM)的设计方法,该方法可以实现循环初值、终值以及步进值确定的计数类循环。由于非计数类循环每次执行循环时都要进行条件判断,程序执行前不能确定循环体执行次数,导致采用FSM方式对其进行C2VHDL编译很复杂,所以大多数C2VHDL编译工具不支持这类循环。以基于LLVM(Low Level Virtual Machine)的ASCRA(Application-Specific Compiler for Reconfigurable Architecture)编译架构为基础,采用一个周期高电平使能信号控制方式代替FSM,提出了一种支持嵌套格式的非计数类循环编译方法。实验结果证明该方法生成的控制结构简单,能够灵活地实现各种非计数类循环的C2VHDL转换,具有较强的可扩展性。
-
关键词
C2VHDL编译器
低级虚拟系统中间表示(LLVM
ir)
非计数类循环
-
Keywords
C2VHDL compiler; Low Level Virtual Machine intermediate representation(LLVM ir); non-count loop;
-
分类号
TP311.11
[自动化与计算机技术—计算机软件与理论]
-