- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
静态代码分析
一、什么是静态代码分析
静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、
接口等来检查程序的正确性, 找出代码隐藏的错误和缺陷, 如参数不匹配, 有歧义的嵌套语
句,错误的递归,非法计算,可能出现的空指针引用等等。
在软件开发过程中, 静态代码分析往往先于动态测试之前进行, 同时也可以作为制定动
态测试用例的参考。 统计证明, 在整个软件开发生命周期中, 30% 至 70% 的代码逻辑设计
和编码缺陷是可以通过静态代码分析来发现和修复的。 但是, 由于静态代码分析往往要求大
量的时间消耗和相关知识的积累, 因此对于软件开发团队来说, 使用静态代码分析工具自动
化执行代码检查和分析,能够极大地提高软件可靠性并节省软件开发和测试成本。
静态代码分析工具的优势
1. 帮助程序开发人员自动执行静态代码分析,快速定位代码隐藏错误和缺陷。
2. 帮助代码设计人员更专注于分析和解决代码设计缺陷。
3. 显著减少在代码逐行检查上花费的时间,提高软件可靠性并节省软件开发和测试成
本。
二、主流 Java 静态分析工具
Findbugs、 checkstyle 和 PMD 都可以作为插件插入 eclipse ,当然也有单独的工具可以实
现他们的功能,比如 Findbugs Tool 就可以不必插入 eclipse 就可以使用。
三者的功能如下表:
工具 目的 检查项
主要检查 bytecode 中的 bug patterns ,如 NullPoint 空指
基于 Bug Patterns 概念,查
FindBugs 针检查、没有合理关闭资源、字符串相同判断错( ==,
找 javabytecode (.class文件)
检查 .class 而不是 equals )等
中的潜在 bug
主要包括:
空 try/catch/finally/switch 语句块
PMD 检查 Java源文件中的潜在问 未使用的局部变量、参数和 private 方法
检查源文件 题 空 if/while 语句
过于复杂的表达式,如不必要的 if 语句等
复杂类
主要包括:
Javadoc注释
CheckStyle
命名规范
检查源文件 检查 Java源文件是否与代码
多余没用的 Imports
主 要 关 注 格 规范相符
Size度量,如过长的方法
式
缺少必要的空格 Whitespace
重复代码
三者作为开源的软件, 不用考虑版权问题。 他们的源代码保存在 /
上,下载也可以去这里下载。
三、 Findbugs 、checkstyle 、PMD的安装
1.
文档评论(0)