findbugs插件_Intellij静态代码扫描插件SpotBugs

最近要做Java静态扫描的部分工作,之前是在Jenkins上使用findbugs插件完成的,但是由于现在Jenkins权限收回和Java代码权限的放开(我也搞不懂这两者的关联性),目前打算在本地完成静态代码扫描工作。

选来选取还是选择在Intellij中用插件来完成,印象中有一个FindBugs-IDEA的插件,网上搜到的资料好多也是推荐这个插件,但是从Intellij插件库里面并没有找到,而找到了一个QAPlug - FindBugs的插件,看样子是完成了同样的功能。

但是这两个插件面临同样的问题:没有跟进Intellij的更新,支持的版本上限比较旧了,这里我查到的FindBugs-IDEA的官方信息最后一次更新是在2016年10月17日,显然,这个不能用了,这也是为什么我在Intellij的插件库中搜索关键词findbugsBUG不显示改插件的原因。

QAPlug - FindBugs这个插件最近一次维护的时间是2018年4月23日,所以他支持的版本上限兼容性更改以支持IntelliJ IDEA 2018.1.1,之后的版本是不支持的,手头使用新版的Intellij的同学基本要放弃这个了。

  • 以上两个插件官方信息来看并没有近期的升级维护计划。

由此我又找到了SpotBugs,以下是官方的资料截取:

IntelliJ SpotBugs插件提供静态字节代码分析,以从IntelliJ IDEA中查找Java代码中的错误。SpotBugsJava的缺陷检测工具,它使用静态分析来查找400多种错误模式,例如空指针取消引用,无限递归循环,对Java库的错误使用和死锁。SpotBugs可以识别大型应用程序中的数百个严重缺陷(通常每1000-2000行非注释源语句中大约有1个缺陷)。

使用方法就不再赘述,和其他插件的下载安装方法一致,这里简单截取一个BUG的截图,大家感受一下。

06ab35921d1813580472bf44201246f5.png

学好英文实在太重要了

16c4b6cf68656f4600aa1cbd9e6ffd97.png

在源码的左侧栏中会显示不同颜色的小虫子,区分不同等级的BUG,据我目前自测的情况,大部分都是规范,实际操作起来需要先去解决错误信息,再去解决可疑问题,因为可疑的实在太多了。

本次扫描一共检测了155classes文件,找到了143BUG

  • 本文提及的三个插件的Intellij地址:

https://plugins.jetbrains.com/plugin/14014-spotbugs

https://plugins.jetbrains.com/plugin/4597-qaplug--findbugs

https://plugins.jetbrains.com/plugin/3847-findbugs-idea

  • 整个体验下来,spotbugs检测出来的BUG是非常准确的,相比findbugs要优秀很多,已经在团队中推广。

公众号FunTester,原创分享爱好者,腾讯云、开源中国和掘金社区首页推荐,知乎八级强者,欢迎关注、交流,禁止第三方擅自转载。

FunTester热文精选

  • Selenium4 IDE,它终于来了
  • 基于DOM的XML文件解析类
  • 如何成为全栈自动化工程师
  • 终止性能测试并输出报告
  • 固定QPS压测模式探索
  • 测试为何会错过Bug
  • 自动化测试生命周期
  • 固定QPS压测初试
  • JsonPath验证类既Groovy重载操作符实践
e32c4988c908e770c36fd4980d0d56bc.png
点击阅读原文,查看公众号历史文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一张图看懂智联车管理云平台

智联车管理云平台(IoV Command Center,简称IoV CC)是阿里云面向智联车领域,专门推出的车辆全生命周期云端管理平台,旨在赋能车厂转型出行服务商,提高运营效率、降低自建成本。 传统模式下,车辆…

刨根问底 | 红遍全网的SD-WAN,到底是个啥?

戳蓝字“CSDN云计算”关注我们哦!作者 | 小枣君责编 | 阿秃作为一个热门概念,SD-WAN近年以来频繁地出现在我们的视野当中。很多人说,它是未来最具发展潜力的通信技术之一,极具商业价值。行业里的老牌通信设备商和运营商对它一致看…

centos7安装rabbitmq简单方式

安装rabbitmq前要准备的基础环境 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c kernel-devel m4 ncurses-devel tk tc xz tcp_wrappers需下载的安装文件如下 ## erlang wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.…

车联网上云最佳实践(一)

一、车联网行业特性讲解 最近两年车联网发展受到政府部门、科研院以及各大互联网巨头的广泛关注和积极推动。从应用来看,主要包括两种模式:一是前装模式(即车辆出厂前安装),是乘用车厂主导或者与有相关能力的公司合作&…

python3 网站状态监控_基于python3监控服务器状态进行邮件报警

在正式的生产环境中,我们常常会需要监控服务器的状态,以保证公司整个业务的正常运转,常常我们会用到像nagios、zabbix这类工具进行实时监控,那么用python我们怎么进行监控呢?这里我们利用了python3调用psutil和yagmail…

车联网上云最佳实践(二)

云上对标架构及技术详解 我们对传统IDC应用架构进行分析之后,我们发现之前的系统架构存在一些不合理的地方导致了很多的痛点,为了解决这些痛点我们最终考虑上云。开始思考怎样利用云上产品来解决目前遇到的痛点。例如 为了解决我们自建IDC底层基础设施可…

