MifosFindbugsStatus < Javatools < TWiki

TWiki . Javatools . MifosFindbugsStatus

MIFOS Findbugs Status

This page includes notes and information for anyone working on findbugs issues or interested in knowing where things stand on findbugs issues. If you are working on findbugs issues feel free to add to or update the information on this page.

Findbugs Counts

Date Revision Total High Medium Low Notes
04/06/2007 11655 1532 52 572 908  
01/03/2007 11453 1553 78 592 883 Dm bug types plus other fixes
12/11/2006 11411 1618 80 653 885 Filtered out SnVI (serialVersionUID) bugs
12/10/2006 11411 1883 80 653 1150  

These counts represent the high, medium (normal), low priority bugs identified by findbugs. The subversion revision number at which findbugs was run is listed in the Revision column. The most recent status is at the top.

Note: These totals were generated from running findbugs using the findbugs ant task. Running findbugs within Eclipse (and filtering to include only findbugs warnings) yielded a total of 1887 (rather than 1883) bugs at revision 11411. The exact reason for this difference is unclear and should be more easily determined once the total bug counts have been reduced.

Findbugs Setup and Configuration

Please refer to the findbugs manual for basic setup instructions.

There is a separate build file (build-findbugs.xml) for running findbugs. It contains a "findbugs" target which generates an analysis file to dist/mifos.findbugs.output.xml. The analysis file can be loaded into the findbugs GUI tool for easier viewing.

To run the "findbugs" ant build target for Mifos you need to tell the ant task where your findbugs install is located. It will default to the tools directory under your Mifos root, or you can override this in conf/my.build.properties to specify another directory which contains the findbugs install. For example:

findbugs.home=c:/tools/findbugs-1.1.1

If you are running the findbugs ant task in Eclipse, then go to Window->Preferences and edit the Ant/Runtime/Global Entries. Choose "Add External JARs..." and under your findbugs install directory, add lib/findbugs-ant.jar. Detailed step by step instructions for another way to configure findbugs in eclipse for Mifos can be found here.

The minimum bug level to report for Mifos defaults to "low" but can be set to "medium", or "high" by adding an entry like the following to your my.build.properties file:

findbugs.reportlevel=medium

A findbugs filter file (conf/findbugs.filter.xml) can be used to exclude bugs over large sections of the code base. The preference for individual bug exclusions is to use an annotation and a comment at the location in the code where the bug is being ignored.

Currently the "findbugs" build target in ant is run separately from a regular build, but once the current warnings have been addressed then it could be part of a regular build as shown in the dist_findbugs target.

Coding Standards to Avoid Generating New Findbugs Warnings

EqualsAndHashcodeIssues

-- Main.vanmh - 06 Apr 2007

----- Revision r3 - 06 Apr 2007 - 23:27:30 - Main.vanmh