Scott Wegner created BEAM-176:
---------------------------------

             Summary: Enable FindBugs static analysis during maven build
                 Key: BEAM-176
                 URL: https://issues.apache.org/jira/browse/BEAM-176
             Project: Beam
          Issue Type: Improvement
            Reporter: Scott Wegner


[FindBugs|http://findbugs.sourceforge.net/] is a java static analysis tools to 
find common coding issues that may result in bugs.

Running it over Beam repository with default configuration surfaces 195 "bugs", 
20 categorized as "high priority". Browsing through, some are obvious issues 
that should be fixed. For example:

bq. 
[FileBasedSink.java:635|https://github.com/apache/incubator-beam/blob/9793fa2c860279b8c90254260c87e5665b000254/sdks/java/core/src/main/java/com/google/cloud/dataflow/sdk/io/FileBasedSink.java#L635]:
 More arguments are passed than are actually used in the format string

bq. 
[ApproximateQuantiles.java:346|https://github.com/apache/incubator-beam/blob/9793fa2c860279b8c90254260c87e5665b000254/sdks/java/core/src/main/java/com/google/cloud/dataflow/sdk/transforms/ApproximateQuantiles.java#L346]:
 Integral value cast to double and then passed to Math.ceil

FindBugs also has a [maven 
plugin|http://gleclaire.github.io/findbugs-maven-plugin/index.html], which can 
be used to either generate a report of found-issues, or fail the build.

I recommend we enable FindBugs as a quality gate during our build.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to