FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时也可以作为 Eclipse插件使用。文本将主要使用将 FindBugs作为 Eclipse插件。在安装成功后会在 eclipse中增加 FindBugs perspective,用户可以对指定 Java类或 JAR文件运行FindBugs,此时 FindBugs会遍历指定文件,进行静态代码分析。

安装步骤:

1.点击“Help->InstallNew Software”,如下图:

2.点击“Add”,然后在弹出框“Name”输入“findBugs”,“Location”输入“http://findbugs.cs.umd.edu/eclipse”,点击“OK”,如下图:

3.选择对应插件,然后点击“next->next->finish”。

4.完成安装之后重启eclipse,右击项目文件或目录,会发现多了Findbugs的菜单,如下图:

当然也可以直接从http://download.csdn.net/detail/hailshao/6593725下载,然后将文件复制到你本地eclipse的plugins目录,然后重启eclipse即可。

当然也可选择某一个文件夹,或者整个包和工程.

配置FindBugs:

在这里可以对FindBugs规则等进行详细设置。

选择你的项目,右键 => Properties => FindBugs =>

1 Run Automatically开关

当此项选中后,FindBugs将会在你修改Java类时自动运行,如你设置了Eclipse自动编译开关后,当你修改完Java文件保存,FindBugs就会运行,并将相应的信息显示出来。

当此项没有选中,你只能每次在需要的时候自己去运行FindBugs来检查你的代码。

2 Detector Configuration选择项

在这里你可以选择所要进行检查的相关的Bug Pattern条目,你可以根据需要选择或去掉相应的 检查条件。

3 Minimum priority to report选择项

这个选择项是让你选择哪个级别的信息进行显示,有Low、Medium、High三个选择项可以选择,很类似于Log4J的级别设置啦。 比如:

你选择了High选择项,那么只有是High级别的提示信息才会被显示。

你选择了Medium选择项,那么只有是Medium和High级别的提示信息才会被显示。

你选择了Low选择项,那么所有级别的提示信息都会被显示。

4 Report bug categories选择项

在这里是一些显示Bug分类的选择:

Malicious code vulnerability 关于恶意破坏代码相关方面的

Correctness 关于代码正确性相关方面的

Internationalization 关于代码国际化相关方面的

Performance 关于代码性能相关方面的

Multithreaded correctness关于代码多线程正确性相关方面的

大的分类主要包括以下几种:

Bad practice

不好的习惯

Correctness

代码的正确性

Dodgy

小问题

Malicious code vulnerability

恶意代码

Internationalization

国际化问题

Performance

性能问题

Security

安全性问题

Multithreaded currectness

线程问题

Experrimental

实验性问题

Findbugs插件安装与使用的更多相关文章

  1. 笔记:eclipse的findbugs插件安装成功却不显示

    关键字:findbugs eclipse的findbugs插件安装成功却不显示的原因有: 1.插件版本太高,低版本的eclipse不兼容 2.也有可能是JDK版本低 findbugs安装方法: 1.在 ...

  2. MyEclipse10安装checkStyle与findBugs插件--详细完美结局-费元星

    本人QQ:971751392(屌丝一枚) Myeclipse10安装checkStyle与findBugs插件详细完美结局方案: 资源一: http://download.csdn.net/detai ...

  3. MyEclipse中安装findBugs插件(摘)

    安装方法如下: 1.首先从findbugs网站下载插件:http://findbugs.sourceforge.net/downloads.html 2.将下载回来的zip包解压,得到文件夹:edu. ...

  4. Java静态代码分析工具——FindBugs插件的安装与使用

    1 什么是FindBugs FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程序的情况对软件进行分 ...

  5. FindBugs的Eclipse插件安装与使用

    1.FindBugs介绍 FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在 ...

  6. Myeclipse8.5开发-插件安装二:安装findbugs方法

    环境:Myeclipse8.5 step 1:首先从官网下载findbugs插件:http://downloads.sourceforge.net/project/findbugs/findbugs% ...

  7. Eclipse安装完findbugs插件后,SVN插件不可用有关问题解决

    Eclipse安装完findbugs插件后,SVN插件不可用问题解决: 安装findbugs插件后,SVN插件就消失了.后来从网上查到解决方案:eclipse/configuration目录下的org ...

  8. FindBugs插件的安装与使用

    转载:http://www.cnblogs.com/kayfans/archive/2012/06/18/2554022.html 1 什么是FindBugs FindBugs 是一个静态分析工具,它 ...

  9. Idea安装findbugs插件,以及findbugs安装find security bugs插件

    第一:先讲述Idea怎么安装findbugs插件 具体操作如下面的图所示: 然后就可以安装findbugs 第二:findbugs怎么安装find security bugs这个find bugs的插 ...

随机推荐

  1. caffe神经网络模型的绘图

    Python/draw_net.py, 这个文件,就是用来绘制网络模型的.也就是将网络模型由prototxt变成一张图片. 1.安装GraphViz # sudo apt-get install Gr ...

  2. TCP系列47—拥塞控制—10、FACK下的快速恢复与PRR

    一.概述 FACK下的重传我们在之前的重传部分已经进行了介绍,这里简单介绍一下随着FACK提出的拥塞控制算法的改进及随后的进一步改进. 从我们之前介绍的RFC2582和RFC5681中可以看到,快速恢 ...

  3. 团队项目利用Msbuild自定义Task实现增量发布

    最近一直在做自动部署工具,主要利用到了Msbuild的自定义Task,通过Task我们可以自定义编译.部署过程减少人工直接干预.Msbuild的详细用法,可以去园子里搜一下,有很多的基础教程,这里就不 ...

  4. 【leetcode】62.63 Unique Paths

    62. Unique Paths A robot is located at the top-left corner of a m x n grid (marked 'Start' in the di ...

  5. Mac 常用快捷键整理

    Mac下常用的快捷键: Command+W 将当前窗口关闭(可以关闭Safari标签栏,很实用) Command+Option+M 将所有窗口最小化 Command+Q 关闭当前应用程序(相当于Doc ...

  6. 【C++】构造函数不能是虚函数

    1 虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的.问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没 ...

  7. addEventListener和attachEvent区别

    addEventListener()是标准的绑定事件监听函数的方法,是W3C所支持的,Chrome.FireFox.Opera.Safari.IE9.0及其以上版本都支持该函数:但是,IE8.0及其以 ...

  8. Contest 3

    A:非常裸的dp. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstrin ...

  9. 【JQuery】遍历

    一.前言        接着上一章的内容,继续本章的学习. 二.内容 .add 将元素添加到匹配元素的集合中 .add(object) .add(selector,context) .addSelf ...

  10. 【BZOJ2306】幸福路径(动态规划,倍增)

    [BZOJ2306]幸福路径(动态规划,倍增) 题面 BZOJ 题解 不要求确切的值,只需要逼近 显然可以通过移动\(\infty\)步来达到逼近的效果 考虑每次的一步怎么移动 设\(f[i][j]\ ...