java list 字段去重_java list 根据对象一个字段去重

1.主要思路就是根据从写equals 以及 hashCode 方法。代码如下:package com.bfd.unibase.modules.dataview.entity;import org.hibernate.validator.constraints.Length;import java.util.ArrayList;import java.util.Date;import java.util.HashSet;import java.uti…

Dubbo Mesh | 阿里巴巴中间件团队在 Service Mesh 的实践和探索(附PPT)

精彩观点导读: 我们去探索一项技术,并不会仅仅因为其先进性,而是因为我们目前遇到了一些无法解决的问题,而这项技术正好能解决这个问题。 所有软件最重要的使命不是满足功能要求,而是演进,从而持续成长。…

flutter 自定义键盘_掘金 AMA:听闲鱼客户端架构师邬吉风聊 Flutter 和移动端开发那些事...

第二十一期 AMA 掘金团队请来了闲鱼客户端架构师,《Fish-Redux》作者-- 邬吉风做了为期三天的 Ask Me Anything (AMA) 活动(活动已结束)。我们在此精选了一些来自用户的提问及邬吉风的回答。关于 邬吉风阿里花名吉丰, 《Fish-Redux》作者。现任闲鱼客户端…

网站常见问题1分钟定位(三)| 如何使用阿里云ARMS轻松重现用户浏览器问题

这是阿里中间件 ARMS 团队推出的 “网站常见问题1分钟定位”系列文章的第三篇,作者慕扉。 第一篇传送门 第二篇传送门 一、客户投诉不断,本地却无法重现? 页面加载较慢是用户经常会反馈的问题,也是前端非常关注的问题之一。…

国内首家!平头哥宣布开源RISC-V内核MCU芯片设计平台;IBM驳斥谷歌量子霸权主张;Facebook将赔偿350亿美元……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周两次,打卡即read更快、更全了解泛云圈精彩newsgo go go 小米 MIX4 概念图&#xff0…

把百度网站设为首页_大仙SEO:如何解决网站首页百度收录后被删除?【SEO案例】...

前天(5/20)看数据的时候,发现5118数据直线下降,跌的有些厉害,猜测网站应该出问题了。这个时候不要慌(内心实则慌的一批),在等等看,会不会是百度自身的一些调整。算了分析分析网站吧!site看网站数据&#xf…

技术选型:Sentinel vs Hystrix

这是围绕 Sentinel 的使用场景、技术对比和实现、开发者实践等维度推出的系列文章的第三篇。 第一篇回顾: Dubbo 的流量防卫兵 | Sentinel如何通过限流实现服务的高可用性 - 传送门 第二篇回顾: RocketMQ 的保险丝| Sentinel 如何通过匀速请求和冷…

“熬夜导致秃头”,因果关系推断说这话有问题!

扫码了解2019中国大数据技术大会(https://t.csdnimg.cn/7yMh )更多详情。“因果”,顾名思义,即“原因与结果”。“推理”则指“根据某个事件推导其他事件,即经过推测和推断得出结论的过程”。换句话说,就是…

大数据可视化html模板开源_8个可靠好用的开源数据可视化工具推荐

数据可视化在数据科学领域中发挥着重要的作用。在不清楚数据的情况下,要监视和调整数据以使其按照应有的方式执行并不容易。这就是数据可视化发挥作用的地方,它把收集到的数据放到一个可视的上下文中,使数据更容易找出模式、跟踪趋势等。但是…

MaxCompute - ODPS重装上阵 第五弹 - SELECT TRANSFORM

MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务。 MaxCompute除了持续优化性能外,也致力于提升SQL语言的用户体验和表达能力,提高…

RabbitMQ 最新版本 下载、部署 _rpm版本(CentOS7环境)

文章目录1. 安装rabbitmq前要准备的基础环境2. wget 远程下载安装包2. rpm安装软件3. 编辑配置文件修改密码4. 启动RabbitMQ5. 查看RabbitMQ是否启动6. 安装RabbitMQ 管控台7. 浏览器访问:8. 登录1. 安装rabbitmq前要准备的基础环境 yum install build-essential o…

MaxCompute存储力持续升级,每年节省不止一个亿

数据是开启全新洞察和机器智能创新的基础,拥有高性能、稳定、可扩展性强的存储能力和充沛的计算力,才能全面释放数据价值。 阿里巴巴大数据计算平台MaxCompute,作为阿里巴巴统一的计算平台,支持了整个阿里巴巴集团内部几乎99%的数…

【10.23头条】阿里云存储负责人吴结生:安全可靠是云存储立身之本, 智能技术将激活存储技术新变革...

戳蓝字“CSDN云计算”关注我们哦!作者 | 刘丹责编 | 阿秃人类以日新月异的速度刷新着科技的成果,其中存储的发展历史尤其悠久,堪称万年进化史。自文明诞生以来,我们就一直在寻求能够更有效存储信息的方式,从4万年前的…

专访20年技术老兵云郎:16年峰回路,每一步都是更好的沉淀

从技术研发到产品经理 3次峰回路转 这条路,他走了16年 一个懂技术的产品 更有底气和研发“叫板” 一个具备产品思维的技术 更明白未来的方向 张良模,花名云郎。1997年入行做通信软件研发;8年后转型IT行业,曾任Oracle(甲…