导航:首页 > 编程语言 > javafindbugs

javafindbugs

发布时间:2024-03-25 01:48:12

Ⅰ 静态代码扫描工具 哪个好 java

1、 Checkstyle
Checkstyle 是SourceForge的开源项目,通过检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开发人员更好地遵循代码编写规范。Checkstyle 提供了支持大多数常见IDE的插件。

2、FindBugs
FindBugs 是由马里兰大学提供的一款开源 Java 静态代码分析工具。FindBugs 通过检查类文件或 JAR 文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs 既提供可视化 UI 界面,同时也可以作为 Eclipse 插件使用。

3、PMD
PMD 是由 DARPA 在 SourceForge 上发布的开源 Java 代码静态分析工具。PMD 通过其内置的编码规则对 Java 代码进行静态检查,主要包括对潜在的 bug,未使用的代码,重复的代码,循环体创建新对象等问题的检验。PMD 提供了和多种 Java IDE 的集成,例如 Eclipse,IDEA,NetBean 等。

4、Jtest
Jtest 是Parasoft 公司推出的一款针对Java语言的自动化代码优化和测试工具,Jtest 的静态代码分析功能能够按照其内置的超过800条的 Java 编码规范自动检查并纠正这些隐蔽且难以修复的编码错误。同时,还支持用户自定义编码规则,帮助用户预防一些特殊用法的错误。

Ⅱ 做静态代码分析都是用那个软件的

本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能、特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中。


引言

在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷。Java 静态代码分析(static code analysis)工具能够在代码构建过程中帮助开发人员快速、有效的定位代码缺陷并及时纠正这些问题,从而极大地提高软件可靠性并节省软件开发和测试成 本。目前市场上的 Java 静态代码分析工具种类繁多且各有千秋,因此本文将分别介绍现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),并从功能、特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中。

静态代码分析工具简介

什么是静态代码分析

静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等。

在软件开发过程中,静态代码分析往往先于动态测试之前进行,同时也可以作为制定动态测试用例的参考。统计证明,在整个软件开发生命周期中,30% 至 70% 的代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复的。

但是,由于静态代码分析往往要求大量的时间消耗和相关知识的积累,因此对于软件开发团队来说,使用静态代码分析工具自动化执行代码检查和分析,能够极大地提高软件可靠性并节省软件开发和测试成本。

静态代码分析工具的优势

1. 帮助程序开发人员自动执行静态代码分析,快速定位代码隐藏错误和缺陷。

2. 帮助代码设计人员更专注于分析和解决代码设计缺陷。

3. 显著减少在代码逐行检查上花费的时间,提高软件可靠性并节省软件开发和测试成本。


Java 静态代码分析理论基础和主要技术

Ⅲ 如何更好地利用Pmd,Findbugs和CheckStyle分析结果

Pmd 它是一个基于静态规则集的Java源码分析器,它可以识别出潜在的如下问题:

– 可能的bug——空的try/catch/finally/switch块。

– 无用代码(Dead code):无用的本地变量,方法参数和私有方法。

– 空的if/while语句。

– 过度复杂的表达式——不必要的if语句,本来可以用while循环但是却用了for循环。

– 可优化的代码:浪费性能的String/StringBuffer的使用。


FindBugs 它用来查找Java代码中存在的bug。它使用静态分析方法标识出Java程序中上百种潜在的不同类型的错误。


Checkstyle 它定义了一系列可用的模块,每一个模块提供了严格程度(强制的,可选的…)可配置的检查规则。规则可以触发通知(notification),警告(warning)和错误(error)。


现在有很多查看这些工具的处理结果的方式:


XML格式:这些工具都可以产生XML文件,这些XML文件能用来产生HTML报表或者是被别的工具用来浏览分析的结果。

HTML格式:HTML格式是最受欢迎的产生报表和团队间分享的的方式,你也可以用xsl表格创建你自己的报表。

IDE插件:几乎所有叫得上名字的IDE都给这些工具提供了插件,这使得发现源码中存在的所有问题几乎变成可能。

代码质量工具的一个问题是,它们有时候会给开发者提示很多不是错误的错误-也叫做假阳性(false positives)。当这种情况发生的时候,开发者可以学着忽略工具的输出信息,或者是把这些输出全部抛弃掉。


为了更好的利用这些工具的输出结果,给开发者一个更有用的视图,最好是有一种只关注我们想要的东西的方式。本文中,我们将找出其他有趣的方式来更好的利用所有这些有名的Java静态分析工具的输出结果,然后可以像查询数据库那样查询这些结果。


JArchitect和CQLinq


JArchitect是另一个静态分析工具,它弥补了其他工具(的不足),它是使用一种基于Linq(CQLinq)的代码查询语言像查询数据库那样来查询代码。


JArchitect3的以前版本,只能查询从JArchitect提取出来的分析数据,但是从JArchitect4开始,可以把许多其他静态分析工具的输出结果包含进来,然后使用CQLinq做查询。


让我们以PDT核心(eclipse的Php插件)的源码为例来说明如何在JArchitect中利用好这些静态工具的分析结果。


在查询分析结果以前,要遵守以下几个步骤:


第一步:

用PMD,CPD,FindBugs和CheckStyle分析项目工程,生成包含分析结果的XML文件。


第二步:

用JArchitect分析项目工程。


第三步:

在JArchitect点击菜单“插件(Plugins)”->“导入插件结果文件(Import Plugins Result Files)”把所有的XML文件导入到JArchitect中。


JArchitect默认给这些工具提供了许多有用的查询,并且这些查询都是可以很简单的进行定制的。

阅读全文

与javafindbugs相关的资料

热点内容
在线看网址大全 浏览:689
同性恋男电影 浏览:796
kettle大数据效率 浏览:725
在网站提交文件提交不了该怎么办 浏览:680
有一部关于射箭的外国电影 浏览:157
上海点合网络技术 浏览:100
阿甘正传主人公叫什么 浏览:353
信用卡客户数据库 浏览:714
湖北延长产假的文件哪里找 浏览:155
牛蛙吃人的电影名字 浏览:93
免费鬼片观看 浏览:342
在线免费观看韩国高分爱情片韩国伦理片 浏览:707
mod是什么文件 浏览:777
韩国女保姆的电影 浏览:788
微信发送照片如何不变文件名称 浏览:453
穿越一战欧洲类小说 浏览:948
韩国动漫电影爱情推理片 浏览:464
主角叫萧晨的重生小说 浏览:355
印度迷情杀机演员 浏览:194
微信朋友圈找不到视频文件夹 浏览:262

友情链接