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插件使

用。


本文标签: 代码 分析 静态 检查