静态代码扫描学习
2014-10-28 23:50
169 查看
静态代码分析,指的是不运行程序,通过词法分析、语法分析等方法发现代码中潜在的缺陷。
相对而言,动态分析指的是运行程序去发现问题,如功能测试等
执行静态代码分析的时机是什么时候呢?从faux pas这个object-c代码分析工具的执行log来看,静态分析是在编译后进行的。
一般的代码分析工具执行顺序也是:编译————静态分析,也要基于编译,静态分析才能进行。当然也有抛开编译,纯文本检查的分析工具。
为啥要在编译之后进行静态分析呢?是借助编译产生的中间文件?我也没有找到答案。
那么编译和静态分析一块进行是否ok?可以的。但为了能更快地编译出可执行程序,通常将静态分析剥离开。
常用的静态分析工具有:
PC-Lint:c/c++, windows平台
PMD:java/object-c, windows/mac os 平台
lex:c, unix平台
faux pas:object-c , mac os平台
clang:
object-c , mac os平台
参考:
http://www.cnblogs.com/bangerlee/archive/2011/09/07/2166593.html http://files.cnblogs.com/bangerlee/10.1.1.56.1841.pdf
相对而言,动态分析指的是运行程序去发现问题,如功能测试等
执行静态代码分析的时机是什么时候呢?从faux pas这个object-c代码分析工具的执行log来看,静态分析是在编译后进行的。
一般的代码分析工具执行顺序也是:编译————静态分析,也要基于编译,静态分析才能进行。当然也有抛开编译,纯文本检查的分析工具。
为啥要在编译之后进行静态分析呢?是借助编译产生的中间文件?我也没有找到答案。
那么编译和静态分析一块进行是否ok?可以的。但为了能更快地编译出可执行程序,通常将静态分析剥离开。
常用的静态分析工具有:
PC-Lint:c/c++, windows平台
PMD:java/object-c, windows/mac os 平台
lex:c, unix平台
faux pas:object-c , mac os平台
clang:
object-c , mac os平台
参考:
http://www.cnblogs.com/bangerlee/archive/2011/09/07/2166593.html http://files.cnblogs.com/bangerlee/10.1.1.56.1841.pdf
相关文章推荐
- findBugs 代码静态扫描 学习笔记
- 代码静态分析工具——splint的学习与使用
- 静态代码扫描工具
- SQL学习第二天,在未学习过某些知识的情况下把静态的代码操作改为对数据库的操作
- 静态代码扫描工具
- infer静态代码扫描不能执行问题定位
- Java学习:静态方法,静态变量和静态代码块
- 使用OClint进行iOS项目的静态代码扫描
- iOS 静态代码扫描(facebook 出品 infer)
- Objective C静态代码扫描和代码质量管理 OClint + SonarQube
- 静态代码扫描--Clang Static Analyze
- 代码静态分析工具——splint的学习与使用
- java学习中static关键字,即静态的运用,及如何为代码写说明
- 代码静态分析工具——splint的学习与使用
- iOS 静态代码扫描
- 代码静态分析工具——splint的学习与使用
- 代码静态分析工具——splint的学习与使用
- java学习笔记5--静态函数与静态代码块
- 白盒1:iOS静态代码扫描
- 静态代码扫描--OCLint