10.3969/j.issn.1000-386x.2022.04.004
基于LLVM的C/C++隐式类型转换安全性检测
带有系统底层特性的高级语言(C、C++等)通常采用的是弱类型系统,允许不同类型变量之间的混合运算.因此,在涉及到赋值等操作时,如果源变量和目的变量类型不一致,则需要进行类型转换,而转换过程稍有疏忽就会引入安全性问题.现有的检测技术大多在程序运行时进行类型转换问题的检测,产生较大额外开销的同时,也会影响程序的执行速度.基于LLVM编译器提出一种针对C/C++隐式类型转换的安全性检测方法.该方法作用于LLVM中间代码,筛选出含有变量声明和引用的语句;对于声明变量的语句,提取其类型信息并按相应的数据结构存储;对于引用变量的语句,匹配定义的类型转换的不安全操作集和转换模式,以检测其中的类型转换操作是否安全.实验结果表明,该方法能够在编译阶段有效地检测出存在安全隐患的类型转换操作.
类型转换、静态检测、安全性、LLVM
39
TP305(计算技术、计算机技术)
国家电网公司科技项目
2022-06-29(万方平台首次上网日期,不代表论文的发表时间)
共7页
21-26,45