问题标签 [spotbugs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
470 浏览

java - How to export all rules from SonarQube Quality Profile to SpotBugs, Checkstyle and PMD rule files

Issue

I am using SonarQube 7.9.1. I have Quality Profile containing ~450 active rules for Java code. There are exporters for FindBugs, PMD and Checkstyle in SonarQube, but they are not exporting all available rules. After export ~20 rules are missing. What can be the cause of that?

Example of missing rule: "Unnecessary imports should be removed". It seems strange, because both Checkstyle and PMD have such rule available.

Question

Is it possible to export all rules defined in SonarQube Quality Profile to Checkstyle, PMD and SpotBugs rule files?

0 投票
0 回答
334 浏览

java - 如何解决 gradle 中的 slf4j 绑定错误?

我在启用了 spotbugs 的 gradle 构建期间看到了这个错误。

我怎样才能解决这个问题?

0 投票
0 回答
87 浏览

java - scala innerClass,查找秒错误 PREDICTABLE_RANDOM_SCALA

我想改进对 PREDICTABLE_RANDOM_SCALA 代码的检测。

  • methodName 包含“token”、“id”、“csrf”等。
  • find-sec-bug 现有检测逻辑

但在斯卡拉。scala 源代码和 javap -v 你可以在下面看到。

可以看到,scala使用了innerClass,绕过了我的判断方法:xxxtoken方法是否调用了Random。是否有任何 API 来获取内部类并加载它,或者有什么方法可以实现这个逻辑。

0 投票
2 回答
429 浏览

java - FindBugs 插件 Eclipse 发现的错误

使用错误查找器插件,我发现了这个错误,但不明白为什么它被视为代码中的错误。有人知道这些并给我适当的解释吗?谢谢。

源代码 - https://drive.google.com/open?id=1gAyHFcdHBShV-9oC5G7GeOtCGf7bXoso

Patient.java:17 Patient.generatePriority() 使用 Random 的 nextDouble 方法生成随机整数;使用 nextInt 更有效 [Of Concern(18), Normal confidence]

ExamRoom.java:25 ExamRoom 定义 equals 并使用 Object.hashCode() [Of Concern(16), Normal confidence]

ExamRoom.java:15 ExamRoom 定义 compareTo(ExaminationRoom) 并使用 Object.equals() [Of Concern(16), Normal confidence]

Hospital.java:41 错误的月份值 12 传递给 Hospital.initializeHospital() 中的新 java.util.GregorianCalendar(int, int, int) [可怕(7),正常信心]

Person.java:29 在 Person.getFullName() 中忽略 String.toLowerCase() 的返回值 [最可怕的 (3),高置信度]

0 投票
1 回答
1329 浏览

java - 如何在不从 Eclipse 收到警告的情况下抑制容易出错的警告?

我想知道是否可以在不收到 Eclipse 警告的情况下在本地抑制容易出错的警告。例如,用这条线

在枚举中,我收到可变的ImmutableEnumChecker警告。byte[]这是有道理的,但我确保它永远不会泄漏并且永远不会发生突变,所以我想在这里压制警告。我不想全局抑制它,所以我不能使用命令行参数和

我只将容易出错的警告换成 Eclipse 警告Unsupported @SuppressWarnings("ImmutableEnumChecker")

以前,我曾经使用 findbugs 正是@SuppressFBWarnings出于这个原因....

是否有类似“SuppressFBWarnings”的错误?或者任何其他解决方案?

0 投票
0 回答
1145 浏览

java - REC_CATCH_EXCEPTION 错误(未抛出异常时捕获异常)

我看到一个奇怪的行为,我在一个try块中添加了一些代码,现在由于某种原因我得到了 spotbug 错误REC_CATCH_EXCEPTION(当没有抛出异常时捕获到异常)。

所以基本上最初,我的代码是这样的:

当我运行上面的代码时,我没有收到任何 spotbug 错误。但是,当我添加新else if块时,我得到了REC_CATCH_EXCEPTION错误。所以我看到错误的新代码是这样的:

除了添加方法之外,没有什么真正改变doSomeOtherThing()。所以我不确定为什么我会看到这个错误。另外,请注意该doSomeOtherThing()方法不会在其中抛出或捕获任何异常。

0 投票
0 回答
340 浏览

sonarqube - 是否可以在不编译的情况下执行静态代码分析?

我正在研究代码最佳实践。我正在尝试使用 sonarqube 对存储库(maven 项目)列表执行一些自动静态代码分析

问题是 99% 的存储库需要特定的步骤来构建。( mvn compile 是不够的),我不能继续在管道上发送 Sonarqube 上的代码..

这就是为什么我想要使用类固醇工具来执行代码分析而无需构建(无需分析托管代码)。我找到了蜥蜴(蜥蜴是许多编程语言的可扩展圈复杂度分析器)。但它没有Sonarqube那么强大。

是否可以使用 sonarqube 做到这一点?还有其他像 sonarqube 一样强大的工具吗?

谢谢!

0 投票
2 回答
888 浏览

java - SonarQube FindBugs 分析器(使用 SpotBugs 3.1.0-RC6)不支持 JDK 11

我将我的应用程序迁移到 OpenJDK11 并且 Jenkins 构建失败,因为不再支持 Findbug。插件:

  • sonar-maven-plugin -在 java 11 env 中内部调用 Findbug 并且它破坏了 Jenkins 构建

如何迁移此插件以使用最新的 Spotbug 依赖项,我仍然想保留 sonar-maven-plugin 以获取报告给 sonar。

当前 pom.xml 相关部分:

已经浏览了许多文档。找不到解决方案。

SonarQube 版本: 6.7 版(内部版本 33306)

已安装的插件(相关的):

  • FindbugsExternal Analyzers分析 Java 代码SpotBugs 3.1.0-RC6。3.6.0
  • 适用于 Java 5.13.1 的SonarJavaLanguages 代码分析器(内部版本 18282)
  • 适用于 XML 2.0.1 的SonarXML 代码分析器(构建 2020)
  • CheckstyleExternal Analyzers使用 Checkstyle 4.23 分析 Java 代码
0 投票
1 回答
285 浏览

java - Findbugs [恶意代码漏洞 | EI_EXPOSE_REP2] 不抛出自写类

我们昨天在我们的应用程序中实现了spotbugs。我们的大多数错误都是[Malicious code vulnerability | EI_EXPOSE_REP2]...may expose internal representation by storing an externally mutable object into....

我们理解这一点,但我们不明白的是,这些错误仅在 Date 类上引发。我们有由其他类持有的自写类,并且这个错误没有被抛出。

为什么它处理 Date 与自写类不同?其他类也不是不可变的。我们主要将 lombok 用于 getter、setter 和 builder。

谢谢

0 投票
0 回答
62 浏览

java - 什么静态分析工具可以检测java中不安全的并发写入

输出

缺少 7 和 8 因为 ArrayList 不是线程安全的。