findBugs 代码静态扫描 学习笔记

配套的Bug解释模式

为了有针对性的使用这个工具,减少bug的误报,提高使用效率,我们选择了10个左右的bug模式,下面就是对这10个模式的解释。

这些bug可能会引起程序的性能或逻辑问题.

需要说明的是,findbugs能检测的bug pattern远不仅于此,甚至可以定制自己的探测器,因此,这个文档会不断扩充,同时,也欢迎大家不断探索和分享使用实践.

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

Bad practice

不好的习惯

Correctness

代码的正确性

Dodgy

小问题

Malicious code vulnerability

恶意代码

Internationalization

国际化问题

Performance

性能问题

Security

安全性问题

Multithreaded currectness

线程问题

Experrimental

实验性问题







findbugs option


class

    嵌套元素指定要分析的类。这个元素必须指定一个location属性,location属性的名字为archive文件(jar,zip等)、目录或者class文件。可以为一个findbugs元素指定多个class元素。

auxClasspath

    可选的嵌套元素,用于指定要分析的类所引用的类,但是并不对引用的类进行分析。

sourcePath

    可选的嵌套元素,指定Java源代码的目录。

home

    必须的属性,findbugs的安装目录。

quietErrors

    可选的布尔型属性。如果是true的话,报告严重的分析错误和丢失的类。默认情况下为false。

reportLevel

    可选的属性。指定优先级别。如果是low的话,那么报告所有的bug,如果是medium(缺省值),报告medium和high优先级的bug。

output

    可选属性,设置输出格式。

stylesheet

    可选属性,指定生成html时使用的样式表。

sort

    可选属性,如果输出属性设置为text,该属性指定是否对输出结果根据class进行排序,默认为true。

outputFile

    可选属性,指定输出文件。

debug

    可选的布尔型属性,是否打印分析过程中的日志。默认值为false。

effort

    设置分析工作的等级,可以为min、default和max。

conserveSpace

    和min effort一样的功能。

workHard

    和max effort一样的功能。

visitors

    可选属性,指定逗号分隔的列表,指定要运行的detectors。

omitVisitors

    可选属性,忽略detectors。折合visitors属性类似,只是不指定不运行哪些detectors。

excludeFilter

    可选属性,指定排除的Filter。

includeFilter

    可选属性,指定包含的Filter。

projectFile

    可选属性,指定项目的名称。

jvmargs

    可选属性,指定JVM变量。

systemProperty

    系统属性。

timeout

    可选属性,指定超市的时间,默认为600,000毫秒,即10分钟。

failOnError

    可选属性,指定是否在运行FindBugs出现异常时停止构建过程,默认为false。

errorProperty

    可选属性,如果在运行FindBugs时发生错误,指定属性的值为true。

warningsProperty

    可选属性,如果在运行FindBugs时发生警告,指定属性的值为true。



你可能感兴趣的:(findBugs 代码静态扫描 学习笔记)