一种代码静态检测方法
摘要:
本发明公开了一种代码静态检测方法,具体涉及一种基于LLVM IR的符号执行算法——利用给予程序变量符号初值技术领域,解决现在技术中的静态检测方法支持语言单一、不能较好的处理指针和别名问题,探测潜在的程序漏洞等问题。本发明的步骤:(1)获取源代码,并将源代码进行预处理转换为LLVM汇编程序;(2)将转换得到的LLVM汇编程序,运用符号执行算法模拟解释执行LLVM汇编程序,并记录各个变量在不同路径上的符号值和各条路径的约束条件;(3)根据记录各个变量在不同路径上的符号值和各条路径的约束条件,调用SMT求解器Z3检查变量的符号值是否满足路径约束和漏洞约束,判断程序是否存在潜在漏洞。本发明应用于源代码中的数组越界,除零错误和空指针引用。
公开/授权文献
0/0