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)