静态代码扫描

【程序 静态分析(Program Static Analysis)是指在不运行代码的方式下,通过 词法分析语法分析控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术】-百度
源代码静态分析实现原理不同,总的来说分为两种。一种是分析源代码编译后的中间文件(如sonar分析字节码),一种是分析源文件。分析字节码一般来说无法发现跨文件的调用导致的问题,所以检测结果多为代码规范、风格一类的问题。
分析源文件一般是将项目的源文件(包括头文件、依赖库及其他组件)作为输入,通过源代码静态分析工具对代码进行解析、编译和链接,生成中间系统数据(包括抽象语法树,关系调用图,控制流图等等)。这个步骤完成之后,就可使利用静态分析工具的复杂的检查规则匹配与追踪中间文件数据,发现与定位缺陷,最后生成结果。

https://www.zhihu.com/question/28764803

猜你喜欢

转载自blog.csdn.net/zlfprogram/article/details/78810023