admin 管理员组文章数量: 1086019
2024年3月20日发(作者:android开发实战pdf)
静态代码分析
一、什么是静态代码分析
静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、
接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语
句,错误的递归,非法计算,可能出现的空指针引用等等。
在软件开发过程中,静态代码分析往往先于动态测试之前进行,同时也可以作为制定动
态测试用例的参考。统计证明,在整个软件开发生命周期中,30% 至 70% 的代码逻辑设计
和编码缺陷是可以通过静态代码分析来发现和修复的。但是,由于静态代码分析往往要求大
量的时间消耗和相关知识的积累,因此对于软件开发团队来说,使用静态代码分析工具自动
化执行代码检查和分析,能够极大地提高软件可靠性并节省软件开发和测试成本。
静态代码分析工具的优势
1. 帮助程序开发人员自动执行静态代码分析,快速定位代码隐藏错误和缺陷。
2. 帮助代码设计人员更专注于分析和解决代码设计缺陷。
3. 显著减少在代码逐行检查上花费的时间,提高软件可靠性并节省软件开发和测试成
本。
二、主流Java静态分析工具
Findbugs、checkstyle和PMD都可以作为插件插入eclipse,当然也有单独的工具可以实
现他们的功能,比如Findbugs Tool就可以不必插入eclipse就可以使用。
三者的功能如下表:
工具 目的 检查项
FindBugs
检查.class
主要检查bytecode中的bug patterns,如NullPoint空指
基于Bug Patterns概念,查
针检查、没有合理关闭资源、字符串相同判断错(==,
找javabytecode(.class文件)
而不是equals)等
中的潜在bug
主要包括:
空try/catch/finally/switch语句块
PMD
检查Java源文件中的潜在问未使用的局部变量、参数和private方法
检查源文件 题 空if/while语句
过于复杂的表达式,如不必要的if语句等
复杂类
主要包括:
Javadoc注释
CheckStyle
命名规范
检查源文件 检查Java源文件是否与代码
多余没用的Imports
主要关注格规范相符
Size度量,如过长的方法
式
缺少必要的空格Whitespace
重复代码
三者作为开源的软件,不用考虑版权问题。他们的源代码保存在/
上,下载也可以去这里下载。
三、Findbugs、checkstyle、PMD的安装
1. 下载插件
因为Findbugs、checkstyle、PMD都在/这个开源的网站上进行
管理,所以直接去该网站下载。
工具 下载地址 截图
注意事项
source
/proj
ects/findbugs
Findbugs
/files/findbug
s%20eclipse%
20plugin/
下载的时候要
注意红框里一
定是findbugs
eclipse plugin,
有可能你在这
个网站上下载
到Findbugs,但
他不能用做
eclipse插件使
用。
版权声明:本文标题:静态代码分析 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710919826a579602.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论