Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

FindBugs not showing the bugs found

I've used FindBugs before and I didn't have problems, however this time on Eclipse Helios on Ubuntu Natty Narval bugs are found but not shown.

Here's what I tried:

  • Right Click on the project > Find Bugs > Find Bugs
  • Looking at the progress I saw 3 bugs were found
  • In the Problems view they are not listed

I tried to go to its own perspective with: Open Perspective > Other > FindBugs but Bug Explorer is empty.

Any ideas to view those bugs?

UPDATE: In Eclipse error log I see:

!ENTRY edu.umd.cs.findbugs.plugin.eclipse 2 2 2011-06-18 21:13:24.968
!MESSAGE The following classes needed for FindBugs analysis on project **
     were missing:
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.CommandLine
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.DefaultExecutor
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.ExecuteException

UPDATE 2: I don't know how to fix Eclipse, but I found a workaround. I added the findbugs report to maven's pom.xml

<reporting>
    <plugins>
        [...]
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.3.3-SNAPSHOT</version>
            <configuration>
                <xmlOutput>true</xmlOutput>
                <!-- Optional derectory to put findbugs xdoc xml report -->
                <xmlOutputDirectory>target/site</xmlOutputDirectory>
            </configuration>
        </plugin>
    </plugins>
</reporting>

The following configuration generates an HTML report in target/site/findbugs.html

like image 936
stivlo Avatar asked Jun 18 '11 11:06

stivlo


People also ask

How do you generate FindBugs reports?

To generate the FindBugs report as part of the Project Reports, add the FindBugs plugin in the <reporting> section of your pom. xml. Then, execute the site plugin to generate the report.

How do you use FindBugs tool?

In Eclipse, click on Help | Install New Software� and press Add button. Insert Name: Findbugs. Insert URL: http://Findbugs.cs.umd.edu/eclipse. press OK button.


3 Answers

If you have bugs showing up in some projects but not others, the problem may be that the bugs in one project are just not severe enough to show up.

I had the same issue (30 bugs showing up in Open Analysis Results in Editor) but none in Problems view or Find Bugs Explorer. The following worked for me:

1. Project -> Properties -> Find Bugs
2. Enable Project Specific Settings
3. Check everything under Report Visible Bug Categories
4. Slide minium rank to report to 20
5. Set minimum confidence to Low
6. Rerun FindBugs
like image 102
Ray Toal Avatar answered Oct 07 '22 15:10

Ray Toal


This may be a problem of the configuration of your problems view. Do the following steps to ensure that the findbugs findings are shown in the problems view:

  1. Select the problems view (no findbugs warnings or errors shown)
  2. Select from the drop-down menu of the problems view (Caret down button) the menu entry "Configure Contents..."
  3. Select in the left side view e.g. "Errors/Warnings on Project"
  4. Ensure that on the right side, in the Types list, all the Findbugs Types are selected.
  5. Finish the configuration of the view.

Now the problems view should show you the 3 findings of before.

Alternatively, you could use the Findbugs perspective to get a deeper insight of the problems found.

I have found an additional entry at the Findbugs Eclipse Plugin Page: Eclipse Plugin loads, but does not work correctly. Check that as well.


When Findbugs tries to analyze your classes (not: the source code), the classes used by your code have to be available. I do not know for which bug patterns this is necessary, but for some (flow analysis), the used classes have to be reachable. So ensure that the used classes (directly or indirectly) are visible in the loadpath of eclipse.

like image 40
mliebelt Avatar answered Oct 07 '22 15:10

mliebelt


I just stumpled upon a similar problem when using maven, eclipse and m2e-code-quality plugin (https://github.com/m2e-code-quality/m2e-code-quality). Solution was to list all visitors which should be run in a visitors tag in the configuration of the findbugs-maven-plugin. Also you may want to set maxRank to 20. When you omit the visitors to run the m2e-code-quality plugin will generate a findbugs plugin config which runs NO visitor at all. Worst part is that the findbug settings in the project properties will show some enabled visitors but these don't come from the project config.

like image 1
i84c0re Avatar answered Oct 07 '22 17:10

i84c0re