跟我学Java代码质量检测FindBugs工具——如何下载和安装FindBugs检测工具
1.1跟我学Java代码质量检测FindBugs工具——如何下载和安装FindBugs 检测工具
1.1.1应用代码检测工具的必要性
1、应用代码检测工具的必要性
随着软件工程项目越来越复杂和技术应用的不断深入,软件工程项目将变得越来越庞大。
此时,如果仅仅依靠人工去检查软件项目中的程序代码内所可能存在的各种潜在问题是不现实的,即使实施单元测试过程,也是无法完全覆盖和及时地发现出相关的问题,因此借助自动化的程序代码质量检测工具去完成对代码的检查工作是十分必要的。
提高软件系统中的程序代码质量不仅仅要求开发人员遵守一定的编程规范,也还要能够通过各种手段和工具及时地发现出隐藏在软件系统程序代码中的各种错误,而依赖人工在很多场合下都是比较难发现出这些问题或者错误的。
因此,开发人员有必要借助一定的检测工具提高对系统代码检测的效率。
目前在J2EE的开源领域中,针对Eclipse IDE开发工具提供有许多Eclipse 插件,能够帮助开发人员在“编码标准”、“代码重复度”、“代码覆盖率”和“包之间的依赖性”等方面进行具体的度量和检测。
2、FindBugs 是一个静态分析工具
FindBugs 是由马里兰大学提供的一款开源Java静态代码分析工具,它检查类或者JAR 文件,将字节码(FindBugs其实就是对编译后的class文件进行扫描,藉以发现一些隐藏的Bug)与一组缺陷模式进行对比以发现可能的问题。
开发人员一旦有了静态分析工具,就可以在不实际运行程序的情况下对所编写的程序代码进行分析和检测,随时发现出相关的问题,从而提高程序代码的质量。
FindBugs检测工具可以发现出的问题主要包括:多线程竞争问题、性能问题、安全问
题、代码规范等等。
如下示图为FindBugs检测工具的官方网站页面中的“问题”描述信息页面,读者可以点击相关的“问题”了解详细的说明。
虽然在“问题”描述页面中提供有相关的说明信息,但由于说明信息都一般比较和简短,而且没有对应的Demo代码,理解比较费劲。
检测完毕可生成一份详细的报告,藉由这份报告,可以发现许多代码中间潜在的Bug。
而如果对这些问题采用人工检查的方式进行检查,这些“问题”很可能不容易被发现出,直到程序在运行时将发作和产生出错误。
而如果待检测的*.class程序类文件有对应的程序源代码文件,可把这些*.java文件再选上,这样便可以从稍后得出的Bug报告中快捷的定位到出现问题的程序代码上面。
3、FindBugs检测工具中的“Bug Info”视图
在FindBugs检测工具中的“Bug Info”视图中将会显示出对Bug问题的描述,包括:Bug类别及程度,Bug的定位,对Bug的解释等信息。
1.1.2构建应用FindBugs工具的应用环境
1、FindBugs可以静态地检查软件项目中的程序类和JAR 文件中潜在的Bug
FindBugs工具能够在执行项目中的各个代码的情况下而发现软件项目中潜在的缺陷
(Bug)和不推荐的代码编写方式,比如包括对Null对象的引用、未在finally语句中关闭输入输出流对象、使用“= =”实现对字符串进行比较等方面的错误。
其检测的原理是将程序的字节码与一组缺陷模式进行对比以发现可能的问题,它不注重代码的样式或者格式,它试图只寻找真正的缺陷或者潜在的性能问题。
开发人员应用FindBugs工具可以使得开发人员能够在早期的程序编码阶段及时地发现在软件系统项目中潜在的缺陷。
FindBugs工具本身可以单独运行,或者作为Apache Ant中的一个任务运行。
当然,也可以将它集成到Eclipse IDE等Java开发工具中。
2、在网站上下载FindBugs检测工具
目前,在网站上已经提供有针对Eclipse平台的FindBugs插件,从而可以允许开发人员在Eclipse IDE工具中直接执行FindBugs工具以简化检测的过程。
下载FindBugs工具程序(包括独立命令行和Swing界面版本以及Eclipse平台的插件)的网址是/downloads.html,请见下图所示的页面内容的图示。
FindBugs检测工具为开发人员提供了两种形式的应用方式:一种是Java Swing应用程序界面形式的检测工具,另外一种就是以Eclipse插件的形式提供的。
读者可以根据自己的应用需要下载对应的版本,本示例将下载Eclipse平台的插件版本的FindBugs工具,从而实现将FindBugs工具集成在Eclipse开发工具中。
为此,可以采用离线安装方式和在线安装方式安装FindBugs工具的Eclipse平台的插件程序。
下面为读者
分别进行介绍相关的安装步骤和所应该要注意的相关问题。
3、在FindBugs工具的下载网址页面中下载FindBugs工具,然后离线安装到Eclipse开发工具中
将进入如下地址https:///projects/findbugs/files/的页面下载对应的*.zip文件。
下载完毕FindBugs工具程序的Eclipse平台的插件软件包的*.zip文件后,将它解压缩到磁盘的某个文件夹中,具体请见下图所示的解压缩后的结果图示。
然后将解压缩后的文件夹中的各个文件及子文件夹全部拷贝到本机的Eclipse工具中的plugins目录中。
但要注意的是,由于目前许多开发人员在Eclipse中基本上都安装有Eclipse 的J2EE开发的插件MyEclipse。
因此,实际应该是将它拷贝到MyEclipse插件所在的安装目录下的plugins目录中(如C:\eclipse\myeclipse\eclipse\plugins)。
4、在Eclipse开发工具中直接在线安装FindBugs工具程序
读者除了可以在Eclipse开发工具中离线安装FindBugs工具程序之外,也还可以在线安装FindBugs工具程序。
只需要在Eclipse开发工具中选择Help –> Install From Site 子菜单项目。
将弹出如下所示的对话框,点击其中的add按钮并进行如下图所示的配置:在弹出框中的“Name”栏中输入“findBugs”,而在Location栏中输入下载FindBugs工具程序的地址:/eclipse,并点击“OK”按钮。
件的版本,读者下载待下载版本的FindBugs插件。
读者可选择对应的插件,并点击“Next”下一步按钮,将出现如下的界面。
继续点击“Next”下一步按钮,将出现是否接受版本协议的选择对话框,选择遵守软件版本版权协议选项。
点击对话框中的“Finish”按钮,将开始下载所选择版本的FindBugs插件程序。
在下载的过程中出现警告提示对话框。
点击对话框中的“OK”确定按钮,将继续下载所选择版本的FindBugs插件程序。
下载完毕后,最后将出现需要重新启动Eclipse开发工具的提示信息。
完成安装之后重启Eclipse开发工具,然后再右击相关的项目文件或目录,会发现多了一个Findbugs的菜单项目。
5、检查在Eclipse中是否正确地安装完FindBugs检测工具
读者按照本小节前面所描述的方法,在Eclipse中安装完成FindBugs检测工具后,然后启动Eclipse工具,可以在“About MyEclipse Enterprise Workbench”的对话框中检查FindBugs
插件工具是否正确地安装成功。
在下图所示的对话框中,将能够看到“FindBugs Project”的插件信息相关的小图标。
或者点击【Installation Details】按钮后,将出现下图中所示的系统中已经安装成功的各个插件信息的对话框。
正常情况下,应该能够看到一个“FindBugs Project”的插件信息。
请见下图所示的各个插件的信息提示,表明系统中已经成功地安装完FindBugs检测工具。
FindBugs帮助文档
Product name产品名称Confidentiality level密级FindBugs帮助文档内部公开Product version产品版本Total 29 pages 共29页V1.0FindBugs帮助文档(软件工程部)Prepared by拟制邓爱平36829Date日期2008-10-16Reviewed by 审核人Date 日期Reviewed by 审核人Date 日期Authorized by批准Date日期Huawei Technologies Co., Ltd.华为技术有限公司All rights reserved版权所有侵权必究文档版本 1.1 (2006-03-01) 华为技术有限公司1-1文档版本 1.1 (2006-03-01) 华为技术有限公司1-2修订记录日期文档版本产品版本描述作者2008-10-16 1.0 初稿邓爱平36829文档版本 1.1 (2006-03-01) 华为技术有限公司1-3目录(Contents)1 目的和范围................................................................................................................................... 1-61.1 目的 .............................................................................................................................................. 1-61.2 范围 .............................................................................................................................................. 1-62 FindBugs使用 .............................................................................................................................. 2-62.1 FindBugs简介................................................................................................................................ 2-62.1.1 FindBugs能解决的问题......................................................................................................... 2-62.1.2 同类产品介绍 ....................................................................................................................... 2-92.2 如何安装FindBugs ........................................................................................................................ 2-92.2.1 图形界面/命令行................................................................................................................... 2-92.2.2 安装Eclipse插件................................................................................................................... 2-92.3 如何使用FindBugs ...................................................................................................................... 2-122.3.1 在图形界面下使用FindBugs(JDK1.5上进行)...................................................................... 2-122.3.2 在命令行下使用FindBugs .................................................................................................. 2-152.3.3 在Eclipse下使用FindBugs .................................................................................................. 2-172.3.4 通过ant任务脚本使用FindBugs .......................................................................................... 2-202.4 FindBugs的高级功能................................................................................................................... 2-222.4.1 规则配置............................................................................................................................. 2-222.4.2 使用过滤器......................................................................................................................... 2-222.4.3 FindBugs的局限性.............................................................................................................. 2-232.4.4 FindBugs推行细则.............................................................................................................. 2-243 常见问题FAQ及其解答............................................................................................................ 3-243.1 在Eclipse下在更改了检查出的错误后,为什么无法实时刷新检查结果 ...................................... 3-243.2 在Eclipse下使用FindBugs时,如何将发现的问题显示在Problems视图中................................. 3-243.3 为什么Eclipse插件加载不成功.................................................................................................... 3-253.4 如何配置FindBugs的通过准则.................................................................................................... 3-253.5 为什么在图形界面下使用FindBugs时,关联不到源代码............................................................ 3-253.6 文档胶片中说到的FindBugs帮助文档在什么地方....................................................................... 3-263.7 到什么地方获取FindBugs相关资料............................................................................................. 3-263.8 对于不修改的Bug,怎么给出原因说明....................................................................................... 3-263.9 Findbugs占用大量内存,而且运行时间很长,应该如何缩短运行时间.................................... 3-27文档版本 1.1 (2006-03-01) 华为技术有限公司1-43.10 每个工程目录下的.fbprefs 文件有何作用................................................................................. 3-273.11 Bug Explorer窗口的export有何功能 .......................................................................................... 3-283.12 如何了解findbugs提供的每个规则的含义 ................................................................................. 3-284 参考引用..................................................................................................................................... 4-28文档版本 1.1 (2006-03-01) 华为技术有限公司1-51 目的和范围1.1 目的FindBugs 是一个代码静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。
FindBugs
FindBugs运用Apache BCEL 库分析类文件(class文件)而不是源代码,将字节码与一组缺陷模式进行对比以发现可能的问题。FindBugs的检测器已增至300多条,被分为不同的类型,
常见的类型如下:
· 正确性(Correctness):这种归类下的问题在某种情况下会导致bug,比如错误的强制类型转换等。
重新启动Eclipse 。
我使用的是MyEclipse8.5可能路径和大家的不太一样,我是放到了路径Genuitec/MyEclipse 8.5/dropins下面
3、在Eclipse中使用FindBugs
重新启动eclipse
打开FindBugs视图
当此项没有选中,你只能每次在需要的时候自己去运行FindBugs来检查你的代码。
2 Detector Configuration选择项
在这里你可以选择所要进行检查的相关的Bug Pattern条目,你可以根据需要选择或去掉相应的 检查条件。
3 Minimum priority to report选择项
这个选择项是让你选择哪个级别的信息进行显示,有Low、Medium、High三个选择项可以选择,很类似于Log4J的级别设置啦。 比如:
你选择了High选择项,那么只有是High级别的提示信息才会被显示。
你选择了Medium选择项,那么只有是Medium和High级别的提示信息才会被显示。
你选择了Low选择项,那么所有级别的提示信息都会被显示。
· 最佳实践反例(Bad practice):这种类别下的代码违反了公认的最佳实践标准,比如某个类实现了equals方法但未实现hashCode方法等。
· 多线程正确性(Multபைடு நூலகம்threaded correctness):关注于同步和多线程问题。
eclipse代码缺陷查找插件findbugs的使用
静态分析工具承诺无需开发人员费劲就能找出代码中已有的缺陷。
当然,如果有多年的编写经验,就会知道这些承诺并不是一定能兑现。
尽管如此,好的静态分析工具仍然是工具箱中的无价之宝。
在这个由两部分组成的系列文章的第一部分中,高级软件工程师Chris Grindstaff 分析了FindBugs 如何帮助提高代码质量以及排除隐含的缺陷。
代码质量工具的一个问题是它们容易为开发人员提供大量但并非真正问题的问题——即伪问题(false positives)。
出现伪问题时,开发人员要学会忽略工具的输出或者放弃它。
FindBugs 的设计者David Hovemeyer 和William Pugh 注意到了这个问题,并努力减少他们所报告的伪问题数量。
与其他静态分析工具不同,FindBugs 不注重样式或者格式,它试图只寻找真正的缺陷或者潜在的性能问题。
FindBugs 是什么?FindBugs 是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。
有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。
不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用Visitor 模式(请参阅参考资料)。
图 1 显示了分析一个匿名项目的结果(为防止可怕的犯罪,这里不给出它的名字):在FindBugs的GUI中,需要先选择待扫描的.class文件(FindBugs其实就是对编译后的class 进行扫描,藉以发现一些隐藏的bug。
)。
如果你拥有这些.class档对应的源文件,可把这些.java文件再选上,这样便可以从稍后得出的报告中快捷的定位到出问题的代码上面。
此外,还可以选上工程所使用的library,这样似乎可以帮助FindBugs做一些高阶的检查,藉以发现一些更深层的bug。
选定了以上各项后,便可以开始检测了。
检测的过程可能会花好几分钟,具体视工程的规模而定。
检测完毕可生成一份详细的报告,藉由这份报告,可以发现许多代码中间潜在的bug。
代码审计工具Findbugs自动检查CheckList及配置方法
代码审计工具Findbugs自动检查CheckList及配置方法
代码审计工具Findbugs是一个应用比较广泛的开源代码审计工具,如果开发团队利用好了这个工具,能够很大程度上提高软件产品的安全性。
而且重要的是Free。
首先,介绍一下安全审计配置文件的位置,网上都没有这方面的资料,我自己找了几个小时才找到。
这个配置文件不在安装文件夹,也不再Eclipse软件的文件夹,而是在具体项目的工作空间workspace中,具体位置是:workspace\.metadata\.plugins\edu.umd.cs.findbugs.plugin.eclipse\.fbprefs。
(以点开始的文件夹,还这么多层目录,很隐蔽!!!)
这个文件中,选中要审计的项目其配置值会是“TURE”,配置为不审计的项会是“FALSE”。
我们可以通过在工作中逐渐确定哪些安全项一定要检查,哪些不需要检查,确定之后,整个开发团队使用同一个配置文件,从而实现标准化、自动化地审查开发团队的代码。
Eclipse 插件 FindBugs 使用手册
Eclipse 插件FindBugs 使用手册前言:本文介绍如何利用Eclipse 插件FindBugs 优化Java 代码。
本插件是本人在对系统进行代码优化的时候,向迟焕祺同事索取并学习使用的,现在把工具的一些使用方法与大家共享,并把FindBugs提供给大家!感谢迟哥提供良好资源供大家学习、使用!问题提出:当我们编写完代码,做完单元测试等各种测试后就提交正式运行,只能由运行的系统来检测我们代码是否有问题了,代码中隐藏的错误在系统运行的过程中被发现后,然后再来进行相应的修改,那么后期修改的代价就相当高了。
解决方法:现在有很多Java 代码分析工具,FindBugs 中开源项目当中的一个,它可以帮你找到代码中隐藏的一些错误,提升你的代码能力与系统安全可靠性。
FindBugs 介绍FindBugs 是一个可以在Java 程序中发现Bugs 的程序。
它是专门用来寻找处于“Bug Patterns”列表中的代码的。
Bug Patterns 指很有可能是错误的代码的实例。
原文:FindBugs is a program to find bugs in Java programs. It looks for instances of "bug patterns" --- code instances that are likely to be errors.使用FindBugs 至少需要JDK1.4.0 以上版本,FindBugs是平台独立的,可以运行于GNU/Linux、Windows、MacOS X 等平台上。
运行FindBugs 至少需要有256 MB 内存,如果你要分析一个很大的项目,那就需要更加多的内存了。
获取FindBugs 最新版本:/projects/findbugs/files/FinBugs 介绍:/manual/Eclipse 插件links 文件夹方式配置:提示:直接的插件配置方式是使用Eclipse 的Update 方式更新,或者把新下载的插件PlugIn 放在原始的Eclipse 目录下去,这种方式会随着插件的增多而导致插件维护工作量的增加。
跟我学Java代码质量检测FindBugs工具——如何下载和安装FindBugs检测工具
1.1跟我学Java代码质量检测FindBugs工具——如何下载和安装FindBugs 检测工具1.1.1应用代码检测工具的必要性1、应用代码检测工具的必要性随着软件工程项目越来越复杂和技术应用的不断深入,软件工程项目将变得越来越庞大。
此时,如果仅仅依靠人工去检查软件项目中的程序代码内所可能存在的各种潜在问题是不现实的,即使实施单元测试过程,也是无法完全覆盖和及时地发现出相关的问题,因此借助自动化的程序代码质量检测工具去完成对代码的检查工作是十分必要的。
提高软件系统中的程序代码质量不仅仅要求开发人员遵守一定的编程规范,也还要能够通过各种手段和工具及时地发现出隐藏在软件系统程序代码中的各种错误,而依赖人工在很多场合下都是比较难发现出这些问题或者错误的。
因此,开发人员有必要借助一定的检测工具提高对系统代码检测的效率。
目前在J2EE的开源领域中,针对Eclipse IDE开发工具提供有许多Eclipse 插件,能够帮助开发人员在“编码标准”、“代码重复度”、“代码覆盖率”和“包之间的依赖性”等方面进行具体的度量和检测。
2、FindBugs 是一个静态分析工具FindBugs 是由马里兰大学提供的一款开源Java静态代码分析工具,它检查类或者JAR 文件,将字节码(FindBugs其实就是对编译后的class文件进行扫描,藉以发现一些隐藏的Bug)与一组缺陷模式进行对比以发现可能的问题。
开发人员一旦有了静态分析工具,就可以在不实际运行程序的情况下对所编写的程序代码进行分析和检测,随时发现出相关的问题,从而提高程序代码的质量。
FindBugs检测工具可以发现出的问题主要包括:多线程竞争问题、性能问题、安全问题、代码规范等等。
如下示图为FindBugs检测工具的官方网站页面中的“问题”描述信息页面,读者可以点击相关的“问题”了解详细的说明。
虽然在“问题”描述页面中提供有相关的说明信息,但由于说明信息都一般比较和简短,而且没有对应的Demo代码,理解比较费劲。
findbugs 用法
findbugs用法FindBugs是一款由加州大学伯克利分校的Java开发者团队开发的静态代码分析工具,主要用于发现Java代码中的潜在错误和漏洞。
本文将向您介绍FindBugs的基本用法,帮助您更好地利用这款工具提高代码质量。
一、FindBugs简介FindBugs是一款免费的开源工具,它通过分析Java代码的语法、数据流、异常处理等方面,发现潜在的错误和漏洞。
FindBugs可以帮助开发者发现一些不易被人工发现的错误,提高代码质量,减少软件缺陷。
二、安装FindBugs要使用FindBugs,您需要先将其安装到您的系统中。
FindBugs支持Windows、Linux和MacOSX等操作系统。
安装过程相对简单,您可以从FindBugs官方网站下载最新版本的FindBugs,并根据安装指南进行安装。
三、使用FindBugs进行代码分析安装完成后,您可以使用FindBugs对Java代码进行静态分析。
以下是使用FindBugs进行代码分析的基本步骤:1.打开FindBugs分析器界面,将要分析的Java代码文件上传到分析器中。
2.选择要进行静态分析的选项,如是否包含测试代码等。
3.等待分析器进行分析,生成报告。
4.查看分析报告,了解代码中的潜在错误和漏洞。
以下是一些使用FindBugs的常见用法示例:1.查找未使用的变量:FindBugs可以检测到未使用的变量,这可能是由于开发者疏忽或无意中留下的漏洞。
2.查找空指针引用:FindBugs可以检测到可能出现的空指针引用错误,这可能导致程序崩溃或出现不可预期的行为。
3.查找内存泄漏:FindBbugs可以检测到可能的内存泄漏问题,如对象引用未被释放等。
4.查找线程安全问题:FindBugs可以检测到线程安全问题,如并发修改共享数据等。
五、优化FindBugs结果使用FindBugs分析后,您可能会发现一些潜在的问题和漏洞。
对于这些问题和漏洞,您可以采取以下优化措施:1.修复错误:对于发现的错误和漏洞,您应该尽快修复它们,以确保代码的质量和稳定性。
JAVA静态代码质量分析工具FindBugs介绍PPT课件
Findbugs提供了方便操作的可视化界面,同 时也可以作为Eclipse的一个插件来使用,而 我们使用得最多的还是作为Eclipse的插件来
使用。
FindBugs和其他工具的区别
Checkstyle和PMD是根据样式(style) 来 改进代码质量的。
FindBugs分析引擎它直接操作类文件(class 文 件)而不是源代码。我们可以通过命令行 、各种构建工具(如Ant、Cruise Control、 Hudson及Maven等)、独立的Swing GUI或是 以Eclipse和NetBeans IDE插件的方式来运行 FindBugs。输出结果既可以是XML的,也可以
Enable bug categories选择项 Correctness关于代码正确性相关方面的; Performance关于代码性能相关方面的; Internationalization关于代码国际化相关方面; Multithreaded correctness关于代码多线程正确
安装了Findbugs插件后。右击点击你要检查的项 目选择【Find Bugs】->【Find Bugs】进行检
查。
要查看Findbugs检查出了哪些Bug,可以选择 Windows菜单->Show View->Bug Explorer,打
开Bug Explorer面板。
如果想要查看某个Bug详细的信息,则可以选择 Windows菜单->Open Perspective,然后选择 FindBugs就可以打开FindBugs的Properties面 板,在这个面板里面可以看到最详尽的Bugs信息
。
FindBugs的配置
选择你的项目,右键 => Properties => FindBugs => ❖Run FindBugs Automatically开关 当此项选中后,FindBugs将会在你修改Java类时 自动运行,如你设置了Eclipse自动编译开关后, 当你修改完Java文件保存,FindBugs就会运行, 并将相应的信息显示出来。当此项没有选中,你 只能每次在需要的时候自己去运行FindBugs来检 查你的代码。
sonarqube findbugs 实现原理
sonarqube findbugs 实现原理SonarQube FindBugs 是一个开源的代码静态分析工具,它主要用于在 Java 代码中找出潜在的错误和漏洞。
FindBugs 使用静态分析技术对代码进行扫描,不需要运行时环境,也不需要编译后的字节码。
它基于字节码分析技术,通过对类文件(.class 文件)进行分析,以发现代码中的错误。
以下是 SonarQube FindBugs 实现原理的详细说明:一、下载和安装首先,需要从 SonarQube 官网下载 FindBugs 的 ZIP 文件,并解压到适当的位置。
然后,通过配置 SonarQube 的启动脚本(例如StartSonar.bat),将 FindBugs 集成到 SonarQube 中。
二、架构和组成FindBugs 的架构包括三个主要组件:FindBugs UI、FindBugs Plugin 和 FindBugs Engine。
FindBugs UI 用于展示分析结果和错误信息,FindBugs Plugin 是将 FindBugs 集成到 SonarQube 中的插件,FindBugs Engine 是执行实际分析的引擎。
三、工作原理FindBugs 使用静态分析技术对 Java 代码进行扫描。
它通过读取类文件(.class 文件)中的字节码信息,分析其中的指令和数据流,以发现潜在的错误和漏洞。
FindBugs 使用一组规则(称为检查器)来检查代码中的问题。
这些规则涵盖了常见的编程错误和安全漏洞,例如空指针异常、资源泄露、数据竞争等。
四、检查器的工作方式FindBugs 使用了一种称为“静态单赋值”(SSA)的中间表示形式来分析代码。
在这种表示形式中,每个变量只有一个赋值点,这有助于提高分析的精度。
FindBugs 通过遍历代码中的每个节点,对每个节点的操作进行静态单赋值分析,以确定可能存在的问题。
五、结果展示FindBugs 分析完成后,将结果展示在 SonarQube UI 中。
FindBugs安装及配置使用说明
FindBugs插件安装及配置使用说明目录FindBugs插件安装及配置使用说明 (1)用途 (1)安装 (1)配置 (2)运行 (3)其他说明 (8)额外收获 (10)用途FindBugs 是一个java bytecode静态分析工具,它可以帮助java工程师提高代码质量以及排除隐含的缺陷,以期尽可能在项目的初始阶段将代码问题解决。
FindBugs检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。
有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。
FindBugs不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用Visitor 模式进行分析。
安装1.打开eclipse.Help > Software Updates ->Find and Install.选择Search for new features to install.>next> New Remote Site…在对话框里填写如下:Name: findbugs.URL: /eclipse>确定选中findbugs>Finish2. 在新出来的对话框中,选中findbugs(注意: 此时如果装了Myeclipse插件, 这里可能会报错. 请先在eclipse的links文件夹下面将Myeclipse的link文件移除, 然后等findbugs装完之后, 再将Myeclipse的link文件放进来)>next选中”I accept the terms in the license agreement”>Next>Finish>Install>Yes (重启eclipse)findbugs 安装完成配置1.打开FindBugs视图:Windows => Show View => Other… => FindBugs => Bug Info 、Bug Explorer、Bug Reviews2.配置FindBugs 选择你的项目=>右键=> Properties => FindBugs => 选中”runfindbugs automatically”=> OKFindbugs各项属性的配置说明:Run Findbugs automnaticaly:编译工程和文件的时候自动运行Minimum priority to report:根据bug的优先权级别报告bug。
