源代码静态分析实现原理不同,总的来说分为两种。一种是分析源代码编译后的中间文件(如sonar分析字节码),一种是分析源文件。分析字节码一般来说无法发现跨文件的调用导致的问题,所以检测结果多为代码规范、风格一类的问题。
分析源文件一般是将项目的源文件(包括头文件、依赖库及其他组件)作为输入,通过源代码静态分析工具对代码进行解析、编译和链接,生成中间系统数据(包括抽象语法树,关系调用图,控制流图等等)。这个步骤完成之后,就可使利用静态分析工具的复杂的检查规则匹配与追踪中间文件数据,发现与定位缺陷,最后生成结果。
2179



被折叠的 条评论
为什么被折叠?



