代码静态检查工具比较

上一篇 / 下一篇  2012-12-28 16:54:42

 
工具名称 功能 语言 说明 主要检查内容 
PMD 检查源文件Java 检查Java源文件中潜在的问题 主要包括:
- 空try/catch/finally/switch语句
- 未使用的局部变量、参数和private方法
- 空if/while语句
- 过于复杂的表达式,如不必要的if语句等
- 复杂类 
CheckStyle 检查源文件Java 检查java源文件是否与代码规范相符 主要包括:Javadoc注释 、命名规范、 Headers 、多余没用的Imports、Size冲突和度量,如过长的方法、    Whitespace 、Modifiers、Blocks 、Coding Problems、Class Design 、重复代码、Miscellaneous Checks 、Optional Checks 
主要关注格式
FindBugs检查.classJava 基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug 主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等 
Parasoft C++test   C++ C++Test自动测试C/C++类、函数或部件,而不需要编写测试用例、测试驱动程序或桩调用代码;能够自动测试代码构造(白盒测试)、测试代码的功能性(黑盒测试)和维护代码的完整性(回归测试)。 内嵌了业界最著名的Effective C++(epcc),More Effective C++(mepcc),meyer-klaus(mk)以及Universal Code standard(ucs)等超过700条的C++规范等 
PCLint   C++ 检查出一般的语法错误,还可以检查出那些虽然完全合乎语法要求,但很可能是潜在的、不易发现的错误。 (潜在的错误隐患和不合理的编码习惯) 偏重于代码的逻辑分析,它能够发现代码中潜在的错误,比如数组访问越界、内存泄露、使用未初始化变量等 

TAG:

 

评分:0

我来说两句

Open Toolbar