Thanks! You say:

"I note that we have not accepted findbugs as a tool of the project. I
think that not all developers are a fan of the tool."

Is there an alternative, and equally or more effective tool that is
acceptable to more developers, e.g., PMD? If there is, then perhaps we
should migrate to it? If not, then perhaps we should make findbugs a "tool
of the project". Since there has been a "findbugs" target in build.xml for a
while (at least it was there when I started on the project), it seems like
it is in some way a "tool of the project".

In any case, I believe we should make regular use of findbugs or a suitable
alternative, and that no commit should occur without verifying that no new
errors/warnings are being introduced.


On Fri, Nov 19, 2010 at 8:05 AM, Simon Pepping <>wrote:

> I committed an exclusion filter that suppresses all existing findbug
> warnings (966). I generated it from the findbugs xml report. Then I
> moved all NM_CONFUSING out of the automatically generated block.
> When you get a new findbugs warning, you may
> 1. resolve it;
> 2. leave it unresolved, and add it to the exclusion filter, with
> comment;
> 3. leave it unsolved, and add it to the automatic block of the
> exclusion filter.
> I note that we have not accepted findbugs as a tool of the project. I
> think that not all developers are a fan of the tool.
> The main template of the xslt script that generated the exclusion
> filter is as follows:
> <xsl:template match='//BugInstance'>
>  <xsl:variable name="type" select="@type"/>
>  <xsl:for-each select="Class">
>    <Match>
>      <Class name="{...@classname}"/>
>      <xsl:choose>
>        <xsl:when test="$type='EQ_DOESNT_OVERRIDE_EQUALS'">
>          <xsl:text>&#xA;</xsl:text>
>          <xsl:comment> Listing the method 'equals' does not work
> </xsl:comment>
>        </xsl:when>
>        <xsl:when test="$type='MF_CLASS_MASKS_FIELD'">
>          <xsl:text>&#xA;</xsl:text>
>          <xsl:comment> Listing the field does not work; this makes the
> filter apply to all masked fields </xsl:comment>
>        </xsl:when>
>        <xsl:when test="following-sibling::Method">
>          <Method name="{following-sibling::Method[1]/@name}"/>
>        </xsl:when>
>        <xsl:when test="following-sibling::Field">
>          <Field name="{following-sibling::Field[1]/@name}"/>
>        </xsl:when>
>        <xsl:otherwise>
>          <xsl:text>&#xA;</xsl:text>
>          <xsl:comment>Neither method nor field</xsl:comment>
>        </xsl:otherwise>
>      </xsl:choose>
>      <Bug pattern="{$type}"/>
>    </Match>
>  </xsl:for-each>
> </xsl:template>
> Simon
> On Wed, Nov 17, 2010 at 07:24:43PM +0100, Simon Pepping wrote:
> > I will take care of this. I am now squashing the easier
> > findbugs-reported bugs/problems. Then I will add the remaining ones to
> > the exclusion file, such that those that are really excluded can be
> > distinguished from those which have not yet been examined.

Reply via email to