静态代码分析
什么是静态代码分析
静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等。
在软件开发过程中,静态代码分析往往先于动态测试之前进行,同时也可以作为制定动态测试用例的参考。统计证明,在整个软件开发生命周期中,30% 至 70% 的代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复的。但是,由于静态代码分析往往要求大量的时间消耗和相关知识的积累,因此对于软件开发团队来说,使用静态代码分析工具自动化执行代码检查和分析,能够极大地提高软件可靠性并节省软件开发和测试成本。
静态代码分析工具的优势
1. 帮助程序开发人员自动执行静态代码分析,快速定位代码隐藏错误和缺陷。
2. 帮助代码设计人员更专注于分析和解决代码设计缺陷。
3. 显著减少在代码逐行检查上花费的时间,提高软件可靠性并节省软件开发和测试成本。
主流Java静态分析工具
Findbugs、checkstyle和PMD都可以作为插件插入eclipse,当然也有单独的工具可以实现他们的功能,比如Findbugs Tool就可以不必插入eclipse就可以使用。
三者的功能如下表:
工具
目的
检查项
FindBugs
基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug
主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等
PMD
检查源文件
检查Java源文件中的潜在问题
主要包括:
空try/catch/finally/switch语句块
未使用的局部变量、参数和private方法
空if/while语句
过于复杂的表达式,如不必要的if语句等
复杂类
CheckStyle
检查源文件
主要关注格式
检查Java源文件是否与代码规范相符
主要包括:
Javadoc注释
命名规范
多余没用的Imports
Size度量,如过长的方法
缺少必要的空格Whitespace
重复代码
三者作为开源的软件,不用考虑版权问题。他们的源代码保存在/上,下载也可以去这里下载。
Findbugs、checkstyle、PMD的安装
下载插件
因为Findbugs、checkstyle、PMD都在/这个开源的网站上进行管理,所以直接去该网站下载。
工具
下载地址
截图
注意事项
Findbugs
/projects/findbugs/files/findbugs%20eclipse%20plugin/
下载的时候要注意红框里一定是findbugs eclipse plugin,有可能你在这个网站上下载到Findbugs,但他不能用做eclipse插件使用。
Checkstyle
/projects/eclipse-cs/files/?source=navbar
e上到checkstyle,但下载下来同样不能用做eclpse插件使用,注意要下载eclipse checkstyle plug-in。
PMD
/projects/pmd/files/pmd-eclipse/update-site-latest/
我没有找到可以一下plugins和features的文件都下载下来,只能一个一个的下载,然后重新创建了features和plugins文件夹,然后把东西放里面。也许有更好的方法吧。同样注意下载的是pmd-eclipse目录下的文件
安装eclipse插件
目前来说有三种安装eclipse插件的方式:
(1)在线安装方式:使用Eclipse的菜单栏 Help -> SoftwareUpdates -> Find and install... -> search for new features... ->输入软件安装地址进行安装
(2)离线安装方式一:下载插件文件,将其解压缩到Eclipse对应的目录中,即eclipse目录下对应的features下和plugins下。
(3)离线安装方式二:links文件方式。
例如eclipse的安装目录是C:\soft\。
把插件放在C:\eclipsePlugins\CheckStyle下(文件夹名随意),如下图
编写link文件放在eclipse安装目录下的links文件夹
静态代码分析 来自淘豆网m.daumloan.com转载请标明出处.