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