Roll FindBugs from 2.0.3 to 3.0.0

BUG=None
R=tedchoc@chromium.org
TBR=tedchoc@chromium.org

Review URL: https://codereview.chromium.org/594833004

git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/findbugs@292126 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
diff --git a/README.chromium b/README.chromium
index 493dbeb..c07630e 100644
--- a/README.chromium
+++ b/README.chromium
@@ -1,7 +1,7 @@
 Name: FindBugs
 URL: http://findbugs.sourceforge.net/
 Description: FindBugs is a program to find bugs in Java programs.
-Version: 2.0.3
+Version: 3.0.0
 Security Critical: no
 License: LGPL 3
 License File: LICENSE
diff --git a/doc/Changes.html b/doc/Changes.html
index 21b4551..c18d78a 100644
--- a/doc/Changes.html
+++ b/doc/Changes.html
@@ -8,10 +8,10 @@
 
 <body>
 
-	<table width="100%">
-		<tr>
+    <table width="100%">
+        <tr>
 
-			
+            
 <td bgcolor="#b9b9fe" valign="top" align="left" width="20%"> 
 <table width="100%" cellspacing="0" border="0"> 
 <tr><td><a class="sidebar" href="index.html"><img src="umdFindbugs.png" alt="FindBugs"></a></td></tr> 
@@ -19,18 +19,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -43,1444 +45,1497 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
-			<td align="left" valign="top">
+            <td align="left" valign="top">
 
 
-				<h1>FindBugs Change Log, Version 2.0.3</h1>
-				<ul>
-					<li>New Bug patterns: <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#DM_BOXED_PRIMITIVE_FOR_PARSING">DM_BOXED_PRIMITIVE_FOR_PARSING</a>,
-						<a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_METHOD_RETURN_RELAXING_ANNOTATION">NP_METHOD_RETURN_RELAXING_ANNOTATION</a>,
-						and 
-						<a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION">NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION</a>
-					</li>
-					<li>Add the ability in the GUI to save the currently viewable/filtered bugs to HTML output.
-					<li>When dataflow does't terminate, make sure we continue with
-						analysis.
-					
-					<li>Fix some problems that resulting in dataflow analysis not
-						terminating
-					
-					<li>Get parameter annotations from default parameters
-						annotations applied to the method.
-					<li>Add subversion change number to eclipse plugin qualifier.
-					
-					<li>Disabled detector for <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#AM_CREATES_EMPTY_JAR_FILE_ENTRY">AM_CREATES_EMPTY_JAR_FILE_ENTRY</a>;
-						it complaints inappropriately about code that creates directory
-						entries.
-					
-					<li>Add warnings about incompatible types passed to
-						org.testng.Assert.assertEquals</li>
-					<li>Add logic that understands more of the Google Guava APIs.
-					<li>Disable type qualifier validator execution within Eclipse plugin; 
-						too many problems with class loading and security manager (see #1154 Random obscure Eclipse failures)
-					<li>Consistently check both access flags and attributes to see if something is synthetic. Compiler is 
-					inconsistent about where synthetic elements are marked. 
-					
-				<li>Fixed false positives for the following bug patterns (17
-						occurrences in findbugsTestCases):
-						<ul>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#BC">BC</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_IMPOSSIBLE_INSTANCEOF">BC_IMPOSSIBLE_INSTANCEOF</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_UNCONFIRMED_CAST">BC_UNCONFIRMED_CAST</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_UNRELATED_TYPES">EC_UNRELATED_TYPES</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE">INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#IS2_INCONSISTENT_SYNC">IS2_INCONSISTENT_SYNC</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS">NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#OBL_UNSATISFIED_OBLIGATION">OBL_UNSATISFIED_OBLIGATION</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE">RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#SA_FIELD_SELF_COMPARISON">SA_FIELD_SELF_COMPARISON</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED">TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED</a>
-							</li>
-						</ul>
-					<li>Fixed false negatives for the following bug patterns (45
-						occurrences in findbugsTestCases):
-						<ul>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_UNCONFIRMED_CAST">BC_UNCONFIRMED_CAST</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#DM_NUMBER_CTOR">DM_NUMBER_CTOR</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_ARRAY_AND_NONARRAY">EC_ARRAY_AND_NONARRAY</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_INCOMPATIBLE_ARRAY_COMPARE">EC_INCOMPATIBLE_ARRAY_COMPARE</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_UNRELATED_TYPES">EC_UNRELATED_TYPES</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#GC_UNRELATED_TYPES">GC_UNRELATED_TYPES</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#IS_FIELD_NOT_GUARDED">IS_FIELD_NOT_GUARDED</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#IT_NO_SUCH_ELEMENT">IT_NO_SUCH_ELEMENT</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS">JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NULL_ON_SOME_PATH">NP_NULL_ON_SOME_PATH</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NONNULL_PARAM_VIOLATION">NP_NONNULL_PARAM_VIOLATION</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE">NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE">NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_STORE_INTO_NONNULL_FIELD">NP_STORE_INTO_NONNULL_FIELD</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#RE_POSSIBLE_UNINTENDED_PATTERN">RE_POSSIBLE_UNINTENDED_PATTERN</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#SA_FIELD_SELF_COMPARISON">SA_FIELD_SELF_COMPARISON</a>
-						</ul>
-				</ul>
-				<h1>FindBugs Change Log, Version 2.0.2</h1>
-				
-				<ul>
-					<li>Fix false positions for <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR</a>
-						- fixing <a
-						href="https://sourceforge.net/tracker/?func=detail&aid=3547559&group_id=96405&atid=614693">Bug3547559</a>,
-						<a
-						href="https://sourceforge.net/tracker/?func=detail&aid=3555408&group_id=96405&atid=614693">Bug3555408</a>,
-						<a
-						href="https://sourceforge.net/tracker/?func=detail&aid=3580266&group_id=96405&atid=614693">Bug3580266</a>
-						and <a
-						href="https://sourceforge.net/tracker/?func=detail&aid=3587164&group_id=96405&atid=614693">Bug3587164</a>.
+                <h1>FindBugs Change Log, Version 3.0.0</h1>
+                <ul>
+                    <li>FindBugs supports Java 8 now (both as runtime and target platform).
+                    <li>FindBugs requires minimum Java 7 as runtime environment!
+                    <li>FindBugs uses ASM 5 now which means that some 3rd party detectors based on FindBugs 2.x/ASM 3 has to be upgraded.
+                    See details in <a href="http://download.forge.objectweb.org/asm/asm4-guide.pdf#chapter.5">ASM documentation</a>.
+                    <li>New Bug patterns:
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_OPTIONAL_RETURN_NULL">NP_OPTIONAL_RETURN_NULL</a>,
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#IIO_INEFFICIENT_INDEX_OF">IIO_INEFFICIENT_INDEX_OF</a>,
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#IIO_INEFFICIENT_LAST_INDEX_OF">IIO_INEFFICIENT_LAST_INDEX_OF</a>
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#CNT_ROUGH_CONSTANT_VALUE">CNT_ROUGH_CONSTANT_VALUE</a>
+                    </li>
+                    <li>New "Source" filter which can be used to filter out classes generated from other languages:
+                        <pre>
+                            &lt;?xml version="1.0" encoding="UTF-8"?&gt;
+                            &lt;FindBugsFilter&gt;
+                            &lt;Match&gt;
+                                &lt;Source name="~.*\.groovy" /&gt;
+                            &lt;/Match&gt;
+                            &lt;/FindBugsFilter&gt;
+                        </pre>
+                    </li>
+                    <li>New "-auxclasspathFromFile" and "-analyzeFromFile" command line options.
+                    </li>
+                    <li>New "nested" ant task attribute.
+                    </li>
 
 
-					</li>
-					<li>Fix false positives for <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#SF_SWITCH_NO_DEFAULT">SF_SWITCH_NO_DEFAULT</a>
-					<li>Inline access methods for private fields,
+               <!--
+                    <li>Fixed false positives for the following bug patterns (XXX occurrences in findbugsTestCases):
+                        <ul>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#XXX">XXX</a>
+                        </ul>
+                    </li>
+
+                    <li>Fixed false negatives for the following bug patterns (XXX occurrences in findbugsTestCases):
+                        <ul>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#XXX">XXX</a>
+                        </ul>
+                    </li>
+               -->
+
+                    <li>Various bug fixes, also many patches from community. Thanks for your contributions!
+                    </li>
+                </ul>
+
+
+                <h1>FindBugs Change Log, Version 2.0.3</h1>
+                <ul>
+                    <li>New Bug patterns: <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#DM_BOXED_PRIMITIVE_FOR_PARSING">DM_BOXED_PRIMITIVE_FOR_PARSING</a>,
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_METHOD_RETURN_RELAXING_ANNOTATION">NP_METHOD_RETURN_RELAXING_ANNOTATION</a>,
+                        and
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION">NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION</a>
+                    </li>
+                    <li>Add the ability in the GUI to save the currently viewable/filtered bugs to HTML output.
+                    <li>When dataflow does't terminate, make sure we continue with
+                        analysis.
+
+                    <li>Fix some problems that resulting in dataflow analysis not
+                        terminating
+
+                    <li>Get parameter annotations from default parameters
+                        annotations applied to the method.
+                    <li>Add subversion change number to eclipse plugin qualifier.
+
+                    <li>Disabled detector for <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#AM_CREATES_EMPTY_JAR_FILE_ENTRY">AM_CREATES_EMPTY_JAR_FILE_ENTRY</a>;
+                        it complaints inappropriately about code that creates directory
+                        entries.
+
+                    <li>Add warnings about incompatible types passed to
+                        org.testng.Assert.assertEquals</li>
+                    <li>Add logic that understands more of the Google Guava APIs.
+                    <li>Disable type qualifier validator execution within Eclipse plugin;
+                        too many problems with class loading and security manager (see #1154 Random obscure Eclipse failures)
+                    <li>Consistently check both access flags and attributes to see if something is synthetic. Compiler is
+                    inconsistent about where synthetic elements are marked.
+
+                <li>Fixed false positives for the following bug patterns (17
+                        occurrences in findbugsTestCases):
+                        <ul>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#BC">BC</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_IMPOSSIBLE_INSTANCEOF">BC_IMPOSSIBLE_INSTANCEOF</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_UNCONFIRMED_CAST">BC_UNCONFIRMED_CAST</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_UNRELATED_TYPES">EC_UNRELATED_TYPES</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE">INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#IS2_INCONSISTENT_SYNC">IS2_INCONSISTENT_SYNC</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS">NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#OBL_UNSATISFIED_OBLIGATION">OBL_UNSATISFIED_OBLIGATION</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE">RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#SA_FIELD_SELF_COMPARISON">SA_FIELD_SELF_COMPARISON</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED">TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED</a>
+                            </li>
+                        </ul>
+                    <li>Fixed false negatives for the following bug patterns (45
+                        occurrences in findbugsTestCases):
+                        <ul>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_UNCONFIRMED_CAST">BC_UNCONFIRMED_CAST</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#DM_NUMBER_CTOR">DM_NUMBER_CTOR</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_ARRAY_AND_NONARRAY">EC_ARRAY_AND_NONARRAY</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_INCOMPATIBLE_ARRAY_COMPARE">EC_INCOMPATIBLE_ARRAY_COMPARE</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_UNRELATED_TYPES">EC_UNRELATED_TYPES</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#GC_UNRELATED_TYPES">GC_UNRELATED_TYPES</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#IS_FIELD_NOT_GUARDED">IS_FIELD_NOT_GUARDED</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#IT_NO_SUCH_ELEMENT">IT_NO_SUCH_ELEMENT</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS">JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NULL_ON_SOME_PATH">NP_NULL_ON_SOME_PATH</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NONNULL_PARAM_VIOLATION">NP_NONNULL_PARAM_VIOLATION</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE">NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE">NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_STORE_INTO_NONNULL_FIELD">NP_STORE_INTO_NONNULL_FIELD</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#RE_POSSIBLE_UNINTENDED_PATTERN">RE_POSSIBLE_UNINTENDED_PATTERN</a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#SA_FIELD_SELF_COMPARISON">SA_FIELD_SELF_COMPARISON</a>
+                        </ul>
+                </ul>
+                <h1>FindBugs Change Log, Version 2.0.2</h1>
+
+                <ul>
+                    <li>Fix false positions for <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR</a>
+                        - fixing <a
+                        href="https://sourceforge.net/tracker/?func=detail&aid=3547559&group_id=96405&atid=614693">Bug3547559</a>,
+                        <a
+                        href="https://sourceforge.net/tracker/?func=detail&aid=3555408&group_id=96405&atid=614693">Bug3555408</a>,
+                        <a
+                        href="https://sourceforge.net/tracker/?func=detail&aid=3580266&group_id=96405&atid=614693">Bug3580266</a>
+                        and <a
+                        href="https://sourceforge.net/tracker/?func=detail&aid=3587164&group_id=96405&atid=614693">Bug3587164</a>.
+
+
+                    </li>
+                    <li>Fix false positives for <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#SF_SWITCH_NO_DEFAULT">SF_SWITCH_NO_DEFAULT</a>
+                    <li>Inline access methods for private fields,
                     fixing false positive in  <a
                         href="https://sourceforge.net/tracker/?func=detail&aid=3484713&group_id=96405&atid=614693">Bug3484713</a>.
-            
+
                     <li>Type qualifier annotations, including nullness
-						annotations, are now ignored on vararg parameters (including
-						default and inherited annotations), awaiting JSR308.
-					<li>Defined new bug pattern to give better explanations of
-						issues involving strict type qualifiers <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED">TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED</a>
-					<li>Adjusted analysis of type qualifiers, now giving warnings
-						where a computed value is used in a place where a value with a
-						strict type qualifier is required.
-					<li>Complain about missing classes only if they are
-						encountered while analyzing application classes; ignore missing
-						classes that are encounted while analyzing classes loaded from the
-						auxclasspath. Fix for <a
-						href="https://sourceforge.net/tracker/?func=detail&aid=3588379&group_id=96405&atid=614693">Bug3588379</a>
-					<li>Fixed false positive null pointer warning coming from
-						synthetic bridge methods, fixing <a
-						href="https://sourceforge.net/tracker/?func=detail&aid=3589328&group_id=96405&atid=614693">Bug3589328</a>
-					<li>In general, suppress warnings in synthetic methods.
-					<li>Fix some false positives involving <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#GC_UNRELATED_TYPES">GC_UNRELATED_TYPES</a>
-						on classes that extend generic collection classes.
-                       
-					</li>
-                    <li>Combine multiple identical warnings about 
+                        annotations, are now ignored on vararg parameters (including
+                        default and inherited annotations), awaiting JSR308.
+                    <li>Defined new bug pattern to give better explanations of
+                        issues involving strict type qualifiers <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED">TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED</a>
+                    <li>Adjusted analysis of type qualifiers, now giving warnings
+                        where a computed value is used in a place where a value with a
+                        strict type qualifier is required.
+                    <li>Complain about missing classes only if they are
+                        encountered while analyzing application classes; ignore missing
+                        classes that are encounted while analyzing classes loaded from the
+                        auxclasspath. Fix for <a
+                        href="https://sourceforge.net/tracker/?func=detail&aid=3588379&group_id=96405&atid=614693">Bug3588379</a>
+                    <li>Fixed false positive null pointer warning coming from
+                        synthetic bridge methods, fixing <a
+                        href="https://sourceforge.net/tracker/?func=detail&aid=3589328&group_id=96405&atid=614693">Bug3589328</a>
+                    <li>In general, suppress warnings in synthetic methods.
+                    <li>Fix some false positives involving <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#GC_UNRELATED_TYPES">GC_UNRELATED_TYPES</a>
+                        on classes that extend generic collection classes.
+
+                    </li>
+                    <li>Combine multiple identical warnings about
                      <a
                         href="http://findbugs.sourceforge.net/bugDescriptions.html#DM_DEFAULT_ENCODING">DM_DEFAULT_ENCODING</a>
                          that occur in the same method,
                     simplifying issue triage.
-                    
-					<li>Changes by Andrey Loskutov
-						<ul>
-							<li>fixed job scheduling errors in 3.8/4.2 Eclipse <a
-								href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=393748">bug
-									report</a>
-							<li>more realistic progress bar updates for jobs
-							<li>added nullness annotations for some common Eclipse API
-								methods known to usually return null values
-							<li>Added support for org.eclipse.jdt.annotation.Nullable,
-								NonNull and NonNullByDefault annotations (introduced with
-								Eclipse 3.8/4.2)</li>
-						</ul>
-					<li>Documentation improvements
-					<li><a href="http://code.google.com/p/findbugs/source/list">lots
-							of other small changes</a>
-				</ul>
-				<h1>FindBugs Change Log, Version 2.0.1</h1>
 
-				<ul>
-					<li>New bug patterns; in some cases, bugs previous reported as
-						other bug patterns are reported as instances of these new bug
-						patterns in order to make it easier for developers to understand
-						the bug reports
-						<ul>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#PT_ABSOLUTE_PATH_TRAVERSAL">PT_ABSOLUTE_PATH_TRAVERSAL</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#PT_RELATIVE_PATH_TRAVERSAL">PT_RELATIVE_PATH_TRAVERSAL</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#MS_SHOULD_BE_REFACTORED_TO_BE_FINAL">MS_SHOULD_BE_REFACTORED_TO_BE_FINAL</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_UNCONFIRMED_CAST_OF_RETURN_VALUE">BC_UNCONFIRMED_CAST_OF_RETURN_VALUE</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#PT_ABSOLUTE_PATH_TRAVERSAL">PT_ABSOLUTE_PATH_TRAVERSAL</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS">TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS</a></li>
-						</ul>
-					</li>
+                    <li>Changes by Andrey Loskutov
+                        <ul>
+                            <li>fixed job scheduling errors in 3.8/4.2 Eclipse <a
+                                href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=393748">bug
+                                    report</a>
+                            <li>more realistic progress bar updates for jobs
+                            <li>added nullness annotations for some common Eclipse API
+                                methods known to usually return null values
+                            <li>Added support for org.eclipse.jdt.annotation.Nullable,
+                                NonNull and NonNullByDefault annotations (introduced with
+                                Eclipse 3.8/4.2)</li>
+                        </ul>
+                    <li>Documentation improvements
+                    <li><a href="http://code.google.com/p/findbugs/source/list">lots
+                            of other small changes</a>
+                </ul>
+                <h1>FindBugs Change Log, Version 2.0.1</h1>
 
-					<li>Changes to fix false negatives for the following bug
-						patterns: <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_UNCONFIRMED_CAST">BC_UNCONFIRMED_CAST</a>,
-						<a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_BAD_ARRAY_COMPARE">EC_BAD_ARRAY_COMPARE</a>,
-						<a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#EQ_UNUSUAL">EQ_UNUSUAL</a>,
-						<a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#GC_UNRELATED_TYPES">GC_UNRELATED_TYPES</a>,
-						and <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE">NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE</a>.
-					</li>
+                <ul>
+                    <li>New bug patterns; in some cases, bugs previous reported as
+                        other bug patterns are reported as instances of these new bug
+                        patterns in order to make it easier for developers to understand
+                        the bug reports
+                        <ul>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#PT_ABSOLUTE_PATH_TRAVERSAL">PT_ABSOLUTE_PATH_TRAVERSAL</a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#PT_RELATIVE_PATH_TRAVERSAL">PT_RELATIVE_PATH_TRAVERSAL</a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR</a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#MS_SHOULD_BE_REFACTORED_TO_BE_FINAL">MS_SHOULD_BE_REFACTORED_TO_BE_FINAL</a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_UNCONFIRMED_CAST_OF_RETURN_VALUE">BC_UNCONFIRMED_CAST_OF_RETURN_VALUE</a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#PT_ABSOLUTE_PATH_TRAVERSAL">PT_ABSOLUTE_PATH_TRAVERSAL</a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS">TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS</a></li>
+                        </ul>
+                    </li>
 
-					<li>Changes to fix false positions for the following bug
-						patterns: <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#DMI_DOH">DMI_DOH</a>,
-						<a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_UNRELATED_TYPES">EC_UNRELATED_TYPES</a>,
-						and <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#SE_BAD_FIELD">SE_BAD_FIELD</a>.
-					</li>
-				</ul>
+                    <li>Changes to fix false negatives for the following bug
+                        patterns: <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_UNCONFIRMED_CAST">BC_UNCONFIRMED_CAST</a>,
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_BAD_ARRAY_COMPARE">EC_BAD_ARRAY_COMPARE</a>,
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#EQ_UNUSUAL">EQ_UNUSUAL</a>,
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#GC_UNRELATED_TYPES">GC_UNRELATED_TYPES</a>,
+                        and <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE">NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE</a>.
+                    </li>
 
-				<h1>FindBugs Change Log, Version 2.0.0</h1>
+                    <li>Changes to fix false positions for the following bug
+                        patterns: <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#DMI_DOH">DMI_DOH</a>,
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_UNRELATED_TYPES">EC_UNRELATED_TYPES</a>,
+                        and <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#SE_BAD_FIELD">SE_BAD_FIELD</a>.
+                    </li>
+                </ul>
 
-				<h2>Changes since version 1.3.8</h2>
-				<ul>
-					<li>New bug patterns; in some cases, bugs previous reported as
-						other bug patterns are reported as instances of these new bug
-						patterns in order to make it easier for developers to understand
-						the bug reports
-						<ul>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_IMPOSSIBLE_DOWNCAST ">BC_IMPOSSIBLE_DOWNCAST
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY ">BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_INCOMPATIBLE_ARRAY_COMPARE ">EC_INCOMPATIBLE_ARRAY_COMPARE
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#JLM_JSR166_UTILCONCURRENT_MONITORENTER ">JLM_JSR166_UTILCONCURRENT_MONITORENTER
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE ">LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_CLOSING_NULL ">NP_CLOSING_NULL
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#RC_REF_COMPARISON_BAD_PRACTICE ">RC_REF_COMPARISON_BAD_PRACTICE
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN ">RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED ">RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#SIC_THREADLOCAL_DEADLY_EMBRACE ">SIC_THREADLOCAL_DEADLY_EMBRACE
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR ">UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR
-							</a></li>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED ">VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED
-							</a></li>
-						</ul>
-					</li>
-					<li>Providing a bug rank (1-20), and the ability to filter by
-						bug rank. Eventually, it will be possible to specify your own
-						rules for ranking bugs, but the procedure for doing so hasn't been
-						specified yet.</li>
-					<li>Fixed about <a
-						href="https://sourceforge.net/search/index.php?group_id=96405&search_summary=1&search_details=1&type_of_search=artifact&group_artifact_id%5B%5D=614693&open_date_start=2009-03-16&open_date_end=2009-08-20&form_submit=Search">45
-							bugs filed</a> through SourceForge
-					</li>
-					<li>Various reclassifications and priority tweaks</li>
-					<li>Added more bug annotations to a variety of bug reports.
-						This provides more context for understanding bug reports (e.g., if
-						the value in question was is the return value of a method, the
-						method is described as the source of the value in a bug
-						annotation). This also provide more accurate tracking of issues
-						across versions of the code being analyzed, but has the downside
-						that when comparing results from FindBugs 1.3.8 and FindBugs 1.3.9
-						on the same version of code being analyzed, FindBugs may think
-						that mistakenly believe that the issue reported by 1.3.8 was fixed
-						and a new issue was introduced that was reported by FindBugs
-						1.3.9. While annoying, it would be unusual for more than a dozen
-						issues per million lines of codes to be mistracked.</li>
-					<li>Lots of internal changes moving towards FindBugs 2.0, but
-						these features are undocumented, not yet officially supported, and
-						subject to radical changes before FindBugs 2.0 is released.</li>
-				</ul>
+                <h1>FindBugs Change Log, Version 2.0.0</h1>
 
-				<p>Changes since version 1.3.8</p>
-				<ul>
-					<li>New bug patterns; in some cases, bugs previous reported as
-						other bug patterns are reported as instances of these new bug
-						patterns in order to make it easier for developers to understand
-						the bug reports
-						<ul>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_IMPOSSIBLE_DOWNCAST ">BC_IMPOSSIBLE_DOWNCAST
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY ">BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_INCOMPATIBLE_ARRAY_COMPARE ">EC_INCOMPATIBLE_ARRAY_COMPARE
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#JLM_JSR166_UTILCONCURRENT_MONITORENTER ">JLM_JSR166_UTILCONCURRENT_MONITORENTER
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE ">LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_CLOSING_NULL ">NP_CLOSING_NULL
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#RC_REF_COMPARISON_BAD_PRACTICE ">RC_REF_COMPARISON_BAD_PRACTICE
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN ">RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED ">RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#SIC_THREADLOCAL_DEADLY_EMBRACE ">SIC_THREADLOCAL_DEADLY_EMBRACE
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR ">UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR
-							</a>
-							<li><a
-								href="http://findbugs.sourceforge.net/bugDescriptions.html#VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED ">VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED
-							</a>
-						</ul>
-					</li>
-					<li>Providing a bug rank (1-20), and the ability to filter by
-						bug rank. Eventually, it will be possible to specify your own
-						rules for ranking bugs, but the procedure for doing so hasn't been
-						specified yet.</li>
-					<li>Fixed about <a
-						href="https://sourceforge.net/search/index.php?group_id=96405&search_summary=1&search_details=1&type_of_search=artifact&group_artifact_id%5B%5D=614693&open_date_start=2009-03-16&open_date_end=2009-08-20&form_submit=Search">45
-							bugs filed</a> through SourceForge
-					</li>
-					<li>Various reclassifications and priority tweaks</li>
-					<li>Added more bug annotations to a variety of bug reports.
-						This provides more context for understanding bug reports (e.g., if
-						the value in question was is the return value of a method, the
-						method is described as the source of the value in a bug
-						annotation). This also provide more accurate tracking of issues
-						across versions of the code being analyzed, but has the downside
-						that when comparing results from FindBugs 1.3.8 and FindBugs 1.3.9
-						on the same version of code being analyzed, FindBugs may think
-						that mistakenly believe that the issue reported by 1.3.8 was fixed
-						and a new issue was introduced that was reported by FindBugs
-						1.3.9. While annoying, it would be unusual for more than a dozen
-						issues per million lines of codes to be mistracked.</li>
-					<li>Lots of internal changes moving towards FindBugs 2.0, but
-						these features are undocumented, not yet officially supported, and
-						subject to radical changes before FindBugs 2.0 is released.</li>
-				</ul>
+                <h2>Changes since version 1.3.8</h2>
+                <ul>
+                    <li>New bug patterns; in some cases, bugs previous reported as
+                        other bug patterns are reported as instances of these new bug
+                        patterns in order to make it easier for developers to understand
+                        the bug reports
+                        <ul>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_IMPOSSIBLE_DOWNCAST ">BC_IMPOSSIBLE_DOWNCAST
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY ">BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_INCOMPATIBLE_ARRAY_COMPARE ">EC_INCOMPATIBLE_ARRAY_COMPARE
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#JLM_JSR166_UTILCONCURRENT_MONITORENTER ">JLM_JSR166_UTILCONCURRENT_MONITORENTER
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE ">LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_CLOSING_NULL ">NP_CLOSING_NULL
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#RC_REF_COMPARISON_BAD_PRACTICE ">RC_REF_COMPARISON_BAD_PRACTICE
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN ">RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED ">RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#SIC_THREADLOCAL_DEADLY_EMBRACE ">SIC_THREADLOCAL_DEADLY_EMBRACE
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR ">UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR
+                            </a></li>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED ">VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED
+                            </a></li>
+                        </ul>
+                    </li>
+                    <li>Providing a bug rank (1-20), and the ability to filter by
+                        bug rank. Eventually, it will be possible to specify your own
+                        rules for ranking bugs, but the procedure for doing so hasn't been
+                        specified yet.</li>
+                    <li>Fixed about <a
+                        href="https://sourceforge.net/search/index.php?group_id=96405&search_summary=1&search_details=1&type_of_search=artifact&group_artifact_id%5B%5D=614693&open_date_start=2009-03-16&open_date_end=2009-08-20&form_submit=Search">45
+                            bugs filed</a> through SourceForge
+                    </li>
+                    <li>Various reclassifications and priority tweaks</li>
+                    <li>Added more bug annotations to a variety of bug reports.
+                        This provides more context for understanding bug reports (e.g., if
+                        the value in question was is the return value of a method, the
+                        method is described as the source of the value in a bug
+                        annotation). This also provide more accurate tracking of issues
+                        across versions of the code being analyzed, but has the downside
+                        that when comparing results from FindBugs 1.3.8 and FindBugs 1.3.9
+                        on the same version of code being analyzed, FindBugs may think
+                        that mistakenly believe that the issue reported by 1.3.8 was fixed
+                        and a new issue was introduced that was reported by FindBugs
+                        1.3.9. While annoying, it would be unusual for more than a dozen
+                        issues per million lines of codes to be mistracked.</li>
+                    <li>Lots of internal changes moving towards FindBugs 2.0, but
+                        these features are undocumented, not yet officially supported, and
+                        subject to radical changes before FindBugs 2.0 is released.</li>
+                </ul>
 
-				<p>Changes since version 1.3.7</p>
-				<ul>
-					<li>Primarily another small bugfix release.</li>
-					<li>FindBugs base:
-						<ul>
-							<li>New Reports:
-								<ul>
-									<li>SF_SWITCH_NO_DEFAULT: missing default case in switch
-										statement.</li>
-									<li>SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW:
-										value ignored when switch fallthrough leads to thrown
-										exception.</li>
-									<li>INT_VACUOUS_BIT_OPERATION: bit operations that don't
-										do any meaningful work.</li>
-									<li>FB_UNEXPECTED_WARNING: warning generated that
-										conflicts with @NoWarning FindBugs annotation.</li>
-									<li>FB_MISSING_EXPECTED_WARNING: warning not generated
-										despite presence of @ExpectedWarning FindBugs annotation.</li>
-									<li>NOISE category: intended for use in data mining
-										experiments.
-										<ul>
-											<li>NOISE_NULL_DEREFERENCE: fake null point dereference
-												warning.</li>
-											<li>NOISE_METHOD_CALL: fake method call warning.</li>
-											<li>NOISE_FIELD_REFERENCE: fake field dereference
-												warning.</li>
-											<li>NOISE_OPERATION: fake operation warning.</li>
-										</ul>
-									</li>
-								</ul>
-							</li>
-							<li>Other:
-								<ul>
-									<li>Garvin Leclaire has created a new Apache Maven
-										repository for FindBugs at <a
-										href="http://code.google.com/p/findbugs/">the Google Code
-											FindBugs SVN repository</a>. (Thanks Garvin!)
-									</li>
-								</ul>
-							</li>
-							<li>Fixes:
-								<ul>
-									<li>[ 2317842 ] Highlighting broken in Windows</li>
-									<li>[ 2515908 ] check for oddness should track sign of
-										argument</li>
-									<li>[ 2487936 ] &quot;L B GC&quot; false pos cast from
-										Map.Entry.getKey() to Map.get()</li>
-									<li>[ 2528264 ] Ant tasks not compatible with Ant 1.7.1</li>
-									<li>[ 2539590 ] SF_SWITCH_FALLTHROUGH wrong message
-										reported</li>
-									<li>[ 2020066 ] Bug history displayed in fancy-hist.xsl is
-										incorrect</li>
-									<li>[ 2545098 ] Invalid character in analysis results file</li>
-									<li>[ 2492673 ] Plugin sites should specify &quot;requires
-										Eclipse 3.3 or newer&quot;</li>
-									<li>[ 2588044 ] a tiny typing error</li>
-									<li>[ 2589048 ] Documentation for convertXmlToText
-										insufficient</li>
-									<li>[ 2638739 ] NullPointerException when building</li>
-								</ul>
-							</li>
-							<li>Patches:
-								<ul>
-									<li>[ 2538184 ] Make BugCollection implement
-										Iterable&lt;BugInstance&gt; (thanks to Tomas Pollak)</li>
-									<li>[ 2249771 ] Add Maven2 Findbugs plugin link to the
-										Links page (thanks to Garvin Leclaire)</li>
-									<li>[ 2609526 ] Japanese manual update (thanks to K.
-										Hashimoto)</li>
-									<li>[ 2119482 ] CheckBcel checks for nonexistent classes
-										(thanks to Jerry James)</li>
-								</ul>
-							</li>
-						</ul>
-					</li>
-					<li>FindBugs Eclipse plugin:
-						<ul>
-							<li>Major feature enhancements (thanks to Andrey Loskutov).
-								See <a href="http://andrei.gmxhome.de/findbugs/index.html">this
-									overview</a> for more information.
-							</li>
-							<li>Major test improvements (thanks to Tomas Pollak).</li>
-							<li>Fixes:
-								<ul>
-									<li>[ 2532365 ] Compiler warning</li>
-									<li>[ 2522989 ] Fix filter files selection</li>
-									<li>[ 2504068 ] NullPointerException</li>
-									<li>[ 2640849 ] NPE in Eclipse plugin 1.3.7 and Eclipse
-										3.5 M5</li>
-								</ul>
-							</li>
-							<li>Patches:
-								<ul>
-									<li>[ 2143140 ] Unchecked conversion fixes for Eclipse
-										plugin (thanks to Jerry James)
-								</ul>
-							</li>
-						</ul>
-					</li>
-				</ul>
+                <p>Changes since version 1.3.8</p>
+                <ul>
+                    <li>New bug patterns; in some cases, bugs previous reported as
+                        other bug patterns are reported as instances of these new bug
+                        patterns in order to make it easier for developers to understand
+                        the bug reports
+                        <ul>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_IMPOSSIBLE_DOWNCAST ">BC_IMPOSSIBLE_DOWNCAST
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY ">BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#EC_INCOMPATIBLE_ARRAY_COMPARE ">EC_INCOMPATIBLE_ARRAY_COMPARE
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#JLM_JSR166_UTILCONCURRENT_MONITORENTER ">JLM_JSR166_UTILCONCURRENT_MONITORENTER
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE ">LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_CLOSING_NULL ">NP_CLOSING_NULL
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#RC_REF_COMPARISON_BAD_PRACTICE ">RC_REF_COMPARISON_BAD_PRACTICE
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN ">RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED ">RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#SIC_THREADLOCAL_DEADLY_EMBRACE ">SIC_THREADLOCAL_DEADLY_EMBRACE
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR ">UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR
+                            </a>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED ">VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED
+                            </a>
+                        </ul>
+                    </li>
+                    <li>Providing a bug rank (1-20), and the ability to filter by
+                        bug rank. Eventually, it will be possible to specify your own
+                        rules for ranking bugs, but the procedure for doing so hasn't been
+                        specified yet.</li>
+                    <li>Fixed about <a
+                        href="https://sourceforge.net/search/index.php?group_id=96405&search_summary=1&search_details=1&type_of_search=artifact&group_artifact_id%5B%5D=614693&open_date_start=2009-03-16&open_date_end=2009-08-20&form_submit=Search">45
+                            bugs filed</a> through SourceForge
+                    </li>
+                    <li>Various reclassifications and priority tweaks</li>
+                    <li>Added more bug annotations to a variety of bug reports.
+                        This provides more context for understanding bug reports (e.g., if
+                        the value in question was is the return value of a method, the
+                        method is described as the source of the value in a bug
+                        annotation). This also provide more accurate tracking of issues
+                        across versions of the code being analyzed, but has the downside
+                        that when comparing results from FindBugs 1.3.8 and FindBugs 1.3.9
+                        on the same version of code being analyzed, FindBugs may think
+                        that mistakenly believe that the issue reported by 1.3.8 was fixed
+                        and a new issue was introduced that was reported by FindBugs
+                        1.3.9. While annoying, it would be unusual for more than a dozen
+                        issues per million lines of codes to be mistracked.</li>
+                    <li>Lots of internal changes moving towards FindBugs 2.0, but
+                        these features are undocumented, not yet officially supported, and
+                        subject to radical changes before FindBugs 2.0 is released.</li>
+                </ul>
 
-				<p>Changes since version 1.3.6</p>
-				<ul>
-					<li>Overall, a small bugfix release.
-					<li>New detection of accidental vacuous/useless calls to
-						EasyMock methods, and of generic signatures that proclaim the use
-						of unhashable classes in ways that require that they be hashed.
-					<li>Eliminate some false positives where we were warning about
-						a useless call (e.g., comparing two incompatible types for
-						equality), but the only thing the code was doing with the result
-						was passing it to assertFalse.
-					<li>Japanese localization and manual by K.Hashimoto. (Thanks!)
-					
-					<li>Added -exclude and -outputDir command line options to
-						rejarForAnalysis
-					<li>Extended -adjustPriorities option to FindBugs analysis
-						textui so that you can modify the priorities of individual bug
-						patterns as well as visitors, and also completely suppress
-						individual bug patterns or visitors.
-						<ul>
-							<li>e.g., -adjustPriority
-								MS_SHOULD_BE_FINAL=suppress,MS_PKGPROTECT=suppress,EI_EXPOSE_REP=suppress,EI_EXPOSE_REP2=suppress,PZLA_PREFER_ZERO_LENGTH_ARRAYS=raise
-							
-						</ul>
-				</ul>
+                <p>Changes since version 1.3.7</p>
+                <ul>
+                    <li>Primarily another small bugfix release.</li>
+                    <li>FindBugs base:
+                        <ul>
+                            <li>New Reports:
+                                <ul>
+                                    <li>SF_SWITCH_NO_DEFAULT: missing default case in switch
+                                        statement.</li>
+                                    <li>SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW:
+                                        value ignored when switch fallthrough leads to thrown
+                                        exception.</li>
+                                    <li>INT_VACUOUS_BIT_OPERATION: bit operations that don't
+                                        do any meaningful work.</li>
+                                    <li>FB_UNEXPECTED_WARNING: warning generated that
+                                        conflicts with @NoWarning FindBugs annotation.</li>
+                                    <li>FB_MISSING_EXPECTED_WARNING: warning not generated
+                                        despite presence of @ExpectedWarning FindBugs annotation.</li>
+                                    <li>NOISE category: intended for use in data mining
+                                        experiments.
+                                        <ul>
+                                            <li>NOISE_NULL_DEREFERENCE: fake null point dereference
+                                                warning.</li>
+                                            <li>NOISE_METHOD_CALL: fake method call warning.</li>
+                                            <li>NOISE_FIELD_REFERENCE: fake field dereference
+                                                warning.</li>
+                                            <li>NOISE_OPERATION: fake operation warning.</li>
+                                        </ul>
+                                    </li>
+                                </ul>
+                            </li>
+                            <li>Other:
+                                <ul>
+                                    <li>Garvin Leclaire has created a new Apache Maven
+                                        repository for FindBugs at <a
+                                        href="http://code.google.com/p/findbugs/">the Google Code
+                                            FindBugs SVN repository</a>. (Thanks Garvin!)
+                                    </li>
+                                </ul>
+                            </li>
+                            <li>Fixes:
+                                <ul>
+                                    <li>[ 2317842 ] Highlighting broken in Windows</li>
+                                    <li>[ 2515908 ] check for oddness should track sign of
+                                        argument</li>
+                                    <li>[ 2487936 ] &quot;L B GC&quot; false pos cast from
+                                        Map.Entry.getKey() to Map.get()</li>
+                                    <li>[ 2528264 ] Ant tasks not compatible with Ant 1.7.1</li>
+                                    <li>[ 2539590 ] SF_SWITCH_FALLTHROUGH wrong message
+                                        reported</li>
+                                    <li>[ 2020066 ] Bug history displayed in fancy-hist.xsl is
+                                        incorrect</li>
+                                    <li>[ 2545098 ] Invalid character in analysis results file</li>
+                                    <li>[ 2492673 ] Plugin sites should specify &quot;requires
+                                        Eclipse 3.3 or newer&quot;</li>
+                                    <li>[ 2588044 ] a tiny typing error</li>
+                                    <li>[ 2589048 ] Documentation for convertXmlToText
+                                        insufficient</li>
+                                    <li>[ 2638739 ] NullPointerException when building</li>
+                                </ul>
+                            </li>
+                            <li>Patches:
+                                <ul>
+                                    <li>[ 2538184 ] Make BugCollection implement
+                                        Iterable&lt;BugInstance&gt; (thanks to Tomas Pollak)</li>
+                                    <li>[ 2249771 ] Add Maven2 Findbugs plugin link to the
+                                        Links page (thanks to Garvin Leclaire)</li>
+                                    <li>[ 2609526 ] Japanese manual update (thanks to K.
+                                        Hashimoto)</li>
+                                    <li>[ 2119482 ] CheckBcel checks for nonexistent classes
+                                        (thanks to Jerry James)</li>
+                                </ul>
+                            </li>
+                        </ul>
+                    </li>
+                    <li>FindBugs Eclipse plugin:
+                        <ul>
+                            <li>Major feature enhancements (thanks to Andrey Loskutov).
+                                See <a href="http://andrei.gmxhome.de/findbugs/index.html">this
+                                    overview</a> for more information.
+                            </li>
+                            <li>Major test improvements (thanks to Tomas Pollak).</li>
+                            <li>Fixes:
+                                <ul>
+                                    <li>[ 2532365 ] Compiler warning</li>
+                                    <li>[ 2522989 ] Fix filter files selection</li>
+                                    <li>[ 2504068 ] NullPointerException</li>
+                                    <li>[ 2640849 ] NPE in Eclipse plugin 1.3.7 and Eclipse
+                                        3.5 M5</li>
+                                </ul>
+                            </li>
+                            <li>Patches:
+                                <ul>
+                                    <li>[ 2143140 ] Unchecked conversion fixes for Eclipse
+                                        plugin (thanks to Jerry James)
+                                </ul>
+                            </li>
+                        </ul>
+                    </li>
+                </ul>
+
+                <p>Changes since version 1.3.6</p>
+                <ul>
+                    <li>Overall, a small bugfix release.
+                    <li>New detection of accidental vacuous/useless calls to
+                        EasyMock methods, and of generic signatures that proclaim the use
+                        of unhashable classes in ways that require that they be hashed.
+                    <li>Eliminate some false positives where we were warning about
+                        a useless call (e.g., comparing two incompatible types for
+                        equality), but the only thing the code was doing with the result
+                        was passing it to assertFalse.
+                    <li>Japanese localization and manual by K.Hashimoto. (Thanks!)
+
+                    <li>Added -exclude and -outputDir command line options to
+                        rejarForAnalysis
+                    <li>Extended -adjustPriorities option to FindBugs analysis
+                        textui so that you can modify the priorities of individual bug
+                        patterns as well as visitors, and also completely suppress
+                        individual bug patterns or visitors.
+                        <ul>
+                            <li>e.g., -adjustPriority
+                                MS_SHOULD_BE_FINAL=suppress,MS_PKGPROTECT=suppress,EI_EXPOSE_REP=suppress,EI_EXPOSE_REP2=suppress,PZLA_PREFER_ZERO_LENGTH_ARRAYS=raise
+
+                        </ul>
+                </ul>
 
 
-				<p>Changes since version 1.3.5</p>
-				<ul>
-					<li>Added fairly exhaustive static analysis of uses of format
-						strings, checking for missing or extra arguements, invalid format
-						specifiers, or mismatched format specifiers and arguments (e.g,
-						passing a String value for a %d format specifier). The logic for
-						doing so is derived from Sun's java.util.Formatter class, and
-						available separately from FindBugs as part of the <a
-						href="https://jformatstring.dev.java.net/">jFormatString</a>
-						project.
-					<li>More tuning of the unsatisfied obligation detector. Since
-						this detector is still rather noisy and an unfinished research
-						project, I've moved the generated issues to a new category:
-						EXPERIMENTAL.
-					<li>Added check for <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#BIT_ADD_OF_SIGNED_BYTE">BIT_ADD_OF_SIGNED_BYTE</a>;
-						similar to <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#BIT_IOR_OF_SIGNED_BYTE">BIT_IOR_OF_SIGNED_BYTE</a>,
-						except that addition is being used to combine shifted signed
-						bytes.
-					<li>Changed detection of EI_EXPOSE_REP2, so we only report it
-						if the value stored is guaranteed to be the same value that was
-						passed in as a parameter.
-					<li>Added <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS">EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS</a>,
-						a warning when an equals method checks to see if an operand is an
-						instance of a class not compatible with itself. For example, if
-						the Foo class checks to see if the argument is an instance of
-						String. This is either a questionable design decision or a coding
-						mistake.
-					<li>Added <a
-						href="http://findbugs.sourceforge.net/bugDescriptions.html#DMI_INVOKING_HASHCODE_ON_ARRAY">DMI_INVOKING_HASHCODE_ON_ARRAY</a>,
-						which checks for invoking <code>hashCode()</code> on an array,
-						which returns a hash code that ignores the contents of the array.
-					
-					<li>Added checks for using <code>x.removeAll(x)</code> to
-						rather than <code>x.clear()</code> to clear an array.
-					<li>Add checks for calls such as <code>x.contains(x)</code>, <code>x.remove(x)</code>
-						and <code>x.containsAll(x)</code>.
-					<li>Improvements to Eclipse plugin (thanks to Andrey
-						Loskutov):
-						<ul>
-							<li>Report separate markers for each occurrence of an issue
-								that appears multiple times in a method
-							<li>fine tuning for reported markers: add only one marker
-								for fields, add marker on right position
-							<li>link bugs selected in bug explorer view to the opened
-								editor and vice versa
-							<li>select bugs selected in editor ruler in the opened bug
-								explorer view
-							<li>consistent abbreviations used in both bug explorer and
-								bug details view
-							<li>added "Expand All" button to the bug explorer view
-							<li>added "Go Into/Go Up" buttons to the bug explorer view
-							<li>added "Copy to clipboard" menu/functionality to the
-								details view list widget
-							<li>fix for CNF exception if loading the backup solution for
-								broken browser widget
-						</ul>
-				</ul>
+                <p>Changes since version 1.3.5</p>
+                <ul>
+                    <li>Added fairly exhaustive static analysis of uses of format
+                        strings, checking for missing or extra arguements, invalid format
+                        specifiers, or mismatched format specifiers and arguments (e.g,
+                        passing a String value for a %d format specifier). The logic for
+                        doing so is derived from Sun's java.util.Formatter class, and
+                        available separately from FindBugs as part of the <a
+                        href="https://jformatstring.dev.java.net/">jFormatString</a>
+                        project.
+                    <li>More tuning of the unsatisfied obligation detector. Since
+                        this detector is still rather noisy and an unfinished research
+                        project, I've moved the generated issues to a new category:
+                        EXPERIMENTAL.
+                    <li>Added check for <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#BIT_ADD_OF_SIGNED_BYTE">BIT_ADD_OF_SIGNED_BYTE</a>;
+                        similar to <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#BIT_IOR_OF_SIGNED_BYTE">BIT_IOR_OF_SIGNED_BYTE</a>,
+                        except that addition is being used to combine shifted signed
+                        bytes.
+                    <li>Changed detection of EI_EXPOSE_REP2, so we only report it
+                        if the value stored is guaranteed to be the same value that was
+                        passed in as a parameter.
+                    <li>Added <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS">EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS</a>,
+                        a warning when an equals method checks to see if an operand is an
+                        instance of a class not compatible with itself. For example, if
+                        the Foo class checks to see if the argument is an instance of
+                        String. This is either a questionable design decision or a coding
+                        mistake.
+                    <li>Added <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#DMI_INVOKING_HASHCODE_ON_ARRAY">DMI_INVOKING_HASHCODE_ON_ARRAY</a>,
+                        which checks for invoking <code>hashCode()</code> on an array,
+                        which returns a hash code that ignores the contents of the array.
+
+                    <li>Added checks for using <code>x.removeAll(x)</code> to
+                        rather than <code>x.clear()</code> to clear an array.
+                    <li>Add checks for calls such as <code>x.contains(x)</code>, <code>x.remove(x)</code>
+                        and <code>x.containsAll(x)</code>.
+                    <li>Improvements to Eclipse plugin (thanks to Andrey
+                        Loskutov):
+                        <ul>
+                            <li>Report separate markers for each occurrence of an issue
+                                that appears multiple times in a method
+                            <li>fine tuning for reported markers: add only one marker
+                                for fields, add marker on right position
+                            <li>link bugs selected in bug explorer view to the opened
+                                editor and vice versa
+                            <li>select bugs selected in editor ruler in the opened bug
+                                explorer view
+                            <li>consistent abbreviations used in both bug explorer and
+                                bug details view
+                            <li>added "Expand All" button to the bug explorer view
+                            <li>added "Go Into/Go Up" buttons to the bug explorer view
+                            <li>added "Copy to clipboard" menu/functionality to the
+                                details view list widget
+                            <li>fix for CNF exception if loading the backup solution for
+                                broken browser widget
+                        </ul>
+                </ul>
 
 
 
-				<p>Changes since version 1.3.4</p>
-				<ul>
-					<li>Analysis about 15% faster
-					<li><a
-						href="http://sourceforge.net/tracker/?atid=614693&group_id=96405&func=browse&status=closed">38
-							bugs closed</a></li>
-					<li>New defect warnings:
-						<ul>
-							<li>calls to methods that always throw
-								UnsupportedOperationException (DMI_UNSUPPORTED_METHOD)
-							<li>repeated conditional tests (e.g., <code>if (x
-									&lt; 0 || x &lt; 0) ...</code>) (RpC_REPEATED_CONDITIONAL_TEST)
-							<li>Complete rewrite of detector for format string problems.
-								More accurate, finds more problems, generates more descriptive
-								reports, several different bug pattern
-								(VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED,
-								VA_FORMAT_STRING_ILLEGAL, VA_FORMAT_STRING_MISSING_ARGUMENT,
-								VA_FORMAT_STRING_BAD_ARGUMENT,
-								VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT)
-							<li>Fairly complete implementation of JSR-305 custom type
-								qualifier analysis (no support for custom validators yet).
-								(TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK
-								TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK
-								TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK)
-							<li>New detector for unsatisfied obligations such forgetting
-								to close a file (OBL_UNSATISFIED_OBLIGATION).
-							<li>Warning when a parameter is marked as nullable, but is
-								always dereferenced.
-								(NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE)
-							<lI>Separate warning for dereference the result of readLine
-								(NP_DEREFERENCE_OF_READLINE_VALUE)
-						</ul>
-					<li>When XML is generated with messages, the project stats now
-						include &lt;FileStat&gt; elements. For each source file, this
-						gives the path for the file, the total number of warnings for that
-						file, and a bugHash for the file. While the instanceHash for a bug
-						is intended to be version invariant (ignoring line numbers, etc),
-						the bugHash for a file is intended to reflect all the information
-						about the warnings in that file. The intended use case is that if
-						the bugHash for a file is the same in two analysis runs, then <em>nothing</em>
-						has changed about any of the warnings reported for that file
-						between the two analysis runs.
-					<li>More merging of similar issues within a method. For
-						example, if the result of readLine() is dereferences multiple
-						times within a method, it will be reported as a single warning
-						with occurrences at multiple source lines.
-				</ul>
-				<p>Changes since version 1.3.3</p>
+                <p>Changes since version 1.3.4</p>
+                <ul>
+                    <li>Analysis about 15% faster
+                    <li><a
+                        href="http://sourceforge.net/tracker/?atid=614693&group_id=96405&func=browse&status=closed">38
+                            bugs closed</a></li>
+                    <li>New defect warnings:
+                        <ul>
+                            <li>calls to methods that always throw
+                                UnsupportedOperationException (DMI_UNSUPPORTED_METHOD)
+                            <li>repeated conditional tests (e.g., <code>if (x
+                                    &lt; 0 || x &lt; 0) ...</code>) (RpC_REPEATED_CONDITIONAL_TEST)
+                            <li>Complete rewrite of detector for format string problems.
+                                More accurate, finds more problems, generates more descriptive
+                                reports, several different bug pattern
+                                (VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED,
+                                VA_FORMAT_STRING_ILLEGAL, VA_FORMAT_STRING_MISSING_ARGUMENT,
+                                VA_FORMAT_STRING_BAD_ARGUMENT,
+                                VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT)
+                            <li>Fairly complete implementation of JSR-305 custom type
+                                qualifier analysis (no support for custom validators yet).
+                                (TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK
+                                TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK
+                                TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK)
+                            <li>New detector for unsatisfied obligations such forgetting
+                                to close a file (OBL_UNSATISFIED_OBLIGATION).
+                            <li>Warning when a parameter is marked as nullable, but is
+                                always dereferenced.
+                                (NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE)
+                            <lI>Separate warning for dereference the result of readLine
+                                (NP_DEREFERENCE_OF_READLINE_VALUE)
+                        </ul>
+                    <li>When XML is generated with messages, the project stats now
+                        include &lt;FileStat&gt; elements. For each source file, this
+                        gives the path for the file, the total number of warnings for that
+                        file, and a bugHash for the file. While the instanceHash for a bug
+                        is intended to be version invariant (ignoring line numbers, etc),
+                        the bugHash for a file is intended to reflect all the information
+                        about the warnings in that file. The intended use case is that if
+                        the bugHash for a file is the same in two analysis runs, then <em>nothing</em>
+                        has changed about any of the warnings reported for that file
+                        between the two analysis runs.
+                    <li>More merging of similar issues within a method. For
+                        example, if the result of readLine() is dereferences multiple
+                        times within a method, it will be reported as a single warning
+                        with occurrences at multiple source lines.
+                </ul>
+                <p>Changes since version 1.3.3</p>
 
-				<ul>
-					<li>FindBugs base
-						<ul>
-							<li>New Reports:
-								<ul>
-									<li>EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC: equals method
-										overrides equals in superclass and may not be symmetric</li>
-									<li>EQ_ALWAYS_TRUE: equals method always returns true</li>
-									<li>EQ_ALWAYS_FALSE: equals method always returns false</li>
-									<li>EQ_COMPARING_CLASS_NAMES: equals method compares class
-										names rather than class objects</li>
-									<li>EQ_UNUSUAL: Unusual equals method</li>
-									<li>EQ_GETCLASS_AND_CLASS_CONSTANT: equals method fails
-										for subtypes</li>
-									<li>SE_READ_RESOLVE_IS_STATIC: The readResolve method must
-										not be declared as a static method.</li>
-									<li>SE_PRIVATE_READ_RESOLVE_NOT_INHERITED: private
-										readResolve method not inherited by subclasses</li>
-									<li>MSF_MUTABLE_SERVLET_FIELD: Mutable servlet field</li>
-									<li>XSS_REQUEST_PARAMETER_TO_SEND_ERROR: Servlet reflected
-										cross site scripting vulnerability</li>
-									<li>SKIPPED_CLASS_TOO_BIG: Class too big for analysis</li>
-								</ul>
-							</li>
-							<li>Other:
-								<ul>
-									<li>Value-number analysis now more space-efficient</li>
-									<li>Enhancements to reduce memory overhead when analyzing
-										very large classes</li>
-									<li>Now skips very large classes that would otherwise take
-										too much time and memory to analyze</li>
-									<li>Infrastructure for tracking effectively-constant/
-										effectively-final fields</li>
-									<li>Added more cweids</li>
-									<li>Enhanced taint tracking for taint-based detectors</li>
-									<li>Ignore doomed calls to equals if result is used as an
-										argument to assertFalse</li>
-									<li>EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC handles compareTo</li>
-									<li>Priority tweak for ICAST_INTEGER_MULTIPLY_CAST_TO_LONG
-										(only low priority if multiplying by 1000)</li>
-									<li>Improved tracking of fields across method calls</li>
-								</ul>
-							</li>
-							<li>Fixes:
-								<ul>
-									<li>[ 1941450 ] DLS_DEAD_LOCAL_STORE not reported</li>
-									<li>[ 1953323 ] Omitted break statement in
-										SynchronizeAndNullCheckField</li>
-									<li>[ 1942620 ] Source Directories selection dialog
-										interface confusion (partial)</li>
-									<li>[ 1948275 ] Unhelpful "Load of known null"</li>
-									<li>[ 1933922 ] MWM error in findbugs</li>
-									<li>[ 1934772 ] 1.3.3 appears to rely on JDK 1.6, JNLP
-										still specifies 1.5</li>
-									<li>[ 1933945 ] -loadbugs doesn't work</li>
-									<li>Fixed problems for class names starting with '$'</li>
-									<li>Fixed bugs and incomplete handling of annotations in
-										VersionInsensitiveBugComparator</li>
-								</ul>
-							</li>
-							<li>Patches:
-								<ul>
-									<li>[ 1955106 ] Javadoc fixes</li>
-									<li>[ 1951930 ] Superfluous import statements (thanks to
-										Jerry James)</li>
-									<li>[ 1951907 ] Missing @Deprecated annotations (thanks to
-										Jerry James)</li>
-									<li>[ 1951876 ] Infonode Docking Windows compile fix
-										(thanks to Jerry James)</li>
-									<li>[ 1936055 ] bugfix for findbugs.de.comment not working
-										(thanks to Peter Fokkinga)
-								</ul>
-							</li>
-						</ul>
-					<li>FindBugs BlueJ plugin
-						<ul>
-							<li>Updated to use FindBugs 1.3.4 (first new release since
-								1.1.3)</li>
-						</ul>
-					</li>
-				</ul>
+                <ul>
+                    <li>FindBugs base
+                        <ul>
+                            <li>New Reports:
+                                <ul>
+                                    <li>EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC: equals method
+                                        overrides equals in superclass and may not be symmetric</li>
+                                    <li>EQ_ALWAYS_TRUE: equals method always returns true</li>
+                                    <li>EQ_ALWAYS_FALSE: equals method always returns false</li>
+                                    <li>EQ_COMPARING_CLASS_NAMES: equals method compares class
+                                        names rather than class objects</li>
+                                    <li>EQ_UNUSUAL: Unusual equals method</li>
+                                    <li>EQ_GETCLASS_AND_CLASS_CONSTANT: equals method fails
+                                        for subtypes</li>
+                                    <li>SE_READ_RESOLVE_IS_STATIC: The readResolve method must
+                                        not be declared as a static method.</li>
+                                    <li>SE_PRIVATE_READ_RESOLVE_NOT_INHERITED: private
+                                        readResolve method not inherited by subclasses</li>
+                                    <li>MSF_MUTABLE_SERVLET_FIELD: Mutable servlet field</li>
+                                    <li>XSS_REQUEST_PARAMETER_TO_SEND_ERROR: Servlet reflected
+                                        cross site scripting vulnerability</li>
+                                    <li>SKIPPED_CLASS_TOO_BIG: Class too big for analysis</li>
+                                </ul>
+                            </li>
+                            <li>Other:
+                                <ul>
+                                    <li>Value-number analysis now more space-efficient</li>
+                                    <li>Enhancements to reduce memory overhead when analyzing
+                                        very large classes</li>
+                                    <li>Now skips very large classes that would otherwise take
+                                        too much time and memory to analyze</li>
+                                    <li>Infrastructure for tracking effectively-constant/
+                                        effectively-final fields</li>
+                                    <li>Added more cweids</li>
+                                    <li>Enhanced taint tracking for taint-based detectors</li>
+                                    <li>Ignore doomed calls to equals if result is used as an
+                                        argument to assertFalse</li>
+                                    <li>EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC handles compareTo</li>
+                                    <li>Priority tweak for ICAST_INTEGER_MULTIPLY_CAST_TO_LONG
+                                        (only low priority if multiplying by 1000)</li>
+                                    <li>Improved tracking of fields across method calls</li>
+                                </ul>
+                            </li>
+                            <li>Fixes:
+                                <ul>
+                                    <li>[ 1941450 ] DLS_DEAD_LOCAL_STORE not reported</li>
+                                    <li>[ 1953323 ] Omitted break statement in
+                                        SynchronizeAndNullCheckField</li>
+                                    <li>[ 1942620 ] Source Directories selection dialog
+                                        interface confusion (partial)</li>
+                                    <li>[ 1948275 ] Unhelpful "Load of known null"</li>
+                                    <li>[ 1933922 ] MWM error in findbugs</li>
+                                    <li>[ 1934772 ] 1.3.3 appears to rely on JDK 1.6, JNLP
+                                        still specifies 1.5</li>
+                                    <li>[ 1933945 ] -loadbugs doesn't work</li>
+                                    <li>Fixed problems for class names starting with '$'</li>
+                                    <li>Fixed bugs and incomplete handling of annotations in
+                                        VersionInsensitiveBugComparator</li>
+                                </ul>
+                            </li>
+                            <li>Patches:
+                                <ul>
+                                    <li>[ 1955106 ] Javadoc fixes</li>
+                                    <li>[ 1951930 ] Superfluous import statements (thanks to
+                                        Jerry James)</li>
+                                    <li>[ 1951907 ] Missing @Deprecated annotations (thanks to
+                                        Jerry James)</li>
+                                    <li>[ 1951876 ] Infonode Docking Windows compile fix
+                                        (thanks to Jerry James)</li>
+                                    <li>[ 1936055 ] bugfix for findbugs.de.comment not working
+                                        (thanks to Peter Fokkinga)
+                                </ul>
+                            </li>
+                        </ul>
+                    <li>FindBugs BlueJ plugin
+                        <ul>
+                            <li>Updated to use FindBugs 1.3.4 (first new release since
+                                1.1.3)</li>
+                        </ul>
+                    </li>
+                </ul>
 
-				<p>Changes since version 1.3.2</p>
+                <p>Changes since version 1.3.2</p>
 
-				<ul>
-					<li>FindBugs base
-						<ul>
-							<li>New Detectors:
-								<ul>
-									<li>FieldItemSummary: Produces summary information for
-										what is stored into fields</li>
-									<li>SynchronizeOnClassLiteralNotGetClass: Look for code
-										that synchronizes on the results of getClass rather than on
-										class literals</li>
-									<li>SynchronizingOnContentsOfFieldToProtectField: This
-										detector looks for code that seems to be synchronizing on a
-										field in order to guard updates of that field</li>
-								</ul>
-							</li>
-							<li>New BugCode:
-								<ul>
-									<li>HRS: HTTP Response splitting vulnerability</li>
-									<li>WL: Possible locking on wrong object</li>
-								</ul>
-							</li>
-							<li>New Reports:
-								<ul>
-									<li>DMI_CONSTANT_DB_PASSWORD: This code creates a database
-										connect using a hard coded, constant password</li>
-									<li>HRS_REQUEST_PARAMETER_TO_COOKIE: HTTP cookie formed
-										from untrusted input</li>
-									<li>HRS_REQUEST_PARAMETER_TO_HTTP_HEADER: HTTP parameter
-										directly written to HTTP header output</li>
-									<li>CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE: Class defines
-										clone() but doesn't implement Cloneable</li>
-									<li>DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE: Synchronization
-										on boxed primitive could lead to deadlock</li>
-									<li>DL_SYNCHRONIZATION_ON_BOOLEAN: Synchronization on
-										Boolean could lead to deadlock</li>
-									<li>ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD:
-										Synchronization on field in futile attempt to guard that field
-									</li>
-									<li>DLS_DEAD_LOCAL_STORE_IN_RETURN: Useless assignment in
-										return statement</li>
-									<li>WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL:
-										Synchronization on getClass rather than class literal</li>
-								</ul>
-							</li>
-							<li>Other:
-								<ul>
-									<li>Many enhancements to cross-site scripting detector and
-										its documentation</li>
-									<li>Enhanced switch fall through handling</li>
-									<li>Enhanced unread field handling (look for IF_ACMPEQ and
-										IF_ACMPNE)</li>
-									<li>Clarified documentation for @Nullable in manual</li>
-									<li>Fewer DeadLocalStore false positives</li>
-									<li>Fewer UnreadField false positives</li>
-									<li>Fewer StaticCalendarDetector false positives</li>
-									<li>Performance fix for slow file system IO e.g. Clearcase
-										repositories (thanks, Andrei!)</li>
-									<li>Other, general performance enhancements (thanks,
-										Andrei!)</li>
-									<li>Enhancements for using FindBugs scripts with MKS on
-										Windows (thanks, Kelly O'Hair!)</li>
-									<li>Noted in the manual that jsr305.jar must be present
-										for annotations to compile</li>
-									<li>Added and fine-tuned default-nullness annotations</li>
-									<li>More CWE IDs added</li>
-									<li>Check and warning for unexpected BCEL version in
-										classpath</li>
-								</ul>
-							</li>
-							<li>Fixes:
-								<ul>
-									<li>Bug fix to handling of local variable tables in BCEL</li>
-									<li>Refined documentation for
-										MTIA_SUSPECT_STRUTS_INSTANCE_FIELD</li>
-									<li>[ 1927295 ] NPE when called on project root</li>
-									<li>[ 1926405 ] Incorrect dead store warning</li>
-									<li>[ 1926409 ] Incorrect redundant nullcheck warning</li>
-									<li>[ 1926389 ] Wrong line number printed/highlighted in
-										bug</li>
-									<li>[ 1927040 ] typo in bug description</li>
-									<li>[ 1926263 ] Minor glitch in HTML output</li>
-									<li>[ 1926240 ] Minor error in standard options in manual</li>
-									<li>[ 1926236 ] Minor bug in installation section of
-										manual</li>
-									<li>[ 1925539 ] ZIP is default file system code base</li>
-									<li>[ 1894701 ] Livelock / memory leak in
-										ObjectTypeFactory (thanks, Andrei!)</li>
-									<li>[ 1867491 ] Doesn't reload annotations after code
-										changes in IDE (thanks, Andrei!)</li>
-									<li>[ 1921399 ] -project option not supported</li>
-									<li>[ 1913834 ] "Dead" store to variable with method call</li>
-									<li>[ 1917352 ] H B se:...field in serializable class</li>
-									<li>[ 1911617 ] CloneIdiom relies on
-										getNameConstantOperand for INSTANCEOF</li>
-									<li>[ 1911620 ] False +: DLS predecrement before return</li>
-									<li>[ 1871376 ] False negative: non-serializable Map field</li>
-									<li>[ 1871051 ] non standard clone() method</li>
-									<li>[ 1908854 ] Error in TestASM</li>
-									<li>[ 1907539 ] 22 minor errors in bug checker
-										documentation</li>
-									<li>[ 1897323 ] EJB implementation class false positives</li>
-									<li>[ 1899648 ] Crash on startup on Vista with Java
-										1.6.0_04</li>
-								</ul>
-							</li>
-						</ul>
-					</li>
-					<li>FindBugs Eclipse plugin (change log by Andrey Loskutov)
-						<ul>
-							<li>new feature: export basic FindBugs numbers for projects
-								via File-&gt;Export-&gt;Java-&gt;BugCounts (Andrey Loskutov)</li>
-							<li>new feature: jobs for different projects will be run in
-								parallel per default if running on a multi-core PC
-								("fb.allowParallelBuild" system property not used anymore)
-								(Andrey Loskutov)</li>
-							<li>fixed performance slowdown in the multi-threaded build,
-								caused by workspace operation locks during assigning marker
-								attributes (Andrey Loskutov)</li>
-						</ul>
-					</li>
-				</ul>
+                <ul>
+                    <li>FindBugs base
+                        <ul>
+                            <li>New Detectors:
+                                <ul>
+                                    <li>FieldItemSummary: Produces summary information for
+                                        what is stored into fields</li>
+                                    <li>SynchronizeOnClassLiteralNotGetClass: Look for code
+                                        that synchronizes on the results of getClass rather than on
+                                        class literals</li>
+                                    <li>SynchronizingOnContentsOfFieldToProtectField: This
+                                        detector looks for code that seems to be synchronizing on a
+                                        field in order to guard updates of that field</li>
+                                </ul>
+                            </li>
+                            <li>New BugCode:
+                                <ul>
+                                    <li>HRS: HTTP Response splitting vulnerability</li>
+                                    <li>WL: Possible locking on wrong object</li>
+                                </ul>
+                            </li>
+                            <li>New Reports:
+                                <ul>
+                                    <li>DMI_CONSTANT_DB_PASSWORD: This code creates a database
+                                        connect using a hard coded, constant password</li>
+                                    <li>HRS_REQUEST_PARAMETER_TO_COOKIE: HTTP cookie formed
+                                        from untrusted input</li>
+                                    <li>HRS_REQUEST_PARAMETER_TO_HTTP_HEADER: HTTP parameter
+                                        directly written to HTTP header output</li>
+                                    <li>CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE: Class defines
+                                        clone() but doesn't implement Cloneable</li>
+                                    <li>DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE: Synchronization
+                                        on boxed primitive could lead to deadlock</li>
+                                    <li>DL_SYNCHRONIZATION_ON_BOOLEAN: Synchronization on
+                                        Boolean could lead to deadlock</li>
+                                    <li>ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD:
+                                        Synchronization on field in futile attempt to guard that field
+                                    </li>
+                                    <li>DLS_DEAD_LOCAL_STORE_IN_RETURN: Useless assignment in
+                                        return statement</li>
+                                    <li>WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL:
+                                        Synchronization on getClass rather than class literal</li>
+                                </ul>
+                            </li>
+                            <li>Other:
+                                <ul>
+                                    <li>Many enhancements to cross-site scripting detector and
+                                        its documentation</li>
+                                    <li>Enhanced switch fall through handling</li>
+                                    <li>Enhanced unread field handling (look for IF_ACMPEQ and
+                                        IF_ACMPNE)</li>
+                                    <li>Clarified documentation for @Nullable in manual</li>
+                                    <li>Fewer DeadLocalStore false positives</li>
+                                    <li>Fewer UnreadField false positives</li>
+                                    <li>Fewer StaticCalendarDetector false positives</li>
+                                    <li>Performance fix for slow file system IO e.g. Clearcase
+                                        repositories (thanks, Andrei!)</li>
+                                    <li>Other, general performance enhancements (thanks,
+                                        Andrei!)</li>
+                                    <li>Enhancements for using FindBugs scripts with MKS on
+                                        Windows (thanks, Kelly O'Hair!)</li>
+                                    <li>Noted in the manual that jsr305.jar must be present
+                                        for annotations to compile</li>
+                                    <li>Added and fine-tuned default-nullness annotations</li>
+                                    <li>More CWE IDs added</li>
+                                    <li>Check and warning for unexpected BCEL version in
+                                        classpath</li>
+                                </ul>
+                            </li>
+                            <li>Fixes:
+                                <ul>
+                                    <li>Bug fix to handling of local variable tables in BCEL</li>
+                                    <li>Refined documentation for
+                                        MTIA_SUSPECT_STRUTS_INSTANCE_FIELD</li>
+                                    <li>[ 1927295 ] NPE when called on project root</li>
+                                    <li>[ 1926405 ] Incorrect dead store warning</li>
+                                    <li>[ 1926409 ] Incorrect redundant nullcheck warning</li>
+                                    <li>[ 1926389 ] Wrong line number printed/highlighted in
+                                        bug</li>
+                                    <li>[ 1927040 ] typo in bug description</li>
+                                    <li>[ 1926263 ] Minor glitch in HTML output</li>
+                                    <li>[ 1926240 ] Minor error in standard options in manual</li>
+                                    <li>[ 1926236 ] Minor bug in installation section of
+                                        manual</li>
+                                    <li>[ 1925539 ] ZIP is default file system code base</li>
+                                    <li>[ 1894701 ] Livelock / memory leak in
+                                        ObjectTypeFactory (thanks, Andrei!)</li>
+                                    <li>[ 1867491 ] Doesn't reload annotations after code
+                                        changes in IDE (thanks, Andrei!)</li>
+                                    <li>[ 1921399 ] -project option not supported</li>
+                                    <li>[ 1913834 ] "Dead" store to variable with method call</li>
+                                    <li>[ 1917352 ] H B se:...field in serializable class</li>
+                                    <li>[ 1911617 ] CloneIdiom relies on
+                                        getNameConstantOperand for INSTANCEOF</li>
+                                    <li>[ 1911620 ] False +: DLS predecrement before return</li>
+                                    <li>[ 1871376 ] False negative: non-serializable Map field</li>
+                                    <li>[ 1871051 ] non standard clone() method</li>
+                                    <li>[ 1908854 ] Error in TestASM</li>
+                                    <li>[ 1907539 ] 22 minor errors in bug checker
+                                        documentation</li>
+                                    <li>[ 1897323 ] EJB implementation class false positives</li>
+                                    <li>[ 1899648 ] Crash on startup on Vista with Java
+                                        1.6.0_04</li>
+                                </ul>
+                            </li>
+                        </ul>
+                    </li>
+                    <li>FindBugs Eclipse plugin (change log by Andrey Loskutov)
+                        <ul>
+                            <li>new feature: export basic FindBugs numbers for projects
+                                via File-&gt;Export-&gt;Java-&gt;BugCounts (Andrey Loskutov)</li>
+                            <li>new feature: jobs for different projects will be run in
+                                parallel per default if running on a multi-core PC
+                                ("fb.allowParallelBuild" system property not used anymore)
+                                (Andrey Loskutov)</li>
+                            <li>fixed performance slowdown in the multi-threaded build,
+                                caused by workspace operation locks during assigning marker
+                                attributes (Andrey Loskutov)</li>
+                        </ul>
+                    </li>
+                </ul>
 
-				<p>Changes since version 1.3.1</p>
+                <p>Changes since version 1.3.1</p>
 
-				<ul>
-					<li>FindBugs base
-						<ul>
-							<li>New Bug Category:
-								<ul>
-									<li>SECURITY (Abbrev: S), A use of untrusted input in a
-										way that could create a remotely exploitable security
-										vulnerability</li>
-								</ul>
-							</li>
-							<li>New Detectors:
-								<ul>
-									<li>CrossSiteScripting: This detector looks for
-										obvious/blatant cases of cross site scripting vulnerabilities</li>
-								</ul>
-							</li>
-							<li>New BugCode:
-								<ul>
-									<li>XSS: Cross site scripting</li>
-								</ul>
-							</li>
-							<li>New Reports:
-								<ul>
-									<li>XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER: HTTP
-										parameter directly written to Servlet output, giving XSS
-										vulnerability</li>
-									<li>XSS_REQUEST_PARAMETER_TO_JSP_WRITER: HTTP parameter
-										directly written to JSP output, giving XSS vulnerability</li>
-									<li>EQ_OTHER_USE_OBJECT: equals() method defined that
-										doesn't override Object.equals(Object)</li>
-									<li>EQ_OTHER_NO_OBJECT: equals() method inherits rather
-										than overrides equals(Object)</li>
-									<li>NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE: Possible
-										null pointer dereference on path that might be infeasible</li>
-								</ul>
-							</li>
-							<li>Other:
-								<ul>
-									<li>Added -noClassOk command-line parameter to
-										command-line and ant interfaces; when -noClassOk is specified
-										and no classfiles are given, FindBugs will print a warning
-										message and output a well- formed file with no warnings</li>
-									<li>Fewer false positives for null pointer bugs</li>
-									<li>Suppress dead-local-store false positives in .jsp code</li>
-									<li>Type fixes in warning messages</li>
-									<li>Better warning message for NP_NULL_ON_SOME_PATH</li>
-									<li>"WMI" bug code description renamed from "Wrong Map
-										Iterator" to "Inefficient Map Iterator"</li>
-								</ul>
-							</li>
-							<li>Fixes:
-								<ul>
-									<li>[ 1893048 ] FindBugs confused by a findbugs.xml file</li>
-									<li>[ 1878528 ] XSL xforms don't support history features</li>
-									<li>[ 1876584 ] two default.xsl flaws</li>
-									<li>[ 1874856 ] Format string bug detector doesn't handle
-										special operators</li>
-									<li>[ 1872645 ] computeBugHistory -
-										java.lang.IllegalArgumentException</li>
-									<li>[ 1872237 ] Ant task fails when no .class files</li>
-									<li>[ 1868670 ] Filters: include AND exclude don't allowed</li>
-									<li>[ 1868666 ] check-for-oddness reported, but array
-										length can never be negative</li>
-									<li>[ 1866108 ] SetBugDatabaseInfoTask strips dir from
-										output filename</li>
-									<li>[ 1866021 ] MineBugHistoryTask strips dir of output
-										filename</li>
-									<li>[ 1865265 ] code doesn't handle
-										StringBuffer.append([CII) right</li>
-									<li>[ 1864793 ] Warning when casting a null reference
-										compared to a String</li>
-									<li>[ 1863376 ] Typo in manual chap 8: Filter Files</li>
-									<li>[ 1862705 ] Transient fields that default to null</li>
-									<li>[ 1842545 ] DLS on catch variable (with priority
-										tweaking)</li>
-									<li>[ 1816258 ] false positive BC_IMPOSSIBLE_CAST</li>
-									<li>[ 1551732 ] Get erroneous DLS with while loop</li>
-								</ul>
-							</li>
-						</ul>
-					</li>
-					<li>FindBugs Eclipse plugin (change log by Andrey Loskutov)
-						<ul>
-							<li>new feature: added Bug explorer view (replacing Bug tree
-								view), based on Common Navigator framework (Andrey Loskutov)</li>
-							<li>bug 1873860 fixed: empty projects are no longer shown in
-								Bug tree view (Andrey Loskutov)</li>
-							<li>new feature: bug counts decorators for projects, folders
-								and files (has to be activated via Preferences -&gt; general
-								-&gt; appearance -&gt; label decorations)(Andrey Loskutov)</li>
-							<li>patch 1746499: better icons (Alessandro Nistico)</li>
-							<li>patch 1893685: Find bug actions on change sets bug
-								(Alessandro Nistico)</li>
-							<li>fixed bug 1855384: Bug configuration is broken in
-								Eclipse (Andrey Loskutov)</li>
-							<li>refactored FindBugs properties page (Andrey Loskutov)</li>
-							<li>refactored FindBugs worker/builder/run action (Andrey
-								Loskutov)</li>
-							<li>FB detects now only bugs from classes on project's
-								classpath (no double work on duplicated class files) (Andrey
-								Loskutov)</li>
-							<li>fixed bug introduced by the bad patch for 1867951: FB
-								cannot be executed incrementally on a folder of file (Andrey
-								Loskutov)</li>
-							<li>fixed job rule: now jobs for different projects may run
-								in parallel if running on a multi-core PC and
-								"fb.allowParallelBuild" system property is set to true (Andrey
-								Loskutov)</li>
-							<li>fixed FB auto-build not started if .fbprefs or
-								.classpath was changed (Andrey Loskutov)</li>
-							<li>fixed not reporting bugs on secondary types (classes
-								defined in java files with different name) (Andrey Loskutov)</li>
-						</ul>
-					</li>
-				</ul>
+                <ul>
+                    <li>FindBugs base
+                        <ul>
+                            <li>New Bug Category:
+                                <ul>
+                                    <li>SECURITY (Abbrev: S), A use of untrusted input in a
+                                        way that could create a remotely exploitable security
+                                        vulnerability</li>
+                                </ul>
+                            </li>
+                            <li>New Detectors:
+                                <ul>
+                                    <li>CrossSiteScripting: This detector looks for
+                                        obvious/blatant cases of cross site scripting vulnerabilities</li>
+                                </ul>
+                            </li>
+                            <li>New BugCode:
+                                <ul>
+                                    <li>XSS: Cross site scripting</li>
+                                </ul>
+                            </li>
+                            <li>New Reports:
+                                <ul>
+                                    <li>XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER: HTTP
+                                        parameter directly written to Servlet output, giving XSS
+                                        vulnerability</li>
+                                    <li>XSS_REQUEST_PARAMETER_TO_JSP_WRITER: HTTP parameter
+                                        directly written to JSP output, giving XSS vulnerability</li>
+                                    <li>EQ_OTHER_USE_OBJECT: equals() method defined that
+                                        doesn't override Object.equals(Object)</li>
+                                    <li>EQ_OTHER_NO_OBJECT: equals() method inherits rather
+                                        than overrides equals(Object)</li>
+                                    <li>NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE: Possible
+                                        null pointer dereference on path that might be infeasible</li>
+                                </ul>
+                            </li>
+                            <li>Other:
+                                <ul>
+                                    <li>Added -noClassOk command-line parameter to
+                                        command-line and ant interfaces; when -noClassOk is specified
+                                        and no classfiles are given, FindBugs will print a warning
+                                        message and output a well- formed file with no warnings</li>
+                                    <li>Fewer false positives for null pointer bugs</li>
+                                    <li>Suppress dead-local-store false positives in .jsp code</li>
+                                    <li>Type fixes in warning messages</li>
+                                    <li>Better warning message for NP_NULL_ON_SOME_PATH</li>
+                                    <li>"WMI" bug code description renamed from "Wrong Map
+                                        Iterator" to "Inefficient Map Iterator"</li>
+                                </ul>
+                            </li>
+                            <li>Fixes:
+                                <ul>
+                                    <li>[ 1893048 ] FindBugs confused by a findbugs.xml file</li>
+                                    <li>[ 1878528 ] XSL xforms don't support history features</li>
+                                    <li>[ 1876584 ] two default.xsl flaws</li>
+                                    <li>[ 1874856 ] Format string bug detector doesn't handle
+                                        special operators</li>
+                                    <li>[ 1872645 ] computeBugHistory -
+                                        java.lang.IllegalArgumentException</li>
+                                    <li>[ 1872237 ] Ant task fails when no .class files</li>
+                                    <li>[ 1868670 ] Filters: include AND exclude don't allowed</li>
+                                    <li>[ 1868666 ] check-for-oddness reported, but array
+                                        length can never be negative</li>
+                                    <li>[ 1866108 ] SetBugDatabaseInfoTask strips dir from
+                                        output filename</li>
+                                    <li>[ 1866021 ] MineBugHistoryTask strips dir of output
+                                        filename</li>
+                                    <li>[ 1865265 ] code doesn't handle
+                                        StringBuffer.append([CII) right</li>
+                                    <li>[ 1864793 ] Warning when casting a null reference
+                                        compared to a String</li>
+                                    <li>[ 1863376 ] Typo in manual chap 8: Filter Files</li>
+                                    <li>[ 1862705 ] Transient fields that default to null</li>
+                                    <li>[ 1842545 ] DLS on catch variable (with priority
+                                        tweaking)</li>
+                                    <li>[ 1816258 ] false positive BC_IMPOSSIBLE_CAST</li>
+                                    <li>[ 1551732 ] Get erroneous DLS with while loop</li>
+                                </ul>
+                            </li>
+                        </ul>
+                    </li>
+                    <li>FindBugs Eclipse plugin (change log by Andrey Loskutov)
+                        <ul>
+                            <li>new feature: added Bug explorer view (replacing Bug tree
+                                view), based on Common Navigator framework (Andrey Loskutov)</li>
+                            <li>bug 1873860 fixed: empty projects are no longer shown in
+                                Bug tree view (Andrey Loskutov)</li>
+                            <li>new feature: bug counts decorators for projects, folders
+                                and files (has to be activated via Preferences -&gt; general
+                                -&gt; appearance -&gt; label decorations)(Andrey Loskutov)</li>
+                            <li>patch 1746499: better icons (Alessandro Nistico)</li>
+                            <li>patch 1893685: Find bug actions on change sets bug
+                                (Alessandro Nistico)</li>
+                            <li>fixed bug 1855384: Bug configuration is broken in
+                                Eclipse (Andrey Loskutov)</li>
+                            <li>refactored FindBugs properties page (Andrey Loskutov)</li>
+                            <li>refactored FindBugs worker/builder/run action (Andrey
+                                Loskutov)</li>
+                            <li>FB detects now only bugs from classes on project's
+                                classpath (no double work on duplicated class files) (Andrey
+                                Loskutov)</li>
+                            <li>fixed bug introduced by the bad patch for 1867951: FB
+                                cannot be executed incrementally on a folder of file (Andrey
+                                Loskutov)</li>
+                            <li>fixed job rule: now jobs for different projects may run
+                                in parallel if running on a multi-core PC and
+                                "fb.allowParallelBuild" system property is set to true (Andrey
+                                Loskutov)</li>
+                            <li>fixed FB auto-build not started if .fbprefs or
+                                .classpath was changed (Andrey Loskutov)</li>
+                            <li>fixed not reporting bugs on secondary types (classes
+                                defined in java files with different name) (Andrey Loskutov)</li>
+                        </ul>
+                    </li>
+                </ul>
 
-				<p>Changes since version 1.3.0</p>
-				<ul>
-					<li>New Reports
-						<ul>
-							<li>VA_FORMAT_STRING_ARG_MISMATCH: A format-string method
-								with a variable number of arguments is called, but the number of
-								arguments passed does not match with the number of %
-								placeholders in the format string. This is probably not what the
-								author intended.
-							<li>IO_APPENDING_TO_OBJECT_OUTPUT_STREAM: This code opens a
-								file in append mode and that wraps the result in an object
-								output stream. This won't allow you to append to an existing
-								object output stream stored in a file. If you want to be able to
-								append to an object output stream, you need to keep the object
-								output stream open. The only situation in which opening a file
-								in append mode and the writing an object output stream could
-								work is if on reading the file you plan to open it in random
-								access mode and seek to the byte offset where the append
-								started.
-							<li>NP_BOOLEAN_RETURN_NULL: A method that returns either
-								Boolean.TRUE, Boolean.FALSE or null is an accident waiting to
-								happen. This method can be invoked as though it returned a value
-								of type boolean, and the compiler will insert automatic unboxing
-								of the Boolean value. If a null value is returned, this will
-								result in a NullPointerException.
-						</ul>
-					</li>
-					<li>Changes to Existing Reports
-						<ul>
-							<li>RV_DONT_JUST_NULL_CHECK_READLINE: CORRECTNESS -&gt;
-								STYLE</li>
-							<li>DMI_INVOKING_TOSTRING_ON_ARRAY: Long description
-								mentions array name whenever possible</li>
-						</ul>
-					</li>
-					<li>Fixes:
-						<ul>
-							<li>Updated manual to mention that Java 1.5 is now a
-								requirement for running FindBugs
-							<li>Applied patch 1840206 fixing issue "Ant task does not
-								work when presetdef is used" - thanks to phejl
-							<li>Applied patch 1778690 fixing issue "Ant task: tolerate
-								but complain about invalid auxClasspath" - thanks to David
-								Schmidt
-							<li>Applied patch 1852125 adding a Chinese-language GUI
-								bundle props file - thanks to fifi
-							<li>Applied patch 1845903 adding ability to load XML results
-								with the Eclipse plugin - thanks to Alex Mont
-							<li>Fixed issue 1844671 - "FP for "reversed" null check in
-								catch for stream close"
-							<li>Fixed issue 1836050 - "-onlyAnalyze broken"
-							<li>Fixed issue 1853011 - "Typo: Field names should start
-								with aN lower case letter"
-							<li>Fixed issue 1844181 - "JNLP file does not contain all
-								necessary JARs"
-							<li>Fixed issue 1840245 - "xxxException class does not
-								derive from Exception"
-							<li>Fixed issue 1840277 - "[M D EC] Typo in bug
-								documentation"
-							<li>Fixed issue 1782447 - "OutOfMemoryError if i activate
-								Findbugs on my project"
-							<li>Fixed issue 1830576 - "[regression] keySet/entrySet
-								false positive"
-						</ul>
-					</li>
-					<li>Other:
-						<ul>
-							<li>New bug code: "IO" (for
-								IO_APPENDING_TO_OBJECT_OUTPUT_STREAM)</li>
-							<li>Added "-onlyMostRecent" option for computeBugHistory
-								script/ant task
-							<li>More explicit language in
-								RV_RETURN_VALUE_IGNORED_BAD_PRACTICE messages
-							<li>Modified ResourceValueAnalysis to correctly identify
-								null == X or null != X as a null check (for issue 1844671)
-							<li>Modified DMI_HARDCODED_ABSOLUTE_FILENAME logic in
-								DumbMethodInvocations to ignore files from /etc or /dev and
-								increase priority of files from /home
-							<li>Better bug details for infinite loop warnings
-							<li>Modified unread-fields detector to reduce false
-								positives from reflective fields
-							<li>build.xml "classes" target now builds all sources in one
-								step
-						</ul>
-					</li>
-				</ul>
+                <p>Changes since version 1.3.0</p>
+                <ul>
+                    <li>New Reports
+                        <ul>
+                            <li>VA_FORMAT_STRING_ARG_MISMATCH: A format-string method
+                                with a variable number of arguments is called, but the number of
+                                arguments passed does not match with the number of %
+                                placeholders in the format string. This is probably not what the
+                                author intended.
+                            <li>IO_APPENDING_TO_OBJECT_OUTPUT_STREAM: This code opens a
+                                file in append mode and that wraps the result in an object
+                                output stream. This won't allow you to append to an existing
+                                object output stream stored in a file. If you want to be able to
+                                append to an object output stream, you need to keep the object
+                                output stream open. The only situation in which opening a file
+                                in append mode and the writing an object output stream could
+                                work is if on reading the file you plan to open it in random
+                                access mode and seek to the byte offset where the append
+                                started.
+                            <li>NP_BOOLEAN_RETURN_NULL: A method that returns either
+                                Boolean.TRUE, Boolean.FALSE or null is an accident waiting to
+                                happen. This method can be invoked as though it returned a value
+                                of type boolean, and the compiler will insert automatic unboxing
+                                of the Boolean value. If a null value is returned, this will
+                                result in a NullPointerException.
+                        </ul>
+                    </li>
+                    <li>Changes to Existing Reports
+                        <ul>
+                            <li>RV_DONT_JUST_NULL_CHECK_READLINE: CORRECTNESS -&gt;
+                                STYLE</li>
+                            <li>DMI_INVOKING_TOSTRING_ON_ARRAY: Long description
+                                mentions array name whenever possible</li>
+                        </ul>
+                    </li>
+                    <li>Fixes:
+                        <ul>
+                            <li>Updated manual to mention that Java 1.5 is now a
+                                requirement for running FindBugs
+                            <li>Applied patch 1840206 fixing issue "Ant task does not
+                                work when presetdef is used" - thanks to phejl
+                            <li>Applied patch 1778690 fixing issue "Ant task: tolerate
+                                but complain about invalid auxClasspath" - thanks to David
+                                Schmidt
+                            <li>Applied patch 1852125 adding a Chinese-language GUI
+                                bundle props file - thanks to fifi
+                            <li>Applied patch 1845903 adding ability to load XML results
+                                with the Eclipse plugin - thanks to Alex Mont
+                            <li>Fixed issue 1844671 - "FP for "reversed" null check in
+                                catch for stream close"
+                            <li>Fixed issue 1836050 - "-onlyAnalyze broken"
+                            <li>Fixed issue 1853011 - "Typo: Field names should start
+                                with aN lower case letter"
+                            <li>Fixed issue 1844181 - "JNLP file does not contain all
+                                necessary JARs"
+                            <li>Fixed issue 1840245 - "xxxException class does not
+                                derive from Exception"
+                            <li>Fixed issue 1840277 - "[M D EC] Typo in bug
+                                documentation"
+                            <li>Fixed issue 1782447 - "OutOfMemoryError if i activate
+                                Findbugs on my project"
+                            <li>Fixed issue 1830576 - "[regression] keySet/entrySet
+                                false positive"
+                        </ul>
+                    </li>
+                    <li>Other:
+                        <ul>
+                            <li>New bug code: "IO" (for
+                                IO_APPENDING_TO_OBJECT_OUTPUT_STREAM)</li>
+                            <li>Added "-onlyMostRecent" option for computeBugHistory
+                                script/ant task
+                            <li>More explicit language in
+                                RV_RETURN_VALUE_IGNORED_BAD_PRACTICE messages
+                            <li>Modified ResourceValueAnalysis to correctly identify
+                                null == X or null != X as a null check (for issue 1844671)
+                            <li>Modified DMI_HARDCODED_ABSOLUTE_FILENAME logic in
+                                DumbMethodInvocations to ignore files from /etc or /dev and
+                                increase priority of files from /home
+                            <li>Better bug details for infinite loop warnings
+                            <li>Modified unread-fields detector to reduce false
+                                positives from reflective fields
+                            <li>build.xml "classes" target now builds all sources in one
+                                step
+                        </ul>
+                    </li>
+                </ul>
 
-				<p>Changes since version 1.2.1</p>
-				<ul>
-					<li>New Detectors and Reports
-						<ul>
-							<li>SynchronizationOnSharedBuiltinConstant
-								<ul>
-									<li>DL_SYNCHRONIZATION_ON_SHARED_CONSTANT: The code
-										synchronizes on a shared primitive constant, such as an
-										interned String. Such constants are interned and shared across
-										all other classes loaded by the JVM. Thus, this could be
-										locking on something that other code might also be locking.
-										This could result in very strange and hard to diagnose
-										blocking and deadlock behavior. See <a
-										href="http://www.javalobby.org/java/forums/t96352.html">http://www.javalobby.org/java/forums/t96352.html</a>
-										and <a href="http://jira.codehaus.org/browse/JETTY-352">http://jira.codehaus.org/browse/JETTY-352</a>.
-									
-								</ul>
-							</li>
-							<li>OverridingEqualsNotSymmetrical
-								<ul>
-									<li>EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC: Looks for equals
-										methods that override equals methods in a superclass where the
-										equivalence relationship might not be symmetrical.
-								</ul>
-							</li>
-							<li>CheckTypeQualifiers
-								<ul>
-									<li>TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED: A value
-										specified as carrying a type qualifier annotation is consumed
-										in a location or locations requiring that the value not carry
-										that annotation. More precisely, a value annotated with a type
-										qualifier specifying when=ALWAYS is guaranteed to reach a use
-										or uses where the same type qualifier specifies when=NEVER.</li>
-									<li>TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED: A value
-										specified as not carrying a type qualifier annotation is
-										guaranteed to be consumed in a location or locations requiring
-										that the value does carry that annotation. More precisely, a
-										value annotated with a type qualifier specifying when=NEVER is
-										guaranteed to reach a use or uses where the same type
-										qualifier specifies when=ALWAYS.</li>
-									<li>TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK: A value
-										that might not carry a type qualifier annotation reaches a use
-										which requires that annotation.</li>
-									<li>TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK: A value
-										which might carry a type qualifier annotation reaches a use
-										which forbids values carrying that annotation.</li>
-								</ul>
-							</li>
-						</ul>
-					</li>
-					<li>New Reports (existing detectors)
-						<ul>
-							<li>FindHEmismatch
-								<ul>
-									<li>EQ_DOESNT_OVERRIDE_EQUALS: This class extends a class
-										that defines an equals method and adds fields, but doesn't
-										define an equals method itself. Thus, equality on instances of
-										this class will ignore the identity of the subclass and the
-										added fields. Be sure this is what is intended, and that you
-										don't need to override the equals method. Even if you don't
-										need to override the equals method, consider overriding it
-										anyway to document the fact that the equals method for the
-										subclass just return the result of invoking super.equals(o).</li>
-								</ul>
-							</li>
-							<li>Naming
-								<ul>
-									<li>NM_WRONG_PACKAGE, NM_WRONG_PACKAGE_INTENTIONAL: The
-										method in the subclass doesn't override a similar method in a
-										superclass because the type of a parameter doesn't exactly
-										match the type of the corresponding parameter in the
-										superclass.</li>
-									<li>NM_SAME_SIMPLE_NAME_AS_SUPERCLASS: This class has a
-										simple name that is identical to that of its superclass,
-										except that its superclass is in a different package (e.g., <code>alpha.Foo</code>
-										extends <code>beta.Foo</code>). This can be exceptionally
-										confusing, create lots of situations in which you have to look
-										at import statements to resolve references and creates many
-										opportunities to accidently define methods that do not
-										override methods in their superclasses.
-									</li>
-									<li>NM_SAME_SIMPLE_NAME_AS_INTERFACE: This class/interface
-										has a simple name that is identical to that of an
-										implemented/extended interface, except that the interface is
-										in a different package (e.g., <code>alpha.Foo</code> extends <code>beta.Foo</code>).
-										This can be exceptionally confusing, create lots of situations
-										in which you have to look at import statements to resolve
-										references and creates many opportunities to accidently define
-										methods that do not override methods in their superclasses.
-									</li>
-								</ul>
-							<li>FindRefComparison
-								<ul>
-									<li>EC_UNRELATED_TYPES_USING_POINTER_EQUALITY: This method
-										uses using pointer equality to compare two references that
-										seem to be of different types. The result of this comparison
-										will always be false at runtime.</li>
-								</ul>
-							</li>
-							<li>IncompatMask
-								<ul>
-									<li>BIT_SIGNED_CHECK, BIT_SIGNED_CHECK_HIGH_BIT: This
-										method compares an expression such as <tt>((event.detail
-											&amp; SWT.SELECTED) &gt; 0)</tt>. Using bit arithmetic and then
-										comparing with the greater than operator can lead to
-										unexpected results (of course depending on the value of
-										SWT.SELECTED). If SWT.SELECTED is a negative number, this is a
-										candidate for a bug. Even when SWT.SELECTED is not negative,
-										it seems good practice to use '!= 0' instead of '&gt; 0'.
-									</li>
-								</ul>
-							</li>
-							<li>LazyInit
-								<ul>
-									<li>LI_LAZY_INIT_UPDATE_STATIC: This method contains an
-										unsynchronized lazy initialization of a static field. After
-										the field is set, the object stored into that location is
-										further accessed. The setting of the field is visible to other
-										threads as soon as it is set. If the further accesses in the
-										method that set the field serve to initialize the object, then
-										you have a <em>very serious</em> multithreading bug, unless
-										something else prevents any other thread from accessing the
-										stored object until it is fully initialized.
-									</li>
-								</ul>
-							</li>
-							<li>FindDeadLocalStores
-								<ul>
-									<li>DLS_DEAD_STORE_OF_CLASS_LITERAL: This instruction
-										assigns a class literal to a variable and then never uses it.
-										<a href="//java.sun.com/j2se/1.5.0/compatibility.html#literal">The
-											behavior of this differs in Java 1.4 and in Java 5.</a> In Java
-										1.4 and earlier, a reference to <code>Foo.class</code> would
-										force the static initializer for <code>Foo</code> to be
-										executed, if it has not been executed already. In Java 5 and
-										later, it does not. See Sun's <a
-										href="//java.sun.com/j2se/1.5.0/compatibility.html#literal">article
-											on Java SE compatibility</a> for more details and examples, and
-										suggestions on how to force class initialization in Java 5.
-									</li>
-								</ul>
-							</li>
-							<li>MethodReturnCheck
-								<ul>
-									<li>RV_RETURN_VALUE_IGNORED_BAD_PRACTICE: This method
-										returns a value that is not checked. The return value should
-										be checked since it can indication an unusual or unexpected
-										function execution. For example, the <code>File.delete()</code>
-										method returns false if the file could not be successfully
-										deleted (rather than throwing an Exception). If you don't
-										check the result, you won't notice if the method invocation
-										signals unexpected behavior by returning an atypical return
-										value.
-									</li>
-									<li>RV_EXCEPTION_NOT_THROWN: This code creates an
-										exception (or error) object, but doesn't do anything with it.
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</li>
-					<li>Changes to Existing Reports
-						<ul>
-							<li>NS_NON_SHORT_CIRCUIT: BAD_PRACTICE -&gt; STYLE</li>
-							<li>NS_DANGEROUS_NON_SHORT_CIRCUIT: CORRECTNESS -&gt; STYLE</li>
-							<li>RC_REF_COMPARISON: CORRECTNESS -&gt; BAD_PRACTICE</li>
-						</ul>
-					</li>
-					<li>GUI Changes
-						<ul>
-							<li>Added importing and exporting of bug filters</li>
-							<li>Better handling of failed analysis runs</li>
-							<li>Added "-look" parameter for selecting look-and-feel</li>
-							<li>Fixed incorrect package filtering</li>
-							<li>Fixed issue where "synchronized" was not
-								syntax-highlighted</li>
-						</ul>
-					</li>
-					<li>Ant-task Changes
-						<ul>
-							<li>Refactored common ant-task code to AbstractFindBugsTask</li>
-							<li>Added tasks for computeBugHistory, convertXmlToText,
-								filterBugs, mineBugHistory, setBugDatabaseInfo</li>
-						</ul>
-					</li>
-					<li>Manual
-						<ul>
-							<li>Updates to GUI section, including new screenshots</li>
-							<li>Added description of rejarForAnalysis</li>
-							<li>Revamp of data-mining section</li>
-						</ul>
-					</li>
-					<li>Other Major
-						<ul>
-							<li>Internal restructuring for lower memory overhead</li>
-						</ul>
-					</li>
-					<li>Other Minor
-						<ul>
-							<li>Fixed typo: was STCAL_STATIC_SIMPLE_DATA_FORMAT_INSTANCE
-								now STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE</li>
-							<li>-outputFile parameter became -output</li>
-							<li>More sensitivity and specificity inLazyInit detector</li>
-							<li>More sensitivity and specificity in Naming detector</li>
-							<li>More sensitivity and specificity in UnreadFields
-								detector</li>
-							<li>More sensitivity in FindNullDeref detector</li>
-							<li>More sensitivity in FindBadCast2 detector</li>
-							<li>More specificity in FindReturnRef detector</li>
-							<li>Many other tweaks and bug fixes</li>
-						</ul>
-					</li>
-				</ul>
+                <p>Changes since version 1.2.1</p>
+                <ul>
+                    <li>New Detectors and Reports
+                        <ul>
+                            <li>SynchronizationOnSharedBuiltinConstant
+                                <ul>
+                                    <li>DL_SYNCHRONIZATION_ON_SHARED_CONSTANT: The code
+                                        synchronizes on a shared primitive constant, such as an
+                                        interned String. Such constants are interned and shared across
+                                        all other classes loaded by the JVM. Thus, this could be
+                                        locking on something that other code might also be locking.
+                                        This could result in very strange and hard to diagnose
+                                        blocking and deadlock behavior. See <a
+                                        href="http://www.javalobby.org/java/forums/t96352.html">http://www.javalobby.org/java/forums/t96352.html</a>
+                                        and <a href="http://jira.codehaus.org/browse/JETTY-352">http://jira.codehaus.org/browse/JETTY-352</a>.
 
-				<p>Changes since version 1.2.0</p>
-				<ul>
-					<li>Bug fixes:
-						<ul>
-							<li><a
-								href="http://fisheye2.cenqua.com/changelog/findbugs/?cs=8219">Fix</a>
-								<a
-								href="http://sourceforge.net/tracker/index.php?func=detail&aid=1726946&group_id=96405&atid=614693">bug</a>
-								with detectors that were requested to be disabled but were
-								enabled due to requirements of other detectors.</li>
-							<li>Fix bugs in incremental analysis within Eclipse plugin</li>
-							<li>Fix some analysis errors</li>
-							<li>Fix some threading bugs in GUI2</li>
-							<li>Report version as version when it was compiled, not when
-								it was run</li>
-							<li>Copy analysis time stamp when filtering or transforming
-								analysis files.</li>
-						</ul>
-					<li>Enabled StaticCalendarDetector</li>
-					<li>Reworked GUI2 to use standard FindBugs filters
-						<ul>
-							<li>Allow a suppression filter to be stored in a project and
-								persisted to the XML representation of a project.</li>
-						</ul>
-					</li>
+                                </ul>
+                            </li>
+                            <li>OverridingEqualsNotSymmetrical
+                                <ul>
+                                    <li>EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC: Looks for equals
+                                        methods that override equals methods in a superclass where the
+                                        equivalence relationship might not be symmetrical.
+                                </ul>
+                            </li>
+                            <li>CheckTypeQualifiers
+                                <ul>
+                                    <li>TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED: A value
+                                        specified as carrying a type qualifier annotation is consumed
+                                        in a location or locations requiring that the value not carry
+                                        that annotation. More precisely, a value annotated with a type
+                                        qualifier specifying when=ALWAYS is guaranteed to reach a use
+                                        or uses where the same type qualifier specifies when=NEVER.</li>
+                                    <li>TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED: A value
+                                        specified as not carrying a type qualifier annotation is
+                                        guaranteed to be consumed in a location or locations requiring
+                                        that the value does carry that annotation. More precisely, a
+                                        value annotated with a type qualifier specifying when=NEVER is
+                                        guaranteed to reach a use or uses where the same type
+                                        qualifier specifies when=ALWAYS.</li>
+                                    <li>TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK: A value
+                                        that might not carry a type qualifier annotation reaches a use
+                                        which requires that annotation.</li>
+                                    <li>TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK: A value
+                                        which might carry a type qualifier annotation reaches a use
+                                        which forbids values carrying that annotation.</li>
+                                </ul>
+                            </li>
+                        </ul>
+                    </li>
+                    <li>New Reports (existing detectors)
+                        <ul>
+                            <li>FindHEmismatch
+                                <ul>
+                                    <li>EQ_DOESNT_OVERRIDE_EQUALS: This class extends a class
+                                        that defines an equals method and adds fields, but doesn't
+                                        define an equals method itself. Thus, equality on instances of
+                                        this class will ignore the identity of the subclass and the
+                                        added fields. Be sure this is what is intended, and that you
+                                        don't need to override the equals method. Even if you don't
+                                        need to override the equals method, consider overriding it
+                                        anyway to document the fact that the equals method for the
+                                        subclass just return the result of invoking super.equals(o).</li>
+                                </ul>
+                            </li>
+                            <li>Naming
+                                <ul>
+                                    <li>NM_WRONG_PACKAGE, NM_WRONG_PACKAGE_INTENTIONAL: The
+                                        method in the subclass doesn't override a similar method in a
+                                        superclass because the type of a parameter doesn't exactly
+                                        match the type of the corresponding parameter in the
+                                        superclass.</li>
+                                    <li>NM_SAME_SIMPLE_NAME_AS_SUPERCLASS: This class has a
+                                        simple name that is identical to that of its superclass,
+                                        except that its superclass is in a different package (e.g., <code>alpha.Foo</code>
+                                        extends <code>beta.Foo</code>). This can be exceptionally
+                                        confusing, create lots of situations in which you have to look
+                                        at import statements to resolve references and creates many
+                                        opportunities to accidently define methods that do not
+                                        override methods in their superclasses.
+                                    </li>
+                                    <li>NM_SAME_SIMPLE_NAME_AS_INTERFACE: This class/interface
+                                        has a simple name that is identical to that of an
+                                        implemented/extended interface, except that the interface is
+                                        in a different package (e.g., <code>alpha.Foo</code> extends <code>beta.Foo</code>).
+                                        This can be exceptionally confusing, create lots of situations
+                                        in which you have to look at import statements to resolve
+                                        references and creates many opportunities to accidently define
+                                        methods that do not override methods in their superclasses.
+                                    </li>
+                                </ul>
+                            <li>FindRefComparison
+                                <ul>
+                                    <li>EC_UNRELATED_TYPES_USING_POINTER_EQUALITY: This method
+                                        uses using pointer equality to compare two references that
+                                        seem to be of different types. The result of this comparison
+                                        will always be false at runtime.</li>
+                                </ul>
+                            </li>
+                            <li>IncompatMask
+                                <ul>
+                                    <li>BIT_SIGNED_CHECK, BIT_SIGNED_CHECK_HIGH_BIT: This
+                                        method compares an expression such as <tt>((event.detail
+                                            &amp; SWT.SELECTED) &gt; 0)</tt>. Using bit arithmetic and then
+                                        comparing with the greater than operator can lead to
+                                        unexpected results (of course depending on the value of
+                                        SWT.SELECTED). If SWT.SELECTED is a negative number, this is a
+                                        candidate for a bug. Even when SWT.SELECTED is not negative,
+                                        it seems good practice to use '!= 0' instead of '&gt; 0'.
+                                    </li>
+                                </ul>
+                            </li>
+                            <li>LazyInit
+                                <ul>
+                                    <li>LI_LAZY_INIT_UPDATE_STATIC: This method contains an
+                                        unsynchronized lazy initialization of a static field. After
+                                        the field is set, the object stored into that location is
+                                        further accessed. The setting of the field is visible to other
+                                        threads as soon as it is set. If the further accesses in the
+                                        method that set the field serve to initialize the object, then
+                                        you have a <em>very serious</em> multithreading bug, unless
+                                        something else prevents any other thread from accessing the
+                                        stored object until it is fully initialized.
+                                    </li>
+                                </ul>
+                            </li>
+                            <li>FindDeadLocalStores
+                                <ul>
+                                    <li>DLS_DEAD_STORE_OF_CLASS_LITERAL: This instruction
+                                        assigns a class literal to a variable and then never uses it.
+                                        <a href="//java.sun.com/j2se/1.5.0/compatibility.html#literal">The
+                                            behavior of this differs in Java 1.4 and in Java 5.</a> In Java
+                                        1.4 and earlier, a reference to <code>Foo.class</code> would
+                                        force the static initializer for <code>Foo</code> to be
+                                        executed, if it has not been executed already. In Java 5 and
+                                        later, it does not. See Sun's <a
+                                        href="//java.sun.com/j2se/1.5.0/compatibility.html#literal">article
+                                            on Java SE compatibility</a> for more details and examples, and
+                                        suggestions on how to force class initialization in Java 5.
+                                    </li>
+                                </ul>
+                            </li>
+                            <li>MethodReturnCheck
+                                <ul>
+                                    <li>RV_RETURN_VALUE_IGNORED_BAD_PRACTICE: This method
+                                        returns a value that is not checked. The return value should
+                                        be checked since it can indication an unusual or unexpected
+                                        function execution. For example, the <code>File.delete()</code>
+                                        method returns false if the file could not be successfully
+                                        deleted (rather than throwing an Exception). If you don't
+                                        check the result, you won't notice if the method invocation
+                                        signals unexpected behavior by returning an atypical return
+                                        value.
+                                    </li>
+                                    <li>RV_EXCEPTION_NOT_THROWN: This code creates an
+                                        exception (or error) object, but doesn't do anything with it.
+                                    </li>
+                                </ul>
+                            </li>
+                        </ul>
+                    </li>
+                    <li>Changes to Existing Reports
+                        <ul>
+                            <li>NS_NON_SHORT_CIRCUIT: BAD_PRACTICE -&gt; STYLE</li>
+                            <li>NS_DANGEROUS_NON_SHORT_CIRCUIT: CORRECTNESS -&gt; STYLE</li>
+                            <li>RC_REF_COMPARISON: CORRECTNESS -&gt; BAD_PRACTICE</li>
+                        </ul>
+                    </li>
+                    <li>GUI Changes
+                        <ul>
+                            <li>Added importing and exporting of bug filters</li>
+                            <li>Better handling of failed analysis runs</li>
+                            <li>Added "-look" parameter for selecting look-and-feel</li>
+                            <li>Fixed incorrect package filtering</li>
+                            <li>Fixed issue where "synchronized" was not
+                                syntax-highlighted</li>
+                        </ul>
+                    </li>
+                    <li>Ant-task Changes
+                        <ul>
+                            <li>Refactored common ant-task code to AbstractFindBugsTask</li>
+                            <li>Added tasks for computeBugHistory, convertXmlToText,
+                                filterBugs, mineBugHistory, setBugDatabaseInfo</li>
+                        </ul>
+                    </li>
+                    <li>Manual
+                        <ul>
+                            <li>Updates to GUI section, including new screenshots</li>
+                            <li>Added description of rejarForAnalysis</li>
+                            <li>Revamp of data-mining section</li>
+                        </ul>
+                    </li>
+                    <li>Other Major
+                        <ul>
+                            <li>Internal restructuring for lower memory overhead</li>
+                        </ul>
+                    </li>
+                    <li>Other Minor
+                        <ul>
+                            <li>Fixed typo: was STCAL_STATIC_SIMPLE_DATA_FORMAT_INSTANCE
+                                now STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE</li>
+                            <li>-outputFile parameter became -output</li>
+                            <li>More sensitivity and specificity inLazyInit detector</li>
+                            <li>More sensitivity and specificity in Naming detector</li>
+                            <li>More sensitivity and specificity in UnreadFields
+                                detector</li>
+                            <li>More sensitivity in FindNullDeref detector</li>
+                            <li>More sensitivity in FindBadCast2 detector</li>
+                            <li>More specificity in FindReturnRef detector</li>
+                            <li>Many other tweaks and bug fixes</li>
+                        </ul>
+                    </li>
+                </ul>
 
-					<li>Move away from old GUI2 save format (a directory
-						containing an xml file and another file containing serialized
-						filters).</li>
-					<li>Support/recommend use of two new file extensions/formats:
-						<dl>
-							<dt>.fba - FindBugs Analysis File</dt>
-							<dd>Exactly the same as an existing bug collection file
-								stored in XML format, but using a distinct file extension to
-								make it easier to figure out which xml files contain FindBugs
-								results.</dd>
-							<dt>.fbp - FindBugs Project File</dt>
-							<dd>Contains just the information needed to run FindBugs and
-								display the results (e.g., the files to be analyzed, the
-								auxiliary class path and the location of source files)
-						</dl>
-					</li>
-				</ul>
-				<p>Changes since version 1.1.3</p>
-				<ul>
-					<li>Added -xml:withAbridgedMessages option to generate xml
-						containing shorter messages. The messages will be shorted by doing
-						things like eliding package names, and leaving off the source line
-						from the LongMessage. These messages are appropriate if being used
-						in a context where the non-message components of the bug
-						annotations will be used to provide more information (e.g.,
-						clicking on the message for a MethodAnnotation will display the
-						source for the method).
-						<ul>
-							<li>FindBugsDisplayFeatures.setAbridgedMessages(true) can be
-								used to generate abridged messages when FindBugs is being
-								accessed directly (not via generated XML) from a GUI or IDE.</li>
-						</ul>
-					<li>In null pointer analysis, try to be better about always
-						showing two locations: where it is known null and where it is
-						dereferenced.
-					<li>Interprocedural analysis of which methods return nonnull
-						values
-					<li>Use method calls to select order in which classes are
-						analyzed, and order in which methods are analyzed, to improve
-						interprocedural analysis results.
-					<li>Significant improvements in memory footprint, memory
-						allocation and CPU utilization (20-30% reduction in all three)
-					<li>Added a project name, to provide better descriptions in
-						the HTML output.
-					<li>Added new bug pattern: Casting to char, or bit masking
-						with nonnegative value, and then checking to see if the result is
-						negative.
-					<li>Stopped reporting transient fields of classes not marked
-						as serializable. Transient is used by other persistence
-						frameworks.
-					<li>Improvements to detector for SQL injection (Thanks to <a
-						href="http://www.clock.org/~matt">Matt Hargett</a> for his
-						contributions
-					<li>Changed open/save options in GUI2 to not distinguish
-						between FindBugs projects and saved FindBugs analysis results.
-					<li>Improvements to detection of serious non-short-circuit
-						evaluation.
-					<li>Updated Japanese localization (thanks to Ruimo Uno)
-					<li>Eclipse plugin changes:
-						<ul>
-							<li>Created Bug User Annotations and Bug Tree Views
-							<li>Use different icons for different bug priorities
-							<li>Provide more information in Bug Details view
-						</ul>
-				</ul>
+                <p>Changes since version 1.2.0</p>
+                <ul>
+                    <li>Bug fixes:
+                        <ul>
+                            <li><a
+                                href="http://fisheye2.cenqua.com/changelog/findbugs/?cs=8219">Fix</a>
+                                <a
+                                href="http://sourceforge.net/tracker/index.php?func=detail&aid=1726946&group_id=96405&atid=614693">bug</a>
+                                with detectors that were requested to be disabled but were
+                                enabled due to requirements of other detectors.</li>
+                            <li>Fix bugs in incremental analysis within Eclipse plugin</li>
+                            <li>Fix some analysis errors</li>
+                            <li>Fix some threading bugs in GUI2</li>
+                            <li>Report version as version when it was compiled, not when
+                                it was run</li>
+                            <li>Copy analysis time stamp when filtering or transforming
+                                analysis files.</li>
+                        </ul>
+                    <li>Enabled StaticCalendarDetector</li>
+                    <li>Reworked GUI2 to use standard FindBugs filters
+                        <ul>
+                            <li>Allow a suppression filter to be stored in a project and
+                                persisted to the XML representation of a project.</li>
+                        </ul>
+                    </li>
 
-				<p>Changes since version 1.1.2:</p>
-				<ul>
-					<li>Fixed broken Ant task
-					<li>Added running ant task to smoke test
-					<li>Added validating xml and html output to smoke test
-					<li>Fixed some (but not all) issues with html output
-						validation
-					<li>Added check for x.equals(x) and x.compareTo(x)
-					<li>Various bug fixes
-				</ul>
-				<p>Changes since version 1.1.1:</p>
-				<ul>
-					<li>Added check for infinite iterative loops</li>
-					<li>Added check for use of incompatible types in a collection
-						(e.g., checking to see if a Set&lt;String&gt; contains a
-						StringBuffer).</li>
-					<li>Added check for invocations of equals or hashCode on a
-						URL, which, <a
-						href="http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html">surprising
-							many people</a>, requires DNS resolution.
-					</li>
-					<li>Added check for classes that define compareTo but not
-						equals; such classes can exhibit some anomalous behavior (e.g.,
-						they are treated differently by PriorityQueues in Java 5 and Java
-						6).</li>
-					<li>Added a check for useless self operations (e.g., x &lt; x
-						or x ^ x).</li>
-					<li>Fixed a data race that could cause the GUI to fail on
-						startup</li>
-					<li>Partial internationalization of the new GUI</li>
-					<li>Fix bug in "Redo analysis" option of new GUI</li>
-					<li>Tuning to reduce false positives</li>
-					<li>Fixed a bug in null pointer analysis that was generating
-						false positive null pointer warnings on exception paths. Fixing
-						this bug eliminates about 1/4 of the warnings on null pointer
-						exceptions on exception paths.</li>
-					<li>Fixed a bug in the processing of phi nodes for fields in
-						the null pointer analysis</li>
-					<li>Applied contributed patch that provides more quick fixes
-						in Eclipse plugin.</li>
-					<li>Fixed a number of bugs in the Eclipse auto update sites,
-						and in the way date qualifiers were being used in the Eclipse
-						plugin. You may need to manually disable your existing version of
-						the plugin and download the 1.1.2 from the update site to get the
-						automatic update function working correctly. The Eclipse update
-						sites are described at <a
-						href="http://findbugs.cs.umd.edu/eclipse/">http://findbugs.cs.umd.edu/eclipse/</a>.
+                    <li>Move away from old GUI2 save format (a directory
+                        containing an xml file and another file containing serialized
+                        filters).</li>
+                    <li>Support/recommend use of two new file extensions/formats:
+                        <dl>
+                            <dt>.fba - FindBugs Analysis File</dt>
+                            <dd>Exactly the same as an existing bug collection file
+                                stored in XML format, but using a distinct file extension to
+                                make it easier to figure out which xml files contain FindBugs
+                                results.</dd>
+                            <dt>.fbp - FindBugs Project File</dt>
+                            <dd>Contains just the information needed to run FindBugs and
+                                display the results (e.g., the files to be analyzed, the
+                                auxiliary class path and the location of source files)
+                        </dl>
+                    </li>
+                </ul>
+                <p>Changes since version 1.1.3</p>
+                <ul>
+                    <li>Added -xml:withAbridgedMessages option to generate xml
+                        containing shorter messages. The messages will be shorted by doing
+                        things like eliding package names, and leaving off the source line
+                        from the LongMessage. These messages are appropriate if being used
+                        in a context where the non-message components of the bug
+                        annotations will be used to provide more information (e.g.,
+                        clicking on the message for a MethodAnnotation will display the
+                        source for the method).
+                        <ul>
+                            <li>FindBugsDisplayFeatures.setAbridgedMessages(true) can be
+                                used to generate abridged messages when FindBugs is being
+                                accessed directly (not via generated XML) from a GUI or IDE.</li>
+                        </ul>
+                    <li>In null pointer analysis, try to be better about always
+                        showing two locations: where it is known null and where it is
+                        dereferenced.
+                    <li>Interprocedural analysis of which methods return nonnull
+                        values
+                    <li>Use method calls to select order in which classes are
+                        analyzed, and order in which methods are analyzed, to improve
+                        interprocedural analysis results.
+                    <li>Significant improvements in memory footprint, memory
+                        allocation and CPU utilization (20-30% reduction in all three)
+                    <li>Added a project name, to provide better descriptions in
+                        the HTML output.
+                    <li>Added new bug pattern: Casting to char, or bit masking
+                        with nonnegative value, and then checking to see if the result is
+                        negative.
+                    <li>Stopped reporting transient fields of classes not marked
+                        as serializable. Transient is used by other persistence
+                        frameworks.
+                    <li>Improvements to detector for SQL injection (Thanks to <a
+                        href="http://www.clock.org/~matt">Matt Hargett</a> for his
+                        contributions
+                    <li>Changed open/save options in GUI2 to not distinguish
+                        between FindBugs projects and saved FindBugs analysis results.
+                    <li>Improvements to detection of serious non-short-circuit
+                        evaluation.
+                    <li>Updated Japanese localization (thanks to Ruimo Uno)
+                    <li>Eclipse plugin changes:
+                        <ul>
+                            <li>Created Bug User Annotations and Bug Tree Views
+                            <li>Use different icons for different bug priorities
+                            <li>Provide more information in Bug Details view
+                        </ul>
+                </ul>
 
-					</li>
-					<li>Fixed progress bar in Eclipse plugin</li>
-					<li>A number of other bug fixes.</li>
-				</ul>
+                <p>Changes since version 1.1.2:</p>
+                <ul>
+                    <li>Fixed broken Ant task
+                    <li>Added running ant task to smoke test
+                    <li>Added validating xml and html output to smoke test
+                    <li>Fixed some (but not all) issues with html output
+                        validation
+                    <li>Added check for x.equals(x) and x.compareTo(x)
+                    <li>Various bug fixes
+                </ul>
+                <p>Changes since version 1.1.1:</p>
+                <ul>
+                    <li>Added check for infinite iterative loops</li>
+                    <li>Added check for use of incompatible types in a collection
+                        (e.g., checking to see if a Set&lt;String&gt; contains a
+                        StringBuffer).</li>
+                    <li>Added check for invocations of equals or hashCode on a
+                        URL, which, <a
+                        href="http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html">surprising
+                            many people</a>, requires DNS resolution.
+                    </li>
+                    <li>Added check for classes that define compareTo but not
+                        equals; such classes can exhibit some anomalous behavior (e.g.,
+                        they are treated differently by PriorityQueues in Java 5 and Java
+                        6).</li>
+                    <li>Added a check for useless self operations (e.g., x &lt; x
+                        or x ^ x).</li>
+                    <li>Fixed a data race that could cause the GUI to fail on
+                        startup</li>
+                    <li>Partial internationalization of the new GUI</li>
+                    <li>Fix bug in "Redo analysis" option of new GUI</li>
+                    <li>Tuning to reduce false positives</li>
+                    <li>Fixed a bug in null pointer analysis that was generating
+                        false positive null pointer warnings on exception paths. Fixing
+                        this bug eliminates about 1/4 of the warnings on null pointer
+                        exceptions on exception paths.</li>
+                    <li>Fixed a bug in the processing of phi nodes for fields in
+                        the null pointer analysis</li>
+                    <li>Applied contributed patch that provides more quick fixes
+                        in Eclipse plugin.</li>
+                    <li>Fixed a number of bugs in the Eclipse auto update sites,
+                        and in the way date qualifiers were being used in the Eclipse
+                        plugin. You may need to manually disable your existing version of
+                        the plugin and download the 1.1.2 from the update site to get the
+                        automatic update function working correctly. The Eclipse update
+                        sites are described at <a
+                        href="http://findbugs.cs.umd.edu/eclipse/">http://findbugs.cs.umd.edu/eclipse/</a>.
 
-				<p>Changes since version 1.1.0:</p>
-				<ul>
-					<li>less scanning of classes not on the analysis path (This
-						was causing some performance problems.)</li>
-					<li>no unread field warnings for fields annotated with
-						javax.persistent or javax.ejb3</li>
-					<li>Eclipse plugin
-						<ul>
-							<li>bug annotation info displayed in Bug Details tab</li>
-							<li>.fbwarnings data file now stored in .metadata (not in
-								the project itself)</li>
-						</ul>
-					</li>
-					<li>new SE_BAD_FIELD_INNER_CLASS pattern</li>
-					<li>updates to Japanese translation (ruimo)</li>
-					<li>fix some internal slashed/dotted path confusion</li>
-					<li>other minor improvements</li>
-				</ul>
+                    </li>
+                    <li>Fixed progress bar in Eclipse plugin</li>
+                    <li>A number of other bug fixes.</li>
+                </ul>
 
-				<p>Changes since version 1.0.0:</p>
+                <p>Changes since version 1.1.0:</p>
+                <ul>
+                    <li>less scanning of classes not on the analysis path (This
+                        was causing some performance problems.)</li>
+                    <li>no unread field warnings for fields annotated with
+                        javax.persistent or javax.ejb3</li>
+                    <li>Eclipse plugin
+                        <ul>
+                            <li>bug annotation info displayed in Bug Details tab</li>
+                            <li>.fbwarnings data file now stored in .metadata (not in
+                                the project itself)</li>
+                        </ul>
+                    </li>
+                    <li>new SE_BAD_FIELD_INNER_CLASS pattern</li>
+                    <li>updates to Japanese translation (ruimo)</li>
+                    <li>fix some internal slashed/dotted path confusion</li>
+                    <li>other minor improvements</li>
+                </ul>
 
-				<ul>
-					<li>Overall, the change from FindBugs 1.0.0 to FindBugs 1.1.0
-						has been a big change. We've done a lot of work in a lot of areas,
-						and aren't even going to try to enumerate all the changes.</li>
-					<li>We spent a lot of time reviewing the results generated by
-						FindBugs for open source and commercial code bases, and made a
-						number of changes, small and large, to minimize the number of
-						false positives. Our primary focus for this was warnings reported
-						as high and medium priority correctness warnings. Our internal
-						evaluation is that we produce very few high/medium priority
-						correctness warnings where the analysis is actually wrong, and
-						that more than 75% of the high/medium priority correctness
-						warnings correspond to real coding defects that need addressing in
-						the source code. The remaining 25% are largely cases such as a
-						branch or statement that if taken would lead to an error, but in
-						fact is a dead branch or statement that can never be taken. Such
-						coding is confusing and hard to maintain, so it should arguably be
-						fixed, but it is unlikely to actually result in an error during
-						execution. Thus, some might classify those warnings as false
-						positives.</li>
-					<li>We've substantially improved the analysis for errors that
-						could result in null pointer dereferences. Overall, our experience
-						has been that these changes have roughly doubled the number of
-						null pointer errors we detect, without increasing the number of
-						false positives (in fact, our false positive rate has gone down).
-						The improvements are due to four factors:
-						<ul>
-							<li>By default, we now do some interprocedural analysis to
-								determine methods that unconditionally dereference their
-								parameters.</li>
-							<li>FindBugs also comes with a model of which JDK methods
-								unconditionally dereference their parameters.</li>
-							<li>We do limited tracking of fields, so that we can detect
-								null values stored in fields that lead to exceptions.</li>
-							<li>We implemented a new analysis technique to find
-								guaranteed dereferences. Consider the following example: <pre>public int f(Object x, boolean b) {
+                <p>Changes since version 1.0.0:</p>
+
+                <ul>
+                    <li>Overall, the change from FindBugs 1.0.0 to FindBugs 1.1.0
+                        has been a big change. We've done a lot of work in a lot of areas,
+                        and aren't even going to try to enumerate all the changes.</li>
+                    <li>We spent a lot of time reviewing the results generated by
+                        FindBugs for open source and commercial code bases, and made a
+                        number of changes, small and large, to minimize the number of
+                        false positives. Our primary focus for this was warnings reported
+                        as high and medium priority correctness warnings. Our internal
+                        evaluation is that we produce very few high/medium priority
+                        correctness warnings where the analysis is actually wrong, and
+                        that more than 75% of the high/medium priority correctness
+                        warnings correspond to real coding defects that need addressing in
+                        the source code. The remaining 25% are largely cases such as a
+                        branch or statement that if taken would lead to an error, but in
+                        fact is a dead branch or statement that can never be taken. Such
+                        coding is confusing and hard to maintain, so it should arguably be
+                        fixed, but it is unlikely to actually result in an error during
+                        execution. Thus, some might classify those warnings as false
+                        positives.</li>
+                    <li>We've substantially improved the analysis for errors that
+                        could result in null pointer dereferences. Overall, our experience
+                        has been that these changes have roughly doubled the number of
+                        null pointer errors we detect, without increasing the number of
+                        false positives (in fact, our false positive rate has gone down).
+                        The improvements are due to four factors:
+                        <ul>
+                            <li>By default, we now do some interprocedural analysis to
+                                determine methods that unconditionally dereference their
+                                parameters.</li>
+                            <li>FindBugs also comes with a model of which JDK methods
+                                unconditionally dereference their parameters.</li>
+                            <li>We do limited tracking of fields, so that we can detect
+                                null values stored in fields that lead to exceptions.</li>
+                            <li>We implemented a new analysis technique to find
+                                guaranteed dereferences. Consider the following example: <pre>public int f(Object x, boolean b) {
   int result = 0;
   if (x == null) result++;
   else result--;
@@ -1497,1299 +1552,1299 @@
     }
 </pre>
 
-								<p>
-									FindBugs 1.0 used forward dataflow analysis to determine
-									whether each value is definitely null, null on a simple path,
-									possible null on a complex path, or definitely nonnull. Thus,
-									at the statement where
-									<code> result </code>
-									is decremented, we know that
-									<code> x </code>
-									is definitely null, and at the point before
-									<code> if (b) </code>
-									, we know that
-									<code> x </code>
-									is null on a simple path. If
-									<code> x </code>
-									were to be dereferenced here, we would generate a warning,
-									because if the else branch of the
-									<code> if (x == null) </code>
-									were ever taken, a null pointer exception would result.
-								</p>
+                                <p>
+                                    FindBugs 1.0 used forward dataflow analysis to determine
+                                    whether each value is definitely null, null on a simple path,
+                                    possible null on a complex path, or definitely nonnull. Thus,
+                                    at the statement where
+                                    <code> result </code>
+                                    is decremented, we know that
+                                    <code> x </code>
+                                    is definitely null, and at the point before
+                                    <code> if (b) </code>
+                                    , we know that
+                                    <code> x </code>
+                                    is null on a simple path. If
+                                    <code> x </code>
+                                    were to be dereferenced here, we would generate a warning,
+                                    because if the else branch of the
+                                    <code> if (x == null) </code>
+                                    were ever taken, a null pointer exception would result.
+                                </p>
 
-								<p>
-									However, in both the then and else branches of the
-									<code> if (b) </code>
-									statement,
-									<code> x </code>
-									is only null on a complex path that may be infeasible. It might
-									be that the program logic is such that if
-									<code> x </code>
-									is null, then
-									<code> b </code>
-									is never true, so generating a warning about the dereference in
-									the then clause might be a false positive. We could try to
-									analyze the program to determine whether it is possible for
-									<code> x </code>
-									to be null and
-									<code> b </code>
-									to be true, but that can be a hard analysis problem.
-								</p>
+                                <p>
+                                    However, in both the then and else branches of the
+                                    <code> if (b) </code>
+                                    statement,
+                                    <code> x </code>
+                                    is only null on a complex path that may be infeasible. It might
+                                    be that the program logic is such that if
+                                    <code> x </code>
+                                    is null, then
+                                    <code> b </code>
+                                    is never true, so generating a warning about the dereference in
+                                    the then clause might be a false positive. We could try to
+                                    analyze the program to determine whether it is possible for
+                                    <code> x </code>
+                                    to be null and
+                                    <code> b </code>
+                                    to be true, but that can be a hard analysis problem.
+                                </p>
 
-								<p>
-									However,
-									<code> x </code>
-									is dereferenced in both the then <em>and</em> else branches of
-									the
-									<code> if (b) </code>
-									statement. So at the point immediately before
-									<code> if (b) </code>
-									, we know that
-									<code> x </code>
-									is null on a simple path <em>and</em> that
-									<code> x </code>
-									is guaranteed to be dereferenced on all paths from this point
-									forward. FindBugs 1.1 performs a backwards data flow analysis
-									to determine the values that are guaranteed to be dereferenced,
-									and will generate a warning in this case.
-								</p>
-							</li>
-						</ul>
-						<p>
-							The following screen shot of our new GUI shows an example of this
-							analysis, as well as showing off our new GUI and points out a
-							limitation of our current plugins for Eclipse and NetBeans. The
-							screen shot shows a null pointer bug in HelpDisplay.java. The
-							test for
-							<code> href!=null </code>
-							on line 78 suggests that
-							<code> href </code>
-							could be null. If it is, then
-							<code> href </code>
-							will be dereferenced on either line 87 or on line 90, generating
-							a NPE. Note that our analysis here also understands that passing
-							<code> href </code>
-							to
-							<code> URLEncoder.encode </code>
-							will deference it, and thus treats line 87 as a dereference, even
-							though
-							<code> href </code>
-							is not actually dereferenced at that line. Within our new GUI,
-							all of these locations are highlighted and listed in the summary
-							panel. In the original GUI (and in HTML output) we list all of
-							the locations, but only the primary location is highlighted by
-							the original GUI. In the Eclipse and NetBeans plugins, only the
-							primary location is displayed; fixing this is on our todo list
-							(contributions welcome).
-						</p>
-						<p>
-							<img src="guaranteedDereference.png" alt="">
+                                <p>
+                                    However,
+                                    <code> x </code>
+                                    is dereferenced in both the then <em>and</em> else branches of
+                                    the
+                                    <code> if (b) </code>
+                                    statement. So at the point immediately before
+                                    <code> if (b) </code>
+                                    , we know that
+                                    <code> x </code>
+                                    is null on a simple path <em>and</em> that
+                                    <code> x </code>
+                                    is guaranteed to be dereferenced on all paths from this point
+                                    forward. FindBugs 1.1 performs a backwards data flow analysis
+                                    to determine the values that are guaranteed to be dereferenced,
+                                    and will generate a warning in this case.
+                                </p>
+                            </li>
+                        </ul>
+                        <p>
+                            The following screen shot of our new GUI shows an example of this
+                            analysis, as well as showing off our new GUI and points out a
+                            limitation of our current plugins for Eclipse and NetBeans. The
+                            screen shot shows a null pointer bug in HelpDisplay.java. The
+                            test for
+                            <code> href!=null </code>
+                            on line 78 suggests that
+                            <code> href </code>
+                            could be null. If it is, then
+                            <code> href </code>
+                            will be dereferenced on either line 87 or on line 90, generating
+                            a NPE. Note that our analysis here also understands that passing
+                            <code> href </code>
+                            to
+                            <code> URLEncoder.encode </code>
+                            will deference it, and thus treats line 87 as a dereference, even
+                            though
+                            <code> href </code>
+                            is not actually dereferenced at that line. Within our new GUI,
+                            all of these locations are highlighted and listed in the summary
+                            panel. In the original GUI (and in HTML output) we list all of
+                            the locations, but only the primary location is highlighted by
+                            the original GUI. In the Eclipse and NetBeans plugins, only the
+                            primary location is displayed; fixing this is on our todo list
+                            (contributions welcome).
+                        </p>
+                        <p>
+                            <img src="guaranteedDereference.png" alt="">
 
 
-						</p>
+                        </p>
 
-					</li>
-					<li>Preliminary support for detectors using the frameworks
-						other than BCEL, such as the <a href="http://asm.objectweb.org/">ASM</a>
-						bytecode framework. You may experiment with writing ASM-based
-						detectors, but beware the API may still change (which could
-						possibly also affect BCEL-based detectors). In general, we've
-						started trying to move away from a deep dependence on BCEL, but
-						that change is only partially complete. Probably best to just
-						avoid this until we complete more work on this. This change is
-						only visible to FindBugs plugin developers, and shouldn't be
-						visible to FindBugs users.
-					</li>
-					<li>
-						<p>Bug categories (CORRECTNESS, MT_CORRECTNESS, etc.) are no
-							longer hard-coded, but rather defined in xml files associated
-							with plugins, including the core plugin which defines the
-							standard categories. Third-party plugins can define their own
-							categories.</p>
-					</li>
-					<li>
-						<p>Several bug patterns have been moved from CORRECTNESS and
-							STYLE into a new category, BAD_PRACTICE. The English localization
-							of STYLE has changed from "Style" to "Dodgy."</p>
-						<p>In general, we've worked very hard to limit CORRECTNESS
-							bugs to be real programming errors and sins of commission. We
-							have reclassified as BAD_PRACTICE a number of bad design
-							practices that result in overly fragile code, such as defining an
-							equals method that doesn't accept null or defining class with a
-							equals method that inherits hashCode from class Object.</p>
-						<p>In general, our guidelines for deciding whether a bug
-							should be classified as CORRECTNESS, BAD_PRACTICE or STYLE are:</p>
-						<dl>
-							<dt>CORRECTNESS</dt>
-							<dd>A problem that we can recognize with high confidence and
-								is an issue that we believe almost all developers would want to
-								examine and address. We recommend that software teams review all
-								high and medium priority warnings in their entire code base.</dd>
-							<dt>BAD_PRACTICE</dt>
-							<dd>A problem that we can recognize with high confidence and
-								represents a clear violation of recommended and standard coding
-								practice. We believe each software team should decide which bad
-								practices identified by FindBugs it wants to prohibit in the
-								team's coding standard, and take action to remedy violations of
-								those coding standards.</dd>
-							<dt>STYLE</dt>
-							<dd>These are places where something strange or dodgy is
-								going on, such as a dead store to a local variable. Typically,
-								less than half of these represent actionable programming
-								defects. Reviewing these warnings in any code under active
-								development is probably a good idea, but reviewing all such
-								warnings in your entire code base might be appropriate only in
-								some situations. Individual or team programming styles can
-								substantially influence the effectiveness of each of these
-								warnings (e.g., you might have a coding practice or style in
-								your group that confuses one of the detectors into generating a
-								lot of STYLE warnings); you will likely want to selectively
-								suppress or report the STYLE warnings that are effective for
-								your group.</dd>
-						</dl>
-					</li>
-					<li>Released a preliminary version of a new GUI (known
-						internally as GUI2 -- not very creative, huh?)</li>
-					<li>Provided standard ways to mark user designations of bug
-						warnings (e.g., as NOT_A_BUG or SHOULD_FIX). The internal logic
-						now records this, it is represented in the XML file, and GUI2
-						allows the designations to be applied (along with free-form user
-						annotations about each warning). The user designations and
-						annotations are not yet supported by the Eclipse plugin, but we
-						clearly want to support it in Eclipse shortly.</li>
-					<li>Added a check for a bad comparison with a signed byte with
-						a value not in the range -128..127. For example: <pre>boolean find200(byte b[]) {
+                    </li>
+                    <li>Preliminary support for detectors using the frameworks
+                        other than BCEL, such as the <a href="http://asm.objectweb.org/">ASM</a>
+                        bytecode framework. You may experiment with writing ASM-based
+                        detectors, but beware the API may still change (which could
+                        possibly also affect BCEL-based detectors). In general, we've
+                        started trying to move away from a deep dependence on BCEL, but
+                        that change is only partially complete. Probably best to just
+                        avoid this until we complete more work on this. This change is
+                        only visible to FindBugs plugin developers, and shouldn't be
+                        visible to FindBugs users.
+                    </li>
+                    <li>
+                        <p>Bug categories (CORRECTNESS, MT_CORRECTNESS, etc.) are no
+                            longer hard-coded, but rather defined in xml files associated
+                            with plugins, including the core plugin which defines the
+                            standard categories. Third-party plugins can define their own
+                            categories.</p>
+                    </li>
+                    <li>
+                        <p>Several bug patterns have been moved from CORRECTNESS and
+                            STYLE into a new category, BAD_PRACTICE. The English localization
+                            of STYLE has changed from "Style" to "Dodgy."</p>
+                        <p>In general, we've worked very hard to limit CORRECTNESS
+                            bugs to be real programming errors and sins of commission. We
+                            have reclassified as BAD_PRACTICE a number of bad design
+                            practices that result in overly fragile code, such as defining an
+                            equals method that doesn't accept null or defining class with a
+                            equals method that inherits hashCode from class Object.</p>
+                        <p>In general, our guidelines for deciding whether a bug
+                            should be classified as CORRECTNESS, BAD_PRACTICE or STYLE are:</p>
+                        <dl>
+                            <dt>CORRECTNESS</dt>
+                            <dd>A problem that we can recognize with high confidence and
+                                is an issue that we believe almost all developers would want to
+                                examine and address. We recommend that software teams review all
+                                high and medium priority warnings in their entire code base.</dd>
+                            <dt>BAD_PRACTICE</dt>
+                            <dd>A problem that we can recognize with high confidence and
+                                represents a clear violation of recommended and standard coding
+                                practice. We believe each software team should decide which bad
+                                practices identified by FindBugs it wants to prohibit in the
+                                team's coding standard, and take action to remedy violations of
+                                those coding standards.</dd>
+                            <dt>STYLE</dt>
+                            <dd>These are places where something strange or dodgy is
+                                going on, such as a dead store to a local variable. Typically,
+                                less than half of these represent actionable programming
+                                defects. Reviewing these warnings in any code under active
+                                development is probably a good idea, but reviewing all such
+                                warnings in your entire code base might be appropriate only in
+                                some situations. Individual or team programming styles can
+                                substantially influence the effectiveness of each of these
+                                warnings (e.g., you might have a coding practice or style in
+                                your group that confuses one of the detectors into generating a
+                                lot of STYLE warnings); you will likely want to selectively
+                                suppress or report the STYLE warnings that are effective for
+                                your group.</dd>
+                        </dl>
+                    </li>
+                    <li>Released a preliminary version of a new GUI (known
+                        internally as GUI2 -- not very creative, huh?)</li>
+                    <li>Provided standard ways to mark user designations of bug
+                        warnings (e.g., as NOT_A_BUG or SHOULD_FIX). The internal logic
+                        now records this, it is represented in the XML file, and GUI2
+                        allows the designations to be applied (along with free-form user
+                        annotations about each warning). The user designations and
+                        annotations are not yet supported by the Eclipse plugin, but we
+                        clearly want to support it in Eclipse shortly.</li>
+                    <li>Added a check for a bad comparison with a signed byte with
+                        a value not in the range -128..127. For example: <pre>boolean find200(byte b[]) {
   for(int i = 0; i &lt; b.length; i++) if (b[i] == 200) return i;
   return -1;
 }
 </pre>
-					</li>
-					<li>Added a checking for testing if a value is equal to
-						Double.NaN (no value is equal to NaN, not even NaN).</li>
-					<li>Added a check for using a class with an equals method but
-						no hashCode method in a hashed data structure.</li>
-					<li>Added check for uncallable method of an anonymous inner
-						class. For example, in the following code, it is impossible to
-						invoke the initalValue method (because the name is misspelled and
-						as a result is doesn't override a method in ThreadLocal). <pre>private static ThreadLocal serialNum = new ThreadLocal() {
+                    </li>
+                    <li>Added a checking for testing if a value is equal to
+                        Double.NaN (no value is equal to NaN, not even NaN).</li>
+                    <li>Added a check for using a class with an equals method but
+                        no hashCode method in a hashed data structure.</li>
+                    <li>Added check for uncallable method of an anonymous inner
+                        class. For example, in the following code, it is impossible to
+                        invoke the initalValue method (because the name is misspelled and
+                        as a result is doesn't override a method in ThreadLocal). <pre>private static ThreadLocal serialNum = new ThreadLocal() {
          protected synchronized Object initalValue() {
              return new Integer(nextSerialNum++);
          }
      };
 </pre>
-					</li>
-					<li>Added check for a dead local store caused by a switch
-						statement fall through</li>
-					<li>Added check for computing the absolute value of a random
-						32 bit integer or of a hashcode. This is broken because <code>
-							Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE </code> , and thus
-						result of calling Math.abs, which is expected to be nonnegative,
-						will in fact be negative one time out of 2 <sup> 32 </sup> , which
-						will invariably be the time your boss is demoing the software to
-						your customers.
+                    </li>
+                    <li>Added check for a dead local store caused by a switch
+                        statement fall through</li>
+                    <li>Added check for computing the absolute value of a random
+                        32 bit integer or of a hashcode. This is broken because <code>
+                            Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE </code> , and thus
+                        result of calling Math.abs, which is expected to be nonnegative,
+                        will in fact be negative one time out of 2 <sup> 32 </sup> , which
+                        will invariably be the time your boss is demoing the software to
+                        your customers.
 
-					</li>
-					<li>More careful resolution of inherited methods and fields.
-						Some of the shortcuts we were taking in FindBugs 1.0.0 were
-						leading to inaccurate results, and it was fairly easy to address
-						this by making the analysis more accurate.</li>
-					<li>Overall, analysis times are about 1.6 times longer in
-						FindBugs 1.1.0 than in FindBugs 1.0.0. This is because we have
-						enabled substantial additional analysis at the default effort
-						level (the actual analysis engine is significantly faster than in
-						FindBugs 1.0). On a recent AMD Athlon processor, analyzing
-						JDK1.6.0 (about 1 million lines of code) requires about 15 minutes
-						of wall clock time.</li>
-					<li>Provided class and script (printClass) to print classfile
-						in the human readable format produced by BCEL</li>
-					<li>Provided -findSource option to setBugDatabaseInfo</li>
-				</ul>
+                    </li>
+                    <li>More careful resolution of inherited methods and fields.
+                        Some of the shortcuts we were taking in FindBugs 1.0.0 were
+                        leading to inaccurate results, and it was fairly easy to address
+                        this by making the analysis more accurate.</li>
+                    <li>Overall, analysis times are about 1.6 times longer in
+                        FindBugs 1.1.0 than in FindBugs 1.0.0. This is because we have
+                        enabled substantial additional analysis at the default effort
+                        level (the actual analysis engine is significantly faster than in
+                        FindBugs 1.0). On a recent AMD Athlon processor, analyzing
+                        JDK1.6.0 (about 1 million lines of code) requires about 15 minutes
+                        of wall clock time.</li>
+                    <li>Provided class and script (printClass) to print classfile
+                        in the human readable format produced by BCEL</li>
+                    <li>Provided -findSource option to setBugDatabaseInfo</li>
+                </ul>
 
 
-				<p>Changes since version 0.9.7:</p>
+                <p>Changes since version 0.9.7:</p>
 
-				<ul>
-					<li>fix ObjectTypeFactory bug that was suppressing some bugs</li>
-					<li>opcode stack may determine definite zeros on some paths</li>
-					<li>opcode stack can track some constant string concatenations
-						(dbrosius)</li>
-					<li>default effort performs iterative opcode analysis (but min
-						effort does not)</li>
-					<li>default heap size upped to 384m</li>
-					<li>schema for XML output available: bugcollection.xsd</li>
-					<li>fixed some internal confusion between dotted and slashed
-						class names</li>
-					<li>New detectors
-						<ul>
-							<li>CheckImmutableAnnotation.java: checks JCIP annotations</li>
-						</ul>
-					</li>
-					<li>Updated detectors
-						<ul>
-							<li>BadRegEx.java: understands Pattern.LITERAL, warns about
-								"."</li>
-							<li>FindUnreleasedLock.java: fewer false positives</li>
-							<li>DumbMethods.java: check for vacuous comparisons to
-								MAX_INTEGER or MIN_INTEGER, fix bugs detecting
-								DM_NEXTINT_VIA_NEXTDOUBLE</li>
-							<li>FindPuzzlers.java: detect <tt>n%2==1</tt>, detect
-								toString() on array types
-							</li>
-							<li>FindInconsistentSync2.java: detects IS_FIELD_NOT_GUARDED
-							</li>
-							<li>MethodReturnCheck.java: add check for discarded newly
-								constructed values, increase priority of some ignored
-								constructed exceptions, better handling of bytecode compiled by
-								Eclipse</li>
-							<li>FindEmptySynchronizedBlock.java: better handling of
-								bytecode compiled by Eclipse</li>
-							<li>DoInsideDoPrivileged.java: warn if call to setAccessible
-								isn't in doPriviledged, don't report private methods</li>
-							<li>LoadOfKnownNullValue.java: fix bug that was reporting
-								false positives on <code> finally </code> blocks
-							</li>
-							<li>CheckReturnAnnotationDatabase.java: better checks for
-								unstarted threads</li>
-							<li>ConfusionBetweenInheritedAndOuterMethod.java: fewer
-								false positives, fixed a package-handling bug</li>
-							<li>BadResultSetAccess.java: separate bug pattern for
-								PreparedStatements, <code> BRZA </code> category folded into <code>
-									SQL </code> category
-							</li>
-							<li>FindDeadLocalStores.java, FindBadCast2.java,
-								DumbMethods.java, RuntimeExceptionCapture.java: coalesce similar
-								bugs within a method into a single bug instance with multiple
-								source lines</li>
-						</ul>
-					</li>
-					<li>Eclipse plugin
-						<ul>
-							<li>plugin ID changed from <tt>de.tobject.findbugs</tt> to <tt>edu.umd.cs.findbugs.plugin.eclipse</tt>
-							</li>
-							<li>support for findbugs eclipse auto-update site</li>
-						</ul>
-					</li>
-					<li>Updated test case files
-						<ul>
-							<li>BadRegEx.java</li>
-							<li>JSR166.java</li>
-							<li>ConcurrentModificationBug.java</li>
-							<li>DeadStore.java</li>
-							<li>InstanceOf.java</li>
-							<li>LoadKnownNull.java</li>
-							<li>NeedsToCheckReturnValue.java</li>
-							<li>BadResultSetAccessTest.java</li>
-							<li>DeadStore.java</li>
-							<li>TestNonNull2.java</li>
-							<li>TestImmutable.java</li>
-							<li>TestGuardedBy.java</li>
-							<li>BadRandomInt.java</li>
-							<li>six test cases added to new <code> TigerTraps </code>
-								directory
-							</li>
-						</ul>
-					</li>
-					<li>fix bug that was generating duplicate uids</li>
-					<li>fix bug with <code> -onlyAnalyze some.package.* </code> on
-						jdk1.4
-					</li>
-					<li>fix regression bug in
-						DismantleByteCode.getRefConstantOperand()</li>
-					<li>fix some minor bugs with the Swing GUI</li>
-					<li>reordered some bugInstances so that source line
-						annotations come last</li>
-					<li>removed references to unused java system properties</li>
-					<li>French translation updates (David Cotton)</li>
-					<li>Japanese translation updates (Hanai Shisei)</li>
-					<li>content cleanup for findbugs.xml and messages.xml</li>
-					<li>references to cvs hostname updated to
-						findbugs.cvs.sourceforge.net</li>
-					<li>documented xdoc output options, new
-						mineBugHistory/computeBugHistory options</li>
-				</ul>
+                <ul>
+                    <li>fix ObjectTypeFactory bug that was suppressing some bugs</li>
+                    <li>opcode stack may determine definite zeros on some paths</li>
+                    <li>opcode stack can track some constant string concatenations
+                        (dbrosius)</li>
+                    <li>default effort performs iterative opcode analysis (but min
+                        effort does not)</li>
+                    <li>default heap size upped to 384m</li>
+                    <li>schema for XML output available: bugcollection.xsd</li>
+                    <li>fixed some internal confusion between dotted and slashed
+                        class names</li>
+                    <li>New detectors
+                        <ul>
+                            <li>CheckImmutableAnnotation.java: checks JCIP annotations</li>
+                        </ul>
+                    </li>
+                    <li>Updated detectors
+                        <ul>
+                            <li>BadRegEx.java: understands Pattern.LITERAL, warns about
+                                "."</li>
+                            <li>FindUnreleasedLock.java: fewer false positives</li>
+                            <li>DumbMethods.java: check for vacuous comparisons to
+                                MAX_INTEGER or MIN_INTEGER, fix bugs detecting
+                                DM_NEXTINT_VIA_NEXTDOUBLE</li>
+                            <li>FindPuzzlers.java: detect <tt>n%2==1</tt>, detect
+                                toString() on array types
+                            </li>
+                            <li>FindInconsistentSync2.java: detects IS_FIELD_NOT_GUARDED
+                            </li>
+                            <li>MethodReturnCheck.java: add check for discarded newly
+                                constructed values, increase priority of some ignored
+                                constructed exceptions, better handling of bytecode compiled by
+                                Eclipse</li>
+                            <li>FindEmptySynchronizedBlock.java: better handling of
+                                bytecode compiled by Eclipse</li>
+                            <li>DoInsideDoPrivileged.java: warn if call to setAccessible
+                                isn't in doPriviledged, don't report private methods</li>
+                            <li>LoadOfKnownNullValue.java: fix bug that was reporting
+                                false positives on <code> finally </code> blocks
+                            </li>
+                            <li>CheckReturnAnnotationDatabase.java: better checks for
+                                unstarted threads</li>
+                            <li>ConfusionBetweenInheritedAndOuterMethod.java: fewer
+                                false positives, fixed a package-handling bug</li>
+                            <li>BadResultSetAccess.java: separate bug pattern for
+                                PreparedStatements, <code> BRZA </code> category folded into <code>
+                                    SQL </code> category
+                            </li>
+                            <li>FindDeadLocalStores.java, FindBadCast2.java,
+                                DumbMethods.java, RuntimeExceptionCapture.java: coalesce similar
+                                bugs within a method into a single bug instance with multiple
+                                source lines</li>
+                        </ul>
+                    </li>
+                    <li>Eclipse plugin
+                        <ul>
+                            <li>plugin ID changed from <tt>de.tobject.findbugs</tt> to <tt>edu.umd.cs.findbugs.plugin.eclipse</tt>
+                            </li>
+                            <li>support for findbugs eclipse auto-update site</li>
+                        </ul>
+                    </li>
+                    <li>Updated test case files
+                        <ul>
+                            <li>BadRegEx.java</li>
+                            <li>JSR166.java</li>
+                            <li>ConcurrentModificationBug.java</li>
+                            <li>DeadStore.java</li>
+                            <li>InstanceOf.java</li>
+                            <li>LoadKnownNull.java</li>
+                            <li>NeedsToCheckReturnValue.java</li>
+                            <li>BadResultSetAccessTest.java</li>
+                            <li>DeadStore.java</li>
+                            <li>TestNonNull2.java</li>
+                            <li>TestImmutable.java</li>
+                            <li>TestGuardedBy.java</li>
+                            <li>BadRandomInt.java</li>
+                            <li>six test cases added to new <code> TigerTraps </code>
+                                directory
+                            </li>
+                        </ul>
+                    </li>
+                    <li>fix bug that was generating duplicate uids</li>
+                    <li>fix bug with <code> -onlyAnalyze some.package.* </code> on
+                        jdk1.4
+                    </li>
+                    <li>fix regression bug in
+                        DismantleByteCode.getRefConstantOperand()</li>
+                    <li>fix some minor bugs with the Swing GUI</li>
+                    <li>reordered some bugInstances so that source line
+                        annotations come last</li>
+                    <li>removed references to unused java system properties</li>
+                    <li>French translation updates (David Cotton)</li>
+                    <li>Japanese translation updates (Hanai Shisei)</li>
+                    <li>content cleanup for findbugs.xml and messages.xml</li>
+                    <li>references to cvs hostname updated to
+                        findbugs.cvs.sourceforge.net</li>
+                    <li>documented xdoc output options, new
+                        mineBugHistory/computeBugHistory options</li>
+                </ul>
 
-				<p>Changes since version 0.9.6:</p>
+                <p>Changes since version 0.9.6:</p>
 
-				<ul>
-					<li>performance improvements</li>
-					<li>ObjectType instances are cached to reduce memory footprint
-					</li>
-					<li>for performance and memory reasons stateless detectors are
-						no longer cloned, must clear their own state between .class files
-					</li>
-					<li>fixed bug in bytecode-set lookup for methods (was causing
-						bad results for IS2, perhaps others)</li>
-					<li>fix some OpcodeStack bugs with integer and long
-						operations, perform iterative analysis when effort is <tt>max</tt>
-					</li>
-					<li>HTML output includes LongMessage text again (regression in
-						0.95 - 0.96)</li>
-					<li>New detectors
-						<ul>
-							<li>CalledMethods.java: builds a list of invoked methods for
-								other detectors to consult (non-reporting)</li>
-							<li>UncallableMethodOfAnonymousClass.java: detect anonymous
-								inner classes that define methods that are probably intended to
-								but do not override methods in a superclass.</li>
-						</ul>
-					</li>
-					<li>Updated detectors
-						<ul>
-							<li>FindFieldSelfAssignment.java: recognize separate fields
-								with the same name (one from superclass)</li>
-							<li>FindLocalSelfAssignment2.java: handles backward branches
-								better (Dave Brosius)</li>
-							<li>FindBadCast2.java: BC_NULL_INSTANCEOF changed to
-								NP_NULL_INSTANCEOF</li>
-							<li>FindPuzzlers.java: eliminate false positive on setDate()
-								(Dave Brosius)</li>
-						</ul>
-					</li>
-					<li>Eclipse plugin
-						<ul>
-							<li>fix serious threading bug</li>
-							<li>preferences for Filters and effort (Peter Hendriks)</li>
-							<li>French localization (David Cotton)</li>
-							<li>fix bug when reporting inner classes (Peter Friese)</li>
-						</ul>
-					</li>
-					<li>Updated test case files
-						<ul>
-							<li>Mwn.java (Carl Burke/Dave Brosius)</li>
-							<li>DumbMethodInvocations.java (Anto paul/Dave Brosius)</li>
-							<!--sic-->
-						</ul>
-					</li>
-					<li>XML output includes garbage collection duration</li>
-					<li>French messages updated (David Cotton)</li>
-					<li>Swing GUI shows file name after Load Bugs command</li>
-					<li>Ant task to launch the findbugs frame (Mark McKay)</li>
-					<li>miscellaneous code cleanup</li>
-				</ul>
+                <ul>
+                    <li>performance improvements</li>
+                    <li>ObjectType instances are cached to reduce memory footprint
+                    </li>
+                    <li>for performance and memory reasons stateless detectors are
+                        no longer cloned, must clear their own state between .class files
+                    </li>
+                    <li>fixed bug in bytecode-set lookup for methods (was causing
+                        bad results for IS2, perhaps others)</li>
+                    <li>fix some OpcodeStack bugs with integer and long
+                        operations, perform iterative analysis when effort is <tt>max</tt>
+                    </li>
+                    <li>HTML output includes LongMessage text again (regression in
+                        0.95 - 0.96)</li>
+                    <li>New detectors
+                        <ul>
+                            <li>CalledMethods.java: builds a list of invoked methods for
+                                other detectors to consult (non-reporting)</li>
+                            <li>UncallableMethodOfAnonymousClass.java: detect anonymous
+                                inner classes that define methods that are probably intended to
+                                but do not override methods in a superclass.</li>
+                        </ul>
+                    </li>
+                    <li>Updated detectors
+                        <ul>
+                            <li>FindFieldSelfAssignment.java: recognize separate fields
+                                with the same name (one from superclass)</li>
+                            <li>FindLocalSelfAssignment2.java: handles backward branches
+                                better (Dave Brosius)</li>
+                            <li>FindBadCast2.java: BC_NULL_INSTANCEOF changed to
+                                NP_NULL_INSTANCEOF</li>
+                            <li>FindPuzzlers.java: eliminate false positive on setDate()
+                                (Dave Brosius)</li>
+                        </ul>
+                    </li>
+                    <li>Eclipse plugin
+                        <ul>
+                            <li>fix serious threading bug</li>
+                            <li>preferences for Filters and effort (Peter Hendriks)</li>
+                            <li>French localization (David Cotton)</li>
+                            <li>fix bug when reporting inner classes (Peter Friese)</li>
+                        </ul>
+                    </li>
+                    <li>Updated test case files
+                        <ul>
+                            <li>Mwn.java (Carl Burke/Dave Brosius)</li>
+                            <li>DumbMethodInvocations.java (Anto paul/Dave Brosius)</li>
+                            <!--sic-->
+                        </ul>
+                    </li>
+                    <li>XML output includes garbage collection duration</li>
+                    <li>French messages updated (David Cotton)</li>
+                    <li>Swing GUI shows file name after Load Bugs command</li>
+                    <li>Ant task to launch the findbugs frame (Mark McKay)</li>
+                    <li>miscellaneous code cleanup</li>
+                </ul>
 
-				<p>Changes since version 0.9.5:</p>
+                <p>Changes since version 0.9.5:</p>
 
-				<ul>
-					<li>Updated detectors
-						<ul>
-							<li>FindNullDeref.java: respect NonNull and CheckForNull
-								field annotations</li>
-							<li>SerializableIdiom.java: detect non-private readObject
-								and writeObject methods</li>
-							<li>FindRefComparison.java: smarter array comparison
-								detection</li>
-							<li>IsNullValueAnalysis.java: detect <tt>null
-									instanceof</tt>
-							</li>
-							<li>FindLocalSelfAssignment2.java: suppress some false
-								positives (Dave Brosius)</li>
-							<li>FindUnreleasedLock.java: don't waste time processing
-								classes that don't refer to java.util.concurrent.locks</li>
-							<li>MutableStaticFields.java: report the source line (Dave
-								Brosius)</li>
-							<li>SwitchFallthrough.java: better handling of System.exit()
-								(Dave Brosius)</li>
-							<li>MultithreadedInstanceAccess.java: better handling of
-								Servlet.init() (Dave Brosius)</li>
-							<li>ConfusionBetweenInheritedAndOuterMethod.java: now
-								enabled</li>
-						</ul>
-					</li>
-					<li>Eclipse plugin
-						<ul>
-							<li>background processing (Peter Friese)</li>
-							<li>internationalization, Japanese localization (Takashi
-								Okamoto)</li>
-						</ul>
-					</li>
-					<li>findbugs <tt>-onlyAnalyze</tt> option now works on windows
-						platforms
-					</li>
-					<li>mineBugHistory <tt>-noTabs</tt> option for better
-						alignment of output columns
-					</li>
-					<li>filterBugs <tt>-fixed</tt> option (also: will now
-						recognize the most recent version string)
-					</li>
-					<li>XML output includes running time and memory usage data</li>
-					<li>miscellaneous minor corrections to the manual</li>
-					<li>better bytecode analysis of the <tt>iinc</tt> instruction
-					</li>
-					<li>fix bug in null pointer analysis</li>
-					<li>improved catch block heuristics</li>
-					<li>some type analysis tweaks</li>
-					<li>Bug priority changes
-						<ul>
-							<li>DumbMethodInvocations.java: decrease priority of
-								hard-coded <tt>/tmp</tt> filenames
-							</li>
-							<li>ComparatorIdiom.java: decrease priority of
-								non-serializable anonymous comparators</li>
-							<li>FindSqlInjection.java: decrease priority of appending a
-								constant or a static</li>
-						</ul>
-					</li>
-					<li>Updated bug explanations
-						<ul>
-							<li>NM_VERY_CONFUSING (Dave Brosius)</li>
-						</ul>
-					</li>
-					<li>Updated test case files
-						<ul>
-							<li>BadStoreOfNonSerializableObject.java</li>
-							<li>BadRandomInt.java</li>
-							<li>TestFieldAnnotations.java</li>
-							<li>UseInitCause.java</li>
-							<li>SqlInjection.java</li>
-							<li>ArrayEquality.java</li>
-							<li>BadIntegerOperations.java</li>
-							<li>Pilhuhn.java</li>
-							<li>InstanceOf.java</li>
-							<li>SwitchFallthrough.java (Dave Brosius)</li>
-						</ul>
-					</li>
-					<li>fix URL decoding bug when running under Java Web Start
-						(Dave Brosius)</li>
-					<li>distribution includes <tt>project.xml</tt> file for
-						NetBeans
-					</li>
-				</ul>
+                <ul>
+                    <li>Updated detectors
+                        <ul>
+                            <li>FindNullDeref.java: respect NonNull and CheckForNull
+                                field annotations</li>
+                            <li>SerializableIdiom.java: detect non-private readObject
+                                and writeObject methods</li>
+                            <li>FindRefComparison.java: smarter array comparison
+                                detection</li>
+                            <li>IsNullValueAnalysis.java: detect <tt>null
+                                    instanceof</tt>
+                            </li>
+                            <li>FindLocalSelfAssignment2.java: suppress some false
+                                positives (Dave Brosius)</li>
+                            <li>FindUnreleasedLock.java: don't waste time processing
+                                classes that don't refer to java.util.concurrent.locks</li>
+                            <li>MutableStaticFields.java: report the source line (Dave
+                                Brosius)</li>
+                            <li>SwitchFallthrough.java: better handling of System.exit()
+                                (Dave Brosius)</li>
+                            <li>MultithreadedInstanceAccess.java: better handling of
+                                Servlet.init() (Dave Brosius)</li>
+                            <li>ConfusionBetweenInheritedAndOuterMethod.java: now
+                                enabled</li>
+                        </ul>
+                    </li>
+                    <li>Eclipse plugin
+                        <ul>
+                            <li>background processing (Peter Friese)</li>
+                            <li>internationalization, Japanese localization (Takashi
+                                Okamoto)</li>
+                        </ul>
+                    </li>
+                    <li>findbugs <tt>-onlyAnalyze</tt> option now works on windows
+                        platforms
+                    </li>
+                    <li>mineBugHistory <tt>-noTabs</tt> option for better
+                        alignment of output columns
+                    </li>
+                    <li>filterBugs <tt>-fixed</tt> option (also: will now
+                        recognize the most recent version string)
+                    </li>
+                    <li>XML output includes running time and memory usage data</li>
+                    <li>miscellaneous minor corrections to the manual</li>
+                    <li>better bytecode analysis of the <tt>iinc</tt> instruction
+                    </li>
+                    <li>fix bug in null pointer analysis</li>
+                    <li>improved catch block heuristics</li>
+                    <li>some type analysis tweaks</li>
+                    <li>Bug priority changes
+                        <ul>
+                            <li>DumbMethodInvocations.java: decrease priority of
+                                hard-coded <tt>/tmp</tt> filenames
+                            </li>
+                            <li>ComparatorIdiom.java: decrease priority of
+                                non-serializable anonymous comparators</li>
+                            <li>FindSqlInjection.java: decrease priority of appending a
+                                constant or a static</li>
+                        </ul>
+                    </li>
+                    <li>Updated bug explanations
+                        <ul>
+                            <li>NM_VERY_CONFUSING (Dave Brosius)</li>
+                        </ul>
+                    </li>
+                    <li>Updated test case files
+                        <ul>
+                            <li>BadStoreOfNonSerializableObject.java</li>
+                            <li>BadRandomInt.java</li>
+                            <li>TestFieldAnnotations.java</li>
+                            <li>UseInitCause.java</li>
+                            <li>SqlInjection.java</li>
+                            <li>ArrayEquality.java</li>
+                            <li>BadIntegerOperations.java</li>
+                            <li>Pilhuhn.java</li>
+                            <li>InstanceOf.java</li>
+                            <li>SwitchFallthrough.java (Dave Brosius)</li>
+                        </ul>
+                    </li>
+                    <li>fix URL decoding bug when running under Java Web Start
+                        (Dave Brosius)</li>
+                    <li>distribution includes <tt>project.xml</tt> file for
+                        NetBeans
+                    </li>
+                </ul>
 
-				<p>Changes since version 0.9.4:</p>
-				<ul>
-					<li>New detectors
-						<ul>
-							<li>VarArgsProblems.java</li>
-							<li>FindSqlInjection.java: now enabled</li>
-							<li>ComparatorIdiom.java: comparators usually implement
-								serializable</li>
-							<li>Naming.java: detect methods not overridden due to
-								eponymously typed args from different packages</li>
-						</ul>
-					</li>
-					<li>Updated detectors
-						<ul>
-							<li>SwitchFallthrough.java: surpress some false positives</li>
-							<li>DuplicateBranches.java: surpress some false positives</li>
-							<li>IteratorIdioms.java: surpress some false positives</li>
-							<li>FindHEmismatch.java: surpress some false positives</li>
-							<li>QuestionableBooleanAssignment.java: finds more cases of
-								<tt>if (b=true)</tt> ilk
-							</li>
-							<li>DumbMethods.java: detect int remainder by 1, delayed gc
-								errors</li>
-							<li>SerializableIdiom.java: detect store of nonserializable
-								object into field of serializable class</li>
-							<li>FindNullDeref.java: fix potential exception</li>
-							<li>IsNullValue.java: fix potential exception</li>
-							<li>MultithreadedInstanceAccess.java: fix potential
-								exception</li>
-							<li>PreferZeroLengthArrays.java: flag the method, not the
-								line</li>
-						</ul>
-					</li>
-					<li>Remove some inadvertent dependencies on JDK 1.5</li>
-					<li>Sort order should be more consistent</li>
-					<li>XML output changes
-						<ul>
-							<li>Option to sort XML bug output</li>
-							<li>Now contains instance IDs</li>
-							<li>uid no longer missing (was causing problems with fancy
-								HTML output)</li>
-							<li>Typo fixed</li>
-						</ul>
-					</li>
-					<li>Internal changes to track source files, <tt>-sourceInfo</tt>
-						option
-					</li>
-					<li>Bug matching: first try exact bug pattern matching, option
-						to compare priorities, option to disable package moves</li>
-					<li>Architecture documentation in <tt>design/architecture</tt>
-					</li>
-					<li>Test cases move into their own CVS project</li>
-					<li>Don't report warnings that occur outside the analyzed
-						classes</li>
-					<li>Fixes to the build.xml files</li>
-					<li>Better handling of @CheckReturnValue and @CheckForNull
-						annotations (also, some additional methods searched for check
-						return value and check for null)</li>
-					<li>Fixed some stream-closing bugs (one by <tt>z-fb-user</tt>/Dave
-						Brosius)
-					</li>
-					<li>Bug priority changes
-						<ul>
-							<li>increase priority of ignoring return value of
-								java.sql.Connection methods</li>
-							<li>increase priority of comparing classes like Integer
-								using <tt>==</tt>
-							</li>
-							<li>decrease priority of IT_NO_SUCH_ELEMENT if we see any
-								call to <tt>next()</tt>
-							</li>
-							<li>tweak priority of NM_METHOD_CONSTRUCTOR_CONFUSION</li>
-							<li>decrease priority of RV_RETURN_VALUE_IGNORED for an
-								inherited annotation that doesn't return same type as class</li>
-						</ul>
-					</li>
-					<li>Updated bug explanations
-						<ul>
-							<li>RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE</li>
-							<li>DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED</li>
-							<li>IMA_INEFFICIENT_MEMBER_ACCESS (Dave Brosius)</li>
-							<li>some Japanese improvements to messages_ja.xml ( <tt>ruimo</tt>)
-							</li>
-							<li>some German improvements to findbugs_de.properties (Dave
-								Brosius, <tt>dvholten</tt>)
-							</li>
-						</ul>
-					</li>
-					<li>Updated test case files
-						<ul>
-							<li>BadIntegerOperations.java</li>
-							<li>SecondKaboom.java</li>
-							<li>OpenDatabase.java (Dave Brosius)</li>
-							<li>FindOpenStream.java (Dave Brosius)</li>
-							<li>BadRandomInt.java</li>
-						</ul>
-					</li>
-					<li>Source-lines info maintained for methods (handy for
-						abstract and native methods)</li>
-					<li>Remove surrounding opcodes from source line annotations</li>
-					<li>Better error when can't read file</li>
-					<li>Swing GUI: removed console pane from FindBugsFrame, fix
-						missing classes bug</li>
-					<li>Fixes to OpcodeStack.java</li>
-					<li>Detectors may attach a custom value to an OpcodeStack.Item
-						(Dave Brosius)</li>
-					<li>Filter.java: ability to add text messages to XML output,
-						fix bug with <tt>-withMessages</tt>
-					</li>
-					<li>SourceInfoMap supports ranges of source lines</li>
-					<li>Ant task supports the <tt>timestampNow</tt> attribute
-					</li>
-				</ul>
+                <p>Changes since version 0.9.4:</p>
+                <ul>
+                    <li>New detectors
+                        <ul>
+                            <li>VarArgsProblems.java</li>
+                            <li>FindSqlInjection.java: now enabled</li>
+                            <li>ComparatorIdiom.java: comparators usually implement
+                                serializable</li>
+                            <li>Naming.java: detect methods not overridden due to
+                                eponymously typed args from different packages</li>
+                        </ul>
+                    </li>
+                    <li>Updated detectors
+                        <ul>
+                            <li>SwitchFallthrough.java: surpress some false positives</li>
+                            <li>DuplicateBranches.java: surpress some false positives</li>
+                            <li>IteratorIdioms.java: surpress some false positives</li>
+                            <li>FindHEmismatch.java: surpress some false positives</li>
+                            <li>QuestionableBooleanAssignment.java: finds more cases of
+                                <tt>if (b=true)</tt> ilk
+                            </li>
+                            <li>DumbMethods.java: detect int remainder by 1, delayed gc
+                                errors</li>
+                            <li>SerializableIdiom.java: detect store of nonserializable
+                                object into field of serializable class</li>
+                            <li>FindNullDeref.java: fix potential exception</li>
+                            <li>IsNullValue.java: fix potential exception</li>
+                            <li>MultithreadedInstanceAccess.java: fix potential
+                                exception</li>
+                            <li>PreferZeroLengthArrays.java: flag the method, not the
+                                line</li>
+                        </ul>
+                    </li>
+                    <li>Remove some inadvertent dependencies on JDK 1.5</li>
+                    <li>Sort order should be more consistent</li>
+                    <li>XML output changes
+                        <ul>
+                            <li>Option to sort XML bug output</li>
+                            <li>Now contains instance IDs</li>
+                            <li>uid no longer missing (was causing problems with fancy
+                                HTML output)</li>
+                            <li>Typo fixed</li>
+                        </ul>
+                    </li>
+                    <li>Internal changes to track source files, <tt>-sourceInfo</tt>
+                        option
+                    </li>
+                    <li>Bug matching: first try exact bug pattern matching, option
+                        to compare priorities, option to disable package moves</li>
+                    <li>Architecture documentation in <tt>design/architecture</tt>
+                    </li>
+                    <li>Test cases move into their own CVS project</li>
+                    <li>Don't report warnings that occur outside the analyzed
+                        classes</li>
+                    <li>Fixes to the build.xml files</li>
+                    <li>Better handling of @CheckReturnValue and @CheckForNull
+                        annotations (also, some additional methods searched for check
+                        return value and check for null)</li>
+                    <li>Fixed some stream-closing bugs (one by <tt>z-fb-user</tt>/Dave
+                        Brosius)
+                    </li>
+                    <li>Bug priority changes
+                        <ul>
+                            <li>increase priority of ignoring return value of
+                                java.sql.Connection methods</li>
+                            <li>increase priority of comparing classes like Integer
+                                using <tt>==</tt>
+                            </li>
+                            <li>decrease priority of IT_NO_SUCH_ELEMENT if we see any
+                                call to <tt>next()</tt>
+                            </li>
+                            <li>tweak priority of NM_METHOD_CONSTRUCTOR_CONFUSION</li>
+                            <li>decrease priority of RV_RETURN_VALUE_IGNORED for an
+                                inherited annotation that doesn't return same type as class</li>
+                        </ul>
+                    </li>
+                    <li>Updated bug explanations
+                        <ul>
+                            <li>RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE</li>
+                            <li>DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED</li>
+                            <li>IMA_INEFFICIENT_MEMBER_ACCESS (Dave Brosius)</li>
+                            <li>some Japanese improvements to messages_ja.xml ( <tt>ruimo</tt>)
+                            </li>
+                            <li>some German improvements to findbugs_de.properties (Dave
+                                Brosius, <tt>dvholten</tt>)
+                            </li>
+                        </ul>
+                    </li>
+                    <li>Updated test case files
+                        <ul>
+                            <li>BadIntegerOperations.java</li>
+                            <li>SecondKaboom.java</li>
+                            <li>OpenDatabase.java (Dave Brosius)</li>
+                            <li>FindOpenStream.java (Dave Brosius)</li>
+                            <li>BadRandomInt.java</li>
+                        </ul>
+                    </li>
+                    <li>Source-lines info maintained for methods (handy for
+                        abstract and native methods)</li>
+                    <li>Remove surrounding opcodes from source line annotations</li>
+                    <li>Better error when can't read file</li>
+                    <li>Swing GUI: removed console pane from FindBugsFrame, fix
+                        missing classes bug</li>
+                    <li>Fixes to OpcodeStack.java</li>
+                    <li>Detectors may attach a custom value to an OpcodeStack.Item
+                        (Dave Brosius)</li>
+                    <li>Filter.java: ability to add text messages to XML output,
+                        fix bug with <tt>-withMessages</tt>
+                    </li>
+                    <li>SourceInfoMap supports ranges of source lines</li>
+                    <li>Ant task supports the <tt>timestampNow</tt> attribute
+                    </li>
+                </ul>
 
-				<p>Changes since version 0.9.3:</p>
-				<ul>
-					<li>Substantial rework of datamining code</li>
-					<li>Removed bogus warnings about await on things other than
-						Condition not being in a loop</li>
-					<li>Fixed bug in OpcodeStack handling of dup2 of long/double
-						values</li>
-					<li>Don't report array types as missing classes</li>
-					<li>Adjustment of some warnings on ignored return values</li>
-					<li>Added thread safety annotations from Java Concurrency in
-						Practice (no detectors written for these yet)</li>
-					<li>Added annotation for methods that, if overridden, should
-						be invoked by overriding methods via a call to super</li>
-					<li>Updated -html:fancy.xsl (Etienne Giraudy)</li>
-				</ul>
+                <p>Changes since version 0.9.3:</p>
+                <ul>
+                    <li>Substantial rework of datamining code</li>
+                    <li>Removed bogus warnings about await on things other than
+                        Condition not being in a loop</li>
+                    <li>Fixed bug in OpcodeStack handling of dup2 of long/double
+                        values</li>
+                    <li>Don't report array types as missing classes</li>
+                    <li>Adjustment of some warnings on ignored return values</li>
+                    <li>Added thread safety annotations from Java Concurrency in
+                        Practice (no detectors written for these yet)</li>
+                    <li>Added annotation for methods that, if overridden, should
+                        be invoked by overriding methods via a call to super</li>
+                    <li>Updated -html:fancy.xsl (Etienne Giraudy)</li>
+                </ul>
 
-				<p>Note: there was no version 0.9.2</p>
+                <p>Note: there was no version 0.9.2</p>
 
-				<p>Changes since version 0.9.1:</p>
-				<ul>
-					<!-- New detectors -->
-					<li>Embellish USM to find abstract methods that implement an
-						interface method (Dave Brosius)</li>
-					<li>New detector to find stores of literal booleans inside if
-						or while expressions (Dave Brosius)</li>
-					<li>New style detector to find final classes that declare
-						protected fields (Dave Brosius)</li>
-					<li>New detector to find subclass methods that simply forward,
-						verbatim, to the super class (Dave Brosius)</li>
-					<li>Detector to find instances where code is attempting to
-						write an object out via an implementation of DataOutput, but the
-						object is not guaranteed to be Serializable (Jon Christiansen,
-						Bill Pugh)</li>
+                <p>Changes since version 0.9.1:</p>
+                <ul>
+                    <!-- New detectors -->
+                    <li>Embellish USM to find abstract methods that implement an
+                        interface method (Dave Brosius)</li>
+                    <li>New detector to find stores of literal booleans inside if
+                        or while expressions (Dave Brosius)</li>
+                    <li>New style detector to find final classes that declare
+                        protected fields (Dave Brosius)</li>
+                    <li>New detector to find subclass methods that simply forward,
+                        verbatim, to the super class (Dave Brosius)</li>
+                    <li>Detector to find instances where code is attempting to
+                        write an object out via an implementation of DataOutput, but the
+                        object is not guaranteed to be Serializable (Jon Christiansen,
+                        Bill Pugh)</li>
 
-					<!-- Feature enhancements -->
-					<li>Large (35%) analysis speedup (Bill Pugh)</li>
-					<li>Add line numbers to Swing GUI code panel (Dave Brosius)</li>
-					<li>Added effort options to Swing GUI (Dave Brosius)</li>
-					<li>Add ability to specify bugs file to open from command line
-						for GUI version, through -loadbugs (Phillip Martin)</li>
-					<li>New stylesheet for generating HTML: use option <tt>-html:plain.xsl</tt>
-						(Chris Nappin)
-					</li>
-					<li>New stylesheet for generating HTML: use option <tt>-html:fancy.xsl</tt>
-						(Etienne Giraudy)
-					</li>
-					<li>Updated Japanese bug message translations (Shisei Hanai)</li>
+                    <!-- Feature enhancements -->
+                    <li>Large (35%) analysis speedup (Bill Pugh)</li>
+                    <li>Add line numbers to Swing GUI code panel (Dave Brosius)</li>
+                    <li>Added effort options to Swing GUI (Dave Brosius)</li>
+                    <li>Add ability to specify bugs file to open from command line
+                        for GUI version, through -loadbugs (Phillip Martin)</li>
+                    <li>New stylesheet for generating HTML: use option <tt>-html:plain.xsl</tt>
+                        (Chris Nappin)
+                    </li>
+                    <li>New stylesheet for generating HTML: use option <tt>-html:fancy.xsl</tt>
+                        (Etienne Giraudy)
+                    </li>
+                    <li>Updated Japanese bug message translations (Shisei Hanai)</li>
 
-					<!-- Bug fixes -->
-					<li>XHTML compliance fixes for bug details (Etienne Giraudy)</li>
-					<li>Various detector fixes (Shisei Hanai)</li>
-					<li>Fixed bugs in the project preferences dialog int the
-						Eclipse plugin (Takashi Okamoto, Thomas Einwaller)</li>
-					<li>Lowered priority of analysis thread in Swing GUI (David
-						Hovemeyer, suggested by Shisei Hanai and Jeffrey W. Badorek)</li>
-					<li>Fixed EclipsePlugin to correctly pick up auxclasspath
-						entries (Jon Christiansen)</li>
-				</ul>
+                    <!-- Bug fixes -->
+                    <li>XHTML compliance fixes for bug details (Etienne Giraudy)</li>
+                    <li>Various detector fixes (Shisei Hanai)</li>
+                    <li>Fixed bugs in the project preferences dialog int the
+                        Eclipse plugin (Takashi Okamoto, Thomas Einwaller)</li>
+                    <li>Lowered priority of analysis thread in Swing GUI (David
+                        Hovemeyer, suggested by Shisei Hanai and Jeffrey W. Badorek)</li>
+                    <li>Fixed EclipsePlugin to correctly pick up auxclasspath
+                        entries (Jon Christiansen)</li>
+                </ul>
 
-				<p>Changes since version 0.9.0:</p>
-				<ul>
-					<li>Fixed dependence on JRE 1.5: all features should work on
-						JRE 1.4 again</li>
-					<li>Fixed -effort command line option handling for Swing GUI</li>
-					<li>Fixed conserveSpace and workHard attributes int Ant task</li>
-					<li>Added support for effort attribute in Ant task</li>
-				</ul>
+                <p>Changes since version 0.9.0:</p>
+                <ul>
+                    <li>Fixed dependence on JRE 1.5: all features should work on
+                        JRE 1.4 again</li>
+                    <li>Fixed -effort command line option handling for Swing GUI</li>
+                    <li>Fixed conserveSpace and workHard attributes int Ant task</li>
+                    <li>Added support for effort attribute in Ant task</li>
+                </ul>
 
-				<p>Changes since version 0.8.8:</p>
-				<ul>
-					<!-- New detectors and bug patterns -->
-					<li>XMLFactoryBypass detector to find direct allocation of xml
-						class implementations (Dave Brosius)</li>
-					<li>InefficientMemberAccess detector to find accesses to
-						owning class private members (Dave Brosius)</li>
-					<li>DuplicateBranches detector checks switch statements too
-						(Dave Brosius)</li>
+                <p>Changes since version 0.8.8:</p>
+                <ul>
+                    <!-- New detectors and bug patterns -->
+                    <li>XMLFactoryBypass detector to find direct allocation of xml
+                        class implementations (Dave Brosius)</li>
+                    <li>InefficientMemberAccess detector to find accesses to
+                        owning class private members (Dave Brosius)</li>
+                    <li>DuplicateBranches detector checks switch statements too
+                        (Dave Brosius)</li>
 
-					<!-- Feature enhancements -->
-					<li>FindBugs available from findbugs.sourceforge.net as Java
-						Web Start application (Dave Brosius)</li>
-					<li>Updated Japanese bug message translations (Shisei Hanai)</li>
-					<li>Improved bug detail message for covariant equals() (Shisei
-						Hanai)</li>
-					<li>Modeling of instanceof checks is now enabled by default,
-						making the bad cast detector much more useful (Bill Pugh, David
-						Hovemeyer)</li>
-					<li>Support for detector ordering constraints in plugin
-						descriptor (David Hovemeyer)</li>
-					<li>Simpler option to control analysis effort: -effort: <i>value</i>,
-						where <i>value</i> is one of <code> min </code> , <code>
-							default </code> , or <code> max </code> (David Hovemeyer)
-					</li>
-					<li>Using -effort:max, FindNullDeref checks for null arguments
-						passed to methods which dereference them unconditionally (David
-						Hovemeyer)</li>
-					<li>FindNullDeref checks @Null and @NonNull annotations for
-						parameters and return values (David Hovemeyer)</li>
+                    <!-- Feature enhancements -->
+                    <li>FindBugs available from findbugs.sourceforge.net as Java
+                        Web Start application (Dave Brosius)</li>
+                    <li>Updated Japanese bug message translations (Shisei Hanai)</li>
+                    <li>Improved bug detail message for covariant equals() (Shisei
+                        Hanai)</li>
+                    <li>Modeling of instanceof checks is now enabled by default,
+                        making the bad cast detector much more useful (Bill Pugh, David
+                        Hovemeyer)</li>
+                    <li>Support for detector ordering constraints in plugin
+                        descriptor (David Hovemeyer)</li>
+                    <li>Simpler option to control analysis effort: -effort: <i>value</i>,
+                        where <i>value</i> is one of <code> min </code> , <code>
+                            default </code> , or <code> max </code> (David Hovemeyer)
+                    </li>
+                    <li>Using -effort:max, FindNullDeref checks for null arguments
+                        passed to methods which dereference them unconditionally (David
+                        Hovemeyer)</li>
+                    <li>FindNullDeref checks @Null and @NonNull annotations for
+                        parameters and return values (David Hovemeyer)</li>
 
-					<!-- Bug fixes -->
-				</ul>
+                    <!-- Bug fixes -->
+                </ul>
 
-				<p>Changes since version 0.8.7:</p>
+                <p>Changes since version 0.8.7:</p>
 
-				<ul>
-					<!-- New detectors and bug patterns -->
-					<li>New detector to find duplicate code in if/else statements
-						(Dave Brosius)</li>
-					<li>Look for calls to wait() on Condition objects (David
-						Hovemeyer)</li>
-					<li>Look for java.util.concurrent.Lock objects not released on
-						every path out of method (David Hovemeyer)</li>
-					<li>Look for calls to Thread.sleep() with a lock held (David
-						Hovemeyer)</li>
-					<li>More accurate detection of impossible casts (Bill Pugh,
-						David Hovemeyer)</li>
+                <ul>
+                    <!-- New detectors and bug patterns -->
+                    <li>New detector to find duplicate code in if/else statements
+                        (Dave Brosius)</li>
+                    <li>Look for calls to wait() on Condition objects (David
+                        Hovemeyer)</li>
+                    <li>Look for java.util.concurrent.Lock objects not released on
+                        every path out of method (David Hovemeyer)</li>
+                    <li>Look for calls to Thread.sleep() with a lock held (David
+                        Hovemeyer)</li>
+                    <li>More accurate detection of impossible casts (Bill Pugh,
+                        David Hovemeyer)</li>
 
-					<!-- Feature enhancements -->
-					<li>Saved XML now contains project statistics (Jay Dunning)</li>
-					<li>Filter files can select by bug pattern type and warning
-						priority (David Hovemeyer)</li>
+                    <!-- Feature enhancements -->
+                    <li>Saved XML now contains project statistics (Jay Dunning)</li>
+                    <li>Filter files can select by bug pattern type and warning
+                        priority (David Hovemeyer)</li>
 
-					<!-- Bug fixes -->
-					<li>Restored some files inadvertently omitted from previous
-						release (Rohan Lloyd, David Hovemeyer)</li>
-					<li>Make sure detectors requiring JDK 1.5 runtime classes are
-						only executed if those classes are available (David Hovemeyer)</li>
-					<li>Don't display analysis error dialog unless there is really
-						an error (David Hovemeyer)</li>
-					<li>Updated and expanded French translations of bug patterns
-						and Swing GUI (Olivier Parent)</li>
-					<li>Fixed invalid character encoding in German Swing GUI
-						translation (Olivier Parent)</li>
-					<li>Fix locale used for date format in project stats (K.
-						Hashimoto)</li>
-					<li>Fixed LongDescription elements in xml:withMessages output
-						format (K. Hashimoto)</li>
-				</ul>
+                    <!-- Bug fixes -->
+                    <li>Restored some files inadvertently omitted from previous
+                        release (Rohan Lloyd, David Hovemeyer)</li>
+                    <li>Make sure detectors requiring JDK 1.5 runtime classes are
+                        only executed if those classes are available (David Hovemeyer)</li>
+                    <li>Don't display analysis error dialog unless there is really
+                        an error (David Hovemeyer)</li>
+                    <li>Updated and expanded French translations of bug patterns
+                        and Swing GUI (Olivier Parent)</li>
+                    <li>Fixed invalid character encoding in German Swing GUI
+                        translation (Olivier Parent)</li>
+                    <li>Fix locale used for date format in project stats (K.
+                        Hashimoto)</li>
+                    <li>Fixed LongDescription elements in xml:withMessages output
+                        format (K. Hashimoto)</li>
+                </ul>
 
-				<p>Changes since version 0.8.6:</p>
+                <p>Changes since version 0.8.6:</p>
 
-				<ul>
-					<!-- new detectors -->
-					<li>Extend Naming detector to look for classes that are named
-						XXXException but that are not Exceptions (Dave Brosius)</li>
-					<li>New detector to find classes that expose semaphores in the
-						public implementation through the 'this' reference. (Dave Brosius)
-					</li>
-					<li>New Style detector to find Struts Action/Servlet derived
-						classes that reference instance member variable not in
-						synchronized blocks. (Dave Brosius)</li>
-					<li>New Style detector to find classes that declare
-						implementation of interfaces that are already implemented by super
-						classes (Dave Brosius)</li>
-					<li>New Style detector to find circular dependencies between
-						classes (Dave Brosius)</li>
-					<li>New Style detector to find unnecessary math on constants
-						(Dave Brosius)</li>
-					<li>New detector to find equality comparisons using floating
-						point math (Jay Dunning)</li>
-					<li>New faster detector to find local self assignments (Bill
-						Pugh)</li>
-					<li>New detector to find infinite recursive loops (Bill Pugh)
-					</li>
-					<li>New detector to find for loops with an incorrect increment
-						(Bill Pugh)</li>
-					<li>New detector to find suspicious uses of
-						BufferedReader.readLine() and String.indexOf() (Bill Pugh)</li>
-					<li>New detector to find suspicious integer to double casts
-						(David Hovemeyer, Bill Pugh)</li>
-					<li>New detector to find invalid regular expression patterns
-						(Bill Pugh)</li>
-					<li>New detector to find Bloch/Gafter Java puzzlers (Bill
-						Pugh)</li>
+                <ul>
+                    <!-- new detectors -->
+                    <li>Extend Naming detector to look for classes that are named
+                        XXXException but that are not Exceptions (Dave Brosius)</li>
+                    <li>New detector to find classes that expose semaphores in the
+                        public implementation through the 'this' reference. (Dave Brosius)
+                    </li>
+                    <li>New Style detector to find Struts Action/Servlet derived
+                        classes that reference instance member variable not in
+                        synchronized blocks. (Dave Brosius)</li>
+                    <li>New Style detector to find classes that declare
+                        implementation of interfaces that are already implemented by super
+                        classes (Dave Brosius)</li>
+                    <li>New Style detector to find circular dependencies between
+                        classes (Dave Brosius)</li>
+                    <li>New Style detector to find unnecessary math on constants
+                        (Dave Brosius)</li>
+                    <li>New detector to find equality comparisons using floating
+                        point math (Jay Dunning)</li>
+                    <li>New faster detector to find local self assignments (Bill
+                        Pugh)</li>
+                    <li>New detector to find infinite recursive loops (Bill Pugh)
+                    </li>
+                    <li>New detector to find for loops with an incorrect increment
+                        (Bill Pugh)</li>
+                    <li>New detector to find suspicious uses of
+                        BufferedReader.readLine() and String.indexOf() (Bill Pugh)</li>
+                    <li>New detector to find suspicious integer to double casts
+                        (David Hovemeyer, Bill Pugh)</li>
+                    <li>New detector to find invalid regular expression patterns
+                        (Bill Pugh)</li>
+                    <li>New detector to find Bloch/Gafter Java puzzlers (Bill
+                        Pugh)</li>
 
-					<!-- feature enhancements -->
-					<li>New system property to suppress reporting of DLS based on
-						local variable name (Glenn Boysko)</li>
-					<li>Enhancements to configuration dialog in Eclipse plugin,
-						allow for saving enabled detectors in Eclipse projects (Phil
-						Crosby)</li>
-					<li>Sortable columns in detector dialog (Dave Brosius)</li>
-					<li>New tab in gui for showing bugs grouped by category (Dave
-						Brosius)</li>
-					<li>Improved German translation of Swing GUI (Thomas Kuehne)</li>
-					<li>Improved source file reporting in Emacs output format (Len
-						Trigg)</li>
-					<li>Improvements to redundant null comparison detector (Bill
-						Pugh)</li>
-					<li>Localization of run analysis and analysis error dialogs in
-						Swing GUI (K. Hashimoto)</li>
+                    <!-- feature enhancements -->
+                    <li>New system property to suppress reporting of DLS based on
+                        local variable name (Glenn Boysko)</li>
+                    <li>Enhancements to configuration dialog in Eclipse plugin,
+                        allow for saving enabled detectors in Eclipse projects (Phil
+                        Crosby)</li>
+                    <li>Sortable columns in detector dialog (Dave Brosius)</li>
+                    <li>New tab in gui for showing bugs grouped by category (Dave
+                        Brosius)</li>
+                    <li>Improved German translation of Swing GUI (Thomas Kuehne)</li>
+                    <li>Improved source file reporting in Emacs output format (Len
+                        Trigg)</li>
+                    <li>Improvements to redundant null comparison detector (Bill
+                        Pugh)</li>
+                    <li>Localization of run analysis and analysis error dialogs in
+                        Swing GUI (K. Hashimoto)</li>
 
-					<!-- Bug fixes -->
-					<li>Don't scan equals methods in FindHEMismatch if code is
-						native (Greg Bentz)</li>
-					<li>French translation fixes (David Cotton)</li>
-					<li>Internationalization report fixes (K. Hashimoto)</li>
-					<li>Japanese translations updates (SHISEI Hanai)</li>
-				</ul>
+                    <!-- Bug fixes -->
+                    <li>Don't scan equals methods in FindHEMismatch if code is
+                        native (Greg Bentz)</li>
+                    <li>French translation fixes (David Cotton)</li>
+                    <li>Internationalization report fixes (K. Hashimoto)</li>
+                    <li>Japanese translations updates (SHISEI Hanai)</li>
+                </ul>
 
-				<p>Changes since version 0.8.5:</p>
-				<ul>
-					<!-- new detectors -->
-					<li>New detector to find catch blocks that may inadvertently
-						catch runtime exceptions (Brian Goetz)</li>
-					<li>New detector to find objects that are instantiated based
-						on classes that only have static methods and fields, using the
-						synthesized constructor (Dave Brosius)</li>
-					<li>New detector to find calls to Thread.interrupted() in a
-						non static context, and especially with non currentThread()
-						threads (Dave Brosius)</li>
-					<li>New detector to find calls to equals() methods that use
-						Object's version. (Dave Brosius)</li>
-					<li>New detector to find Applets that call methods in the
-						constructor refering to the AppletStub (Dave Brosius)</li>
-					<li>New detector to find some cases of infinite recursion
-						(Bill Pugh)</li>
-					<li>New detector to find dead stores to local variables (David
-						Hovemeyer, Bill Pugh)</li>
-					<li>Extend Dumb Method detector for toUpperCase(),
-						toLowerCase() without a locale, new Integer(1).toString(), new
-						XXX().getClass(), and new Thread() without a run implementation
-						(Dave Brosius) <!-- feature enhancements -->
-					</li>
-					<li>Ant task supports "errorProperty" attribute, which sets an
-						Ant property to "true" if an error occurs running FindBugs
-						(Michael Tamm)</li>
-					<li>Eclipse plugin allows filtering of warnings by bug
-						category, priority (David Hovemeyer)</li>
-					<li>Swing GUI allows filtering of warnings by bug category
-						(David Hovemeyer)</li>
-					<li>Ability to annotate methods using Java 1.5 annotations
-						that suppress FindBugs warnings (Bill Pugh)</li>
-					<li>New -adjustExperimental for lowering priority of
-						BugPatterns that are experimental (Dave Brosius)</li>
-					<li>Allow for command line options 'files' using the @ symbol
-						(David Hovemeyer)</li>
-					<li>New -adjustPriority command line option to for adjusting
-						bug priorites (David Hovemeyer)</li>
-					<li>Added an Edit menu (cut/copy/paste) to Swing GUI (Dave
-						Brosius)</li>
-					<li>French translation supplied (David Cotton) <!-- Bug fixes -->
-					</li>
-				</ul>
+                <p>Changes since version 0.8.5:</p>
+                <ul>
+                    <!-- new detectors -->
+                    <li>New detector to find catch blocks that may inadvertently
+                        catch runtime exceptions (Brian Goetz)</li>
+                    <li>New detector to find objects that are instantiated based
+                        on classes that only have static methods and fields, using the
+                        synthesized constructor (Dave Brosius)</li>
+                    <li>New detector to find calls to Thread.interrupted() in a
+                        non static context, and especially with non currentThread()
+                        threads (Dave Brosius)</li>
+                    <li>New detector to find calls to equals() methods that use
+                        Object's version. (Dave Brosius)</li>
+                    <li>New detector to find Applets that call methods in the
+                        constructor refering to the AppletStub (Dave Brosius)</li>
+                    <li>New detector to find some cases of infinite recursion
+                        (Bill Pugh)</li>
+                    <li>New detector to find dead stores to local variables (David
+                        Hovemeyer, Bill Pugh)</li>
+                    <li>Extend Dumb Method detector for toUpperCase(),
+                        toLowerCase() without a locale, new Integer(1).toString(), new
+                        XXX().getClass(), and new Thread() without a run implementation
+                        (Dave Brosius) <!-- feature enhancements -->
+                    </li>
+                    <li>Ant task supports "errorProperty" attribute, which sets an
+                        Ant property to "true" if an error occurs running FindBugs
+                        (Michael Tamm)</li>
+                    <li>Eclipse plugin allows filtering of warnings by bug
+                        category, priority (David Hovemeyer)</li>
+                    <li>Swing GUI allows filtering of warnings by bug category
+                        (David Hovemeyer)</li>
+                    <li>Ability to annotate methods using Java 1.5 annotations
+                        that suppress FindBugs warnings (Bill Pugh)</li>
+                    <li>New -adjustExperimental for lowering priority of
+                        BugPatterns that are experimental (Dave Brosius)</li>
+                    <li>Allow for command line options 'files' using the @ symbol
+                        (David Hovemeyer)</li>
+                    <li>New -adjustPriority command line option to for adjusting
+                        bug priorites (David Hovemeyer)</li>
+                    <li>Added an Edit menu (cut/copy/paste) to Swing GUI (Dave
+                        Brosius)</li>
+                    <li>French translation supplied (David Cotton) <!-- Bug fixes -->
+                    </li>
+                </ul>
 
-				<p>Changes since version 0.8.4:</p>
-				<ul>
-					<!-- new detectors -->
-					<li>New detector for volatile references to arrays (Bill Pugh)
-					</li>
-					<li>New detector to find instanceof usage where inheritance
-						can be determined statically (Dave Brosius)</li>
-					<li>New detector to find ResultSet.getXXX updateXXX calls
-						using index 0 (Dave Brosius)</li>
-					<li>New detector to find empty zip or jar entries (Bill Pugh)
+                <p>Changes since version 0.8.4:</p>
+                <ul>
+                    <!-- new detectors -->
+                    <li>New detector for volatile references to arrays (Bill Pugh)
+                    </li>
+                    <li>New detector to find instanceof usage where inheritance
+                        can be determined statically (Dave Brosius)</li>
+                    <li>New detector to find ResultSet.getXXX updateXXX calls
+                        using index 0 (Dave Brosius)</li>
+                    <li>New detector to find empty zip or jar entries (Bill Pugh)
 
-						<!-- feature enhancements -->
-					</li>
-					<li>HTML output generation using built-in XSLT stylesheet or
-						user-defined stylesheet (David Hovemeyer)</li>
-					<li>Allow URLs to be specified to analyze zip/jar files, local
-						directories, and single classfiles (David Hovemeyer)</li>
-					<li>New command line option -onlyAnalyze restricts analysis to
-						selected classes and packages without reducing accuracy (David
-						Hovemeyer)</li>
-					<li>Allow Swing GUI to show source code in jar files on
-						Windows systems (Dave Brosius) <!-- Bug fixes -->
-					</li>
-					<li>Fix the Switch Fall Thru detector (Dave Brosius, David
-						Hovemeyer, Bill Pugh)</li>
-					<li>MacOS GUI fixes (Rohan Lloyd)</li>
-					<li>Fix false positive in BOA in case where method is
-						correctly and 'incorrectly' overridden (Dave Brosius)</li>
-					<li>Fixed memory blowup when analyzing methods which access a
-						large number of fields (David Hovemeyer)</li>
-				</ul>
+                        <!-- feature enhancements -->
+                    </li>
+                    <li>HTML output generation using built-in XSLT stylesheet or
+                        user-defined stylesheet (David Hovemeyer)</li>
+                    <li>Allow URLs to be specified to analyze zip/jar files, local
+                        directories, and single classfiles (David Hovemeyer)</li>
+                    <li>New command line option -onlyAnalyze restricts analysis to
+                        selected classes and packages without reducing accuracy (David
+                        Hovemeyer)</li>
+                    <li>Allow Swing GUI to show source code in jar files on
+                        Windows systems (Dave Brosius) <!-- Bug fixes -->
+                    </li>
+                    <li>Fix the Switch Fall Thru detector (Dave Brosius, David
+                        Hovemeyer, Bill Pugh)</li>
+                    <li>MacOS GUI fixes (Rohan Lloyd)</li>
+                    <li>Fix false positive in BOA in case where method is
+                        correctly and 'incorrectly' overridden (Dave Brosius)</li>
+                    <li>Fixed memory blowup when analyzing methods which access a
+                        large number of fields (David Hovemeyer)</li>
+                </ul>
 
-				<p>Changes since version 0.8.3:</p>
-				<ul>
-					<li>Initial and preliminary localization of the Swing
-						GUI.&nbsp; Translations by:
-						<ul>
-							<li>German - Peter D. Stout, Holger Stenzhorn</li>
-							<li>Finnish - Juha Knuutila</li>
-							<li>Estonian - Tanel Lebedev</li>
-							<li>Japanese - Hanai Shisei</li>
-						</ul>
-					</li>
-					<li>Eliminated debug print statements inadvertently left
-						enabled</li>
-					<li>Reverted some changes in the open stream detector: this
-						should fix some false positives that were introduced in the
-						previous release</li>
-					<li>Fixed a couple missing class reports</li>
-				</ul>
+                <p>Changes since version 0.8.3:</p>
+                <ul>
+                    <li>Initial and preliminary localization of the Swing
+                        GUI.&nbsp; Translations by:
+                        <ul>
+                            <li>German - Peter D. Stout, Holger Stenzhorn</li>
+                            <li>Finnish - Juha Knuutila</li>
+                            <li>Estonian - Tanel Lebedev</li>
+                            <li>Japanese - Hanai Shisei</li>
+                        </ul>
+                    </li>
+                    <li>Eliminated debug print statements inadvertently left
+                        enabled</li>
+                    <li>Reverted some changes in the open stream detector: this
+                        should fix some false positives that were introduced in the
+                        previous release</li>
+                    <li>Fixed a couple missing class reports</li>
+                </ul>
 
-				<p>Changes since version 0.8.2:</p>
-				<ul>
+                <p>Changes since version 0.8.2:</p>
+                <ul>
 
-					<!-- New detectors -->
-					<li>New detector to find improperly overridden GUI Adapter
-						classes (Dave Brosius)</li>
-					<li>New detector to find improperly setup JUnit TestCases
-						(Dave Brosius)</li>
-					<li>New detector to find variables that mask class level
-						fields (Dave Brosius)</li>
-					<li>New detector to find comparisons of values computed with
-						bitwise operators that always yield the same result (Tom Truscott)
-					</li>
-					<li>New detector to find unsafe getClass().getResource() calls
-						(Bill Pugh)</li>
-					<li>New detector to find GUI changes not in GUI thread but in
-						static main (Bill Pugh)</li>
-					<li>New detector to find calls to Collection.toArray() with
-						zero-length array argument; it is more efficient to pass an array
-						the size of the collection, which can be populated and returned as
-						the result (Dave Brosius) <!-- Analysis improvements -->
-					</li>
-					<li>Better suppression of false warnings in various detectors
-						(Bill Pugh, David Hovemeyer)</li>
-					<li>Enhancement to ReadReturnShouldBeChecked detector for
-						skip() (Dave Brosius)</li>
-					<li>Enhancement to DumbMethods detector (Dave Brosius)</li>
-					<li>Open stream detector does not report wrappers of streams
-						passed as method parameters (David Hovemeyer) <!-- Feature enhancements -->
-					</li>
-					<li>Cancel confirmation dialog in Swing GUI (Pete Angstadt)</li>
-					<li>Better relative path saving in Project file (Dave Brosius)
-					</li>
-					<li>Detector Priority in GUI is now saved in prefs file (Dave
-						Brosius)</li>
-					<li>Controls in GUI to reorder source and classpath entries,
-						and ability to flip between Project details and bugs pages (Dave
-						Brosius)</li>
-					<li>In Swing GUI, analysis error dialog supports "Select All"
-						and "Copy" operations for easy generation of error reports (Dave
-						Brosius)</li>
-					<li>Complete translation of bug descriptions and messages into
-						Japanese (Hanai Shisei) <!-- Bug fixes -->
-					</li>
-					<li>Fixed bug in DroppedException detector (Dave Brosius) <!-- Development stuff -->
-					</li>
-					<li>The source distribution defaults to using JDK 1.5 javac to
-						compile, but support for compiling with JSR-14 prototype is still
-						supported</li>
-				</ul>
+                    <!-- New detectors -->
+                    <li>New detector to find improperly overridden GUI Adapter
+                        classes (Dave Brosius)</li>
+                    <li>New detector to find improperly setup JUnit TestCases
+                        (Dave Brosius)</li>
+                    <li>New detector to find variables that mask class level
+                        fields (Dave Brosius)</li>
+                    <li>New detector to find comparisons of values computed with
+                        bitwise operators that always yield the same result (Tom Truscott)
+                    </li>
+                    <li>New detector to find unsafe getClass().getResource() calls
+                        (Bill Pugh)</li>
+                    <li>New detector to find GUI changes not in GUI thread but in
+                        static main (Bill Pugh)</li>
+                    <li>New detector to find calls to Collection.toArray() with
+                        zero-length array argument; it is more efficient to pass an array
+                        the size of the collection, which can be populated and returned as
+                        the result (Dave Brosius) <!-- Analysis improvements -->
+                    </li>
+                    <li>Better suppression of false warnings in various detectors
+                        (Bill Pugh, David Hovemeyer)</li>
+                    <li>Enhancement to ReadReturnShouldBeChecked detector for
+                        skip() (Dave Brosius)</li>
+                    <li>Enhancement to DumbMethods detector (Dave Brosius)</li>
+                    <li>Open stream detector does not report wrappers of streams
+                        passed as method parameters (David Hovemeyer) <!-- Feature enhancements -->
+                    </li>
+                    <li>Cancel confirmation dialog in Swing GUI (Pete Angstadt)</li>
+                    <li>Better relative path saving in Project file (Dave Brosius)
+                    </li>
+                    <li>Detector Priority in GUI is now saved in prefs file (Dave
+                        Brosius)</li>
+                    <li>Controls in GUI to reorder source and classpath entries,
+                        and ability to flip between Project details and bugs pages (Dave
+                        Brosius)</li>
+                    <li>In Swing GUI, analysis error dialog supports "Select All"
+                        and "Copy" operations for easy generation of error reports (Dave
+                        Brosius)</li>
+                    <li>Complete translation of bug descriptions and messages into
+                        Japanese (Hanai Shisei) <!-- Bug fixes -->
+                    </li>
+                    <li>Fixed bug in DroppedException detector (Dave Brosius) <!-- Development stuff -->
+                    </li>
+                    <li>The source distribution defaults to using JDK 1.5 javac to
+                        compile, but support for compiling with JSR-14 prototype is still
+                        supported</li>
+                </ul>
 
-				<p>Changes since version 0.8.1:</p>
-				<ul>
-					<li>Fixed a critical ClassCastException bug (triggered if the
-						-workHard option was used, and an exception type was merged with
-						an array type during type inference)</li>
-				</ul>
+                <p>Changes since version 0.8.1:</p>
+                <ul>
+                    <li>Fixed a critical ClassCastException bug (triggered if the
+                        -workHard option was used, and an exception type was merged with
+                        an array type during type inference)</li>
+                </ul>
 
-				<p>Changes since version 0.8.0:</p>
-				<ul>
-					<li>Disabled SwitchFallthrough detector to work around
-						NullPointerExceptions</li>
-					<li>Added some additional false positive suppression
-						heuristics</li>
-				</ul>
+                <p>Changes since version 0.8.0:</p>
+                <ul>
+                    <li>Disabled SwitchFallthrough detector to work around
+                        NullPointerExceptions</li>
+                    <li>Added some additional false positive suppression
+                        heuristics</li>
+                </ul>
 
-				<p>Also, two contributors to the 0.8.0 release were
-					inadvertently left out of the credits:</p>
-				<ul>
-					<li>Pete Angstadt fixed several problems in the Swing GUI</li>
-					<li>Francis Lalonde provided a task resource file for the
-						FindBugs Ant task</li>
-				</ul>
+                <p>Also, two contributors to the 0.8.0 release were
+                    inadvertently left out of the credits:</p>
+                <ul>
+                    <li>Pete Angstadt fixed several problems in the Swing GUI</li>
+                    <li>Francis Lalonde provided a task resource file for the
+                        FindBugs Ant task</li>
+                </ul>
 
-				<p>Changes since version 0.7.4:</p>
-				<ul>
-					<li>New detector to look for uses of "+" operator to
-						concatenate String objects in a loop (Dave Brosius)</li>
-					<li>Reference comparison detector looks for places where the
-						argument passed to the equals(Object) method isn't the same type
-						as the receiver object</li>
-					<li>Better suppression of false warnings in many detectors</li>
-					<li>Many improvements to Eclipse plugin (Andrey Loskutov,
-						Peter Friese)</li>
-					<li>Fixed problem with building Eclipse plugin on Windows
-						(Thomas Klaeger)</li>
-					<li>Open stream detector looks for unclosed PreparedStatement
-						objects (Thomas Klaeger, Rohan Lloyd)</li>
-					<li>Fix for open stream detector: it wasn't detecting close()
-						methods called through an invokeinterface instruction (Thomas
-						Klaeger)</li>
-					<li>Refactoring of visitor classes to enforce use of accessors
-						for visited class features (Brian Goetz)</li>
-				</ul>
+                <p>Changes since version 0.7.4:</p>
+                <ul>
+                    <li>New detector to look for uses of "+" operator to
+                        concatenate String objects in a loop (Dave Brosius)</li>
+                    <li>Reference comparison detector looks for places where the
+                        argument passed to the equals(Object) method isn't the same type
+                        as the receiver object</li>
+                    <li>Better suppression of false warnings in many detectors</li>
+                    <li>Many improvements to Eclipse plugin (Andrey Loskutov,
+                        Peter Friese)</li>
+                    <li>Fixed problem with building Eclipse plugin on Windows
+                        (Thomas Klaeger)</li>
+                    <li>Open stream detector looks for unclosed PreparedStatement
+                        objects (Thomas Klaeger, Rohan Lloyd)</li>
+                    <li>Fix for open stream detector: it wasn't detecting close()
+                        methods called through an invokeinterface instruction (Thomas
+                        Klaeger)</li>
+                    <li>Refactoring of visitor classes to enforce use of accessors
+                        for visited class features (Brian Goetz)</li>
+                </ul>
 
-				<p>Changes since version 0.7.3:</p>
-				<ul>
-					<li>Experimental modification of open stream detector to look
-						for non-escaping JDBC resources (connections and statements) that
-						aren't closed on all paths out of method</li>
-					<li>Eclipse plugin fixed so it compiles and runs on Eclipse
-						2.1.x (Peter Friese)</li>
-					<li>Option to Swing GUI and command line to generate project
-						file using relative paths for archives, source directories, and
-						aux classpath entries (Dave Brosius)</li>
-					<li>Improvements to findbugs.bat script for launching FindBugs
-						on Windows (Dave Brosius)</li>
-					<li>Updated Japanese message translations (Hiroshi Okugawa)</li>
-					<li>Uncalled private methods are now reported as low priority,
-						unless they have the same name as another method in the class
-						(which is more likely to indicate an actual bug)</li>
-					<li>Added some missing data in the bug messages XML files</li>
-					<li>Fixed some problems building from source on Windows
-						systems</li>
-					<li>Various minor bug fixes</li>
-				</ul>
+                <p>Changes since version 0.7.3:</p>
+                <ul>
+                    <li>Experimental modification of open stream detector to look
+                        for non-escaping JDBC resources (connections and statements) that
+                        aren't closed on all paths out of method</li>
+                    <li>Eclipse plugin fixed so it compiles and runs on Eclipse
+                        2.1.x (Peter Friese)</li>
+                    <li>Option to Swing GUI and command line to generate project
+                        file using relative paths for archives, source directories, and
+                        aux classpath entries (Dave Brosius)</li>
+                    <li>Improvements to findbugs.bat script for launching FindBugs
+                        on Windows (Dave Brosius)</li>
+                    <li>Updated Japanese message translations (Hiroshi Okugawa)</li>
+                    <li>Uncalled private methods are now reported as low priority,
+                        unless they have the same name as another method in the class
+                        (which is more likely to indicate an actual bug)</li>
+                    <li>Added some missing data in the bug messages XML files</li>
+                    <li>Fixed some problems building from source on Windows
+                        systems</li>
+                    <li>Various minor bug fixes</li>
+                </ul>
 
-				<p>Changes since version 0.7.2:</p>
-				<ul>
-					<li>Enhanced Eclipse plugin, which displays the detailed bug
-						description in a view (Phil Crosby)</li>
-					<li>Various tweaks to existing detectors to reduce false
-						warnings</li>
-					<li>New command line option <code> -workHard </code> enables
-						pruning of infeasible or unlikely exception edges, which results
-						in better accuracy in the open stream detector, at the expense of
-						a 30%-100% slowdown
-					</li>
-					<li>New website and HTML documentation design</li>
-					<li>Documentation includes an HTML document with descriptions
-						of all bug patterns reported by FindBugs</li>
-					<li>Web page has a link to a <a
-						href="http://www.simeji.com/findbugs/doc/manual_ja/index.html">Japanese
-							translation</a> of the FindBugs manual, contributed by Hiroshi
-						Okugawa
-					</li>
-					<li>Changed the Inconsistent Synchronization detector so that
-						fields synchronized 50% of the time (or more) are reported as
-						medium priority bugs (previously they were reported as low)</li>
-					<li>New detector to find code that catches
-						IllegalMonitorStateException</li>
-					<li>New detector to find private methods that are never called
-					</li>
-					<li>New detector to find suspicious uses of
-						non-short-circuiting boolean operators ( <code> &amp; </code> and
-						<code> | </code> , rather than <code> &amp;&amp; </code> and <code>
-							|| </code> )
-					</li>
-				</ul>
+                <p>Changes since version 0.7.2:</p>
+                <ul>
+                    <li>Enhanced Eclipse plugin, which displays the detailed bug
+                        description in a view (Phil Crosby)</li>
+                    <li>Various tweaks to existing detectors to reduce false
+                        warnings</li>
+                    <li>New command line option <code> -workHard </code> enables
+                        pruning of infeasible or unlikely exception edges, which results
+                        in better accuracy in the open stream detector, at the expense of
+                        a 30%-100% slowdown
+                    </li>
+                    <li>New website and HTML documentation design</li>
+                    <li>Documentation includes an HTML document with descriptions
+                        of all bug patterns reported by FindBugs</li>
+                    <li>Web page has a link to a <a
+                        href="http://www.simeji.com/findbugs/doc/manual_ja/index.html">Japanese
+                            translation</a> of the FindBugs manual, contributed by Hiroshi
+                        Okugawa
+                    </li>
+                    <li>Changed the Inconsistent Synchronization detector so that
+                        fields synchronized 50% of the time (or more) are reported as
+                        medium priority bugs (previously they were reported as low)</li>
+                    <li>New detector to find code that catches
+                        IllegalMonitorStateException</li>
+                    <li>New detector to find private methods that are never called
+                    </li>
+                    <li>New detector to find suspicious uses of
+                        non-short-circuiting boolean operators ( <code> &amp; </code> and
+                        <code> | </code> , rather than <code> &amp;&amp; </code> and <code>
+                            || </code> )
+                    </li>
+                </ul>
 
-				<p>Changes since version 0.7.1:</p>
-				<ul>
-					<li>Incorporated patched version of BCEL, which allows classes
-						compiled with JDK 1.5.0 beta to be analyzed</li>
-					<li>Fixed some bugs related to lookups of array classes</li>
-					<li>Fixed bug that prevented GUI from loading XML result files
-						when running under JDK 1.5.0 beta</li>
-					<li>Added new experimental bug detector, LazyInit, which looks
-						for potentially buggy lazy initializations of static fields</li>
-					<li>Because of long filenames, switched to distributing the
-						source archive as a zip file rather than a tar file</li>
-					<li>The 0.7.1 source tarfile was botched - 0.7.2 has a valid
-						source archive</li>
-					<li>Fixed some problems in the Ant build script</li>
-					<li>Fixed NullPointerException when checking Class-Path
-						attribute for Jar files without manifests</li>
-					<li>Generate version numbers for the core and UI Eclipse
-						plugins using the Version class; all version numbers are now in a
-						common location</li>
-				</ul>
+                <p>Changes since version 0.7.1:</p>
+                <ul>
+                    <li>Incorporated patched version of BCEL, which allows classes
+                        compiled with JDK 1.5.0 beta to be analyzed</li>
+                    <li>Fixed some bugs related to lookups of array classes</li>
+                    <li>Fixed bug that prevented GUI from loading XML result files
+                        when running under JDK 1.5.0 beta</li>
+                    <li>Added new experimental bug detector, LazyInit, which looks
+                        for potentially buggy lazy initializations of static fields</li>
+                    <li>Because of long filenames, switched to distributing the
+                        source archive as a zip file rather than a tar file</li>
+                    <li>The 0.7.1 source tarfile was botched - 0.7.2 has a valid
+                        source archive</li>
+                    <li>Fixed some problems in the Ant build script</li>
+                    <li>Fixed NullPointerException when checking Class-Path
+                        attribute for Jar files without manifests</li>
+                    <li>Generate version numbers for the core and UI Eclipse
+                        plugins using the Version class; all version numbers are now in a
+                        common location</li>
+                </ul>
 
-				<p>Changes since version 0.7.0:</p>
-				<ul>
-					<li>Eclipse plugin (contributed by Peter Friese)</li>
-					<li>Source package structure rearranged: all source (other
-						than Eclipse plugin UI) is in the edu.umd.cs.findbugs package, or
-						a subpackage</li>
-					<li>Class-Path attributes of manifests of analyzed jar files
-						are used to set the aux classpath automatically (Peter D. Stout)</li>
-					<li>GUI starts in directory specified by user.home property
-						(Peter D. Stout)</li>
-					<li>Added -project option to GUI (Mikko T.)</li>
-					<li>Added -look:{plastic,gtk,native} option to GUI, for
-						setting look and feel (Mikko T.)</li>
-					<li>Fixed DataflowAnalysisException in inconsistent
-						synchronization detector</li>
-					<li>Ant task supports failOnError parameter (Rohan Lloyd)</li>
-					<li>Serializable class warnings are downgraded to low priority
-						for GUI classes</li>
-					<li>MWN detector will only report calls to wait(), notify(),
-						and notifyAll() methods that have the correct signature</li>
-					<li>FindBugs works with latest CVS version of BCEL</li>
-					<li>Zip and Jar files may be added to the source path</li>
-					<li>The GUI will automatically find source files residing in
-						analyzed Zip or Jar files</li>
-				</ul>
+                <p>Changes since version 0.7.0:</p>
+                <ul>
+                    <li>Eclipse plugin (contributed by Peter Friese)</li>
+                    <li>Source package structure rearranged: all source (other
+                        than Eclipse plugin UI) is in the edu.umd.cs.findbugs package, or
+                        a subpackage</li>
+                    <li>Class-Path attributes of manifests of analyzed jar files
+                        are used to set the aux classpath automatically (Peter D. Stout)</li>
+                    <li>GUI starts in directory specified by user.home property
+                        (Peter D. Stout)</li>
+                    <li>Added -project option to GUI (Mikko T.)</li>
+                    <li>Added -look:{plastic,gtk,native} option to GUI, for
+                        setting look and feel (Mikko T.)</li>
+                    <li>Fixed DataflowAnalysisException in inconsistent
+                        synchronization detector</li>
+                    <li>Ant task supports failOnError parameter (Rohan Lloyd)</li>
+                    <li>Serializable class warnings are downgraded to low priority
+                        for GUI classes</li>
+                    <li>MWN detector will only report calls to wait(), notify(),
+                        and notifyAll() methods that have the correct signature</li>
+                    <li>FindBugs works with latest CVS version of BCEL</li>
+                    <li>Zip and Jar files may be added to the source path</li>
+                    <li>The GUI will automatically find source files residing in
+                        analyzed Zip or Jar files</li>
+                </ul>
 
-				<p>Note that the version number jumped from 0.6.6 to 0.6.9;
-					there were no 0.6.7 or 0.6.8 releases.</p>
-				<p>Changes since version 0.6.9:</p>
-				<ul>
-					<li>Added -conserveSpace option to reduce memory use at the
-						expense of analysis precision</li>
-					<li>Bug fixes in findbugs.bat script: JAVA_HOME handling,
-						autodetection of FINDBUGS_HOME, missing output with -textui</li>
-					<li>Fixed NullPointerException when a missing class is
-						encountered</li>
-				</ul>
+                <p>Note that the version number jumped from 0.6.6 to 0.6.9;
+                    there were no 0.6.7 or 0.6.8 releases.</p>
+                <p>Changes since version 0.6.9:</p>
+                <ul>
+                    <li>Added -conserveSpace option to reduce memory use at the
+                        expense of analysis precision</li>
+                    <li>Bug fixes in findbugs.bat script: JAVA_HOME handling,
+                        autodetection of FINDBUGS_HOME, missing output with -textui</li>
+                    <li>Fixed NullPointerException when a missing class is
+                        encountered</li>
+                </ul>
 
-				<p>Changes since version 0.6.6:</p>
-				<ul>
-					<li>The null pointer dereference detector is more powerful</li>
-					<li>Significantly improved heuristics and bug fixes in
-						inconsistent synchronization detector</li>
-					<li>Improved heuristics in open stream and dropped exception
-						detectors; fewer false positives should be reported</li>
-					<li>Save HTML summary in XML results files, rather than
-						recomputing; this makes loading results in GUI much faster</li>
-					<li>Report at most one String comparison using == or != per
-						method</li>
-					<li>The findbugs.bat script on Windows autodetects
-						FINDBUGS_HOME, and doesn't open a DOS window when launching the
-						GUI (contributed by TJSB)</li>
-					<li>Emacs reporting format (contributed by David Li)</li>
-					<li>Various bug fixes</li>
-				</ul>
+                <p>Changes since version 0.6.6:</p>
+                <ul>
+                    <li>The null pointer dereference detector is more powerful</li>
+                    <li>Significantly improved heuristics and bug fixes in
+                        inconsistent synchronization detector</li>
+                    <li>Improved heuristics in open stream and dropped exception
+                        detectors; fewer false positives should be reported</li>
+                    <li>Save HTML summary in XML results files, rather than
+                        recomputing; this makes loading results in GUI much faster</li>
+                    <li>Report at most one String comparison using == or != per
+                        method</li>
+                    <li>The findbugs.bat script on Windows autodetects
+                        FINDBUGS_HOME, and doesn't open a DOS window when launching the
+                        GUI (contributed by TJSB)</li>
+                    <li>Emacs reporting format (contributed by David Li)</li>
+                    <li>Various bug fixes</li>
+                </ul>
 
-				<p>Changes since 0.6.5:</p>
-				<ul>
-					<li>Rewritten inconsistent synchronization detector; accuracy
-						is significantly improved, and bug reports are prioritized</li>
-					<li>New detector to find self assignment (x=x) of local
-						variables (suggested by Jeff Martin)</li>
-					<li>New detector to find calls to wait(), notify(), and
-						notifyAll() on an object which is not obviously locked</li>
-					<li>Open stream detector now reports Readers and Writers</li>
-					<li>Fixed bug in finalizer idioms detector which caused
-						spurious warnings about failure to call super.finalize() (reported
-						by Jim Menard)</li>
-					<li>Fixed bug where output stream was not closed using non-XML
-						output (reported by Sigiswald Madou)</li>
-					<li>Fixed corrupted HTML bug detail message (reported by
-						Trevor Harmon)</li>
-				</ul>
+                <p>Changes since 0.6.5:</p>
+                <ul>
+                    <li>Rewritten inconsistent synchronization detector; accuracy
+                        is significantly improved, and bug reports are prioritized</li>
+                    <li>New detector to find self assignment (x=x) of local
+                        variables (suggested by Jeff Martin)</li>
+                    <li>New detector to find calls to wait(), notify(), and
+                        notifyAll() on an object which is not obviously locked</li>
+                    <li>Open stream detector now reports Readers and Writers</li>
+                    <li>Fixed bug in finalizer idioms detector which caused
+                        spurious warnings about failure to call super.finalize() (reported
+                        by Jim Menard)</li>
+                    <li>Fixed bug where output stream was not closed using non-XML
+                        output (reported by Sigiswald Madou)</li>
+                    <li>Fixed corrupted HTML bug detail message (reported by
+                        Trevor Harmon)</li>
+                </ul>
 
-				<p>Changes since version 0.6.4:</p>
-				<ul>
-					<li>For redundant comparison of reference values, fixed false
-						positives resulting from duplication of code in finally blocks</li>
-					<li>Fixed false positives resulting from wrapped byte array
-						streams left open</li>
-					<li>Fixed bug in Ant task preventing output file from working
-						properly if a relative path was used</li>
-				</ul>
+                <p>Changes since version 0.6.4:</p>
+                <ul>
+                    <li>For redundant comparison of reference values, fixed false
+                        positives resulting from duplication of code in finally blocks</li>
+                    <li>Fixed false positives resulting from wrapped byte array
+                        streams left open</li>
+                    <li>Fixed bug in Ant task preventing output file from working
+                        properly if a relative path was used</li>
+                </ul>
 
-				<p>Changes since version 0.6.3:</p>
-				<ul>
-					<li>Fixed bug in Ant task where output would be corrupted, and
-						added a <code> timeout </code> attribute
-					</li>
-					<li>Added -outputFile option to text UI, for explicitly
-						specifying an output file</li>
-					<li>GUI has a summary window, for statistics about overall bug
-						densities (contributed by Mike Fagan)</li>
-					<li>Find redundant comparisons of reference values</li>
-					<li>More accurate detection of Strings compared with == and !=
-						operators</li>
-					<li>Detection of other reference types which should generally
-						not be compared with == and != operators; Boolean, Integer, etc.</li>
-					<li>Find non-transient non-serializable instance fields in
-						Serializable classes</li>
-					<li>Source code may be compiled with latest early access
-						generics-enabled javac (version 2.2)</li>
-				</ul>
+                <p>Changes since version 0.6.3:</p>
+                <ul>
+                    <li>Fixed bug in Ant task where output would be corrupted, and
+                        added a <code> timeout </code> attribute
+                    </li>
+                    <li>Added -outputFile option to text UI, for explicitly
+                        specifying an output file</li>
+                    <li>GUI has a summary window, for statistics about overall bug
+                        densities (contributed by Mike Fagan)</li>
+                    <li>Find redundant comparisons of reference values</li>
+                    <li>More accurate detection of Strings compared with == and !=
+                        operators</li>
+                    <li>Detection of other reference types which should generally
+                        not be compared with == and != operators; Boolean, Integer, etc.</li>
+                    <li>Find non-transient non-serializable instance fields in
+                        Serializable classes</li>
+                    <li>Source code may be compiled with latest early access
+                        generics-enabled javac (version 2.2)</li>
+                </ul>
 
-				<p>Changes since version 0.6.2:</p>
-				<ul>
-					<li>GUI supports filtering bugs by priority</li>
-					<li>Ant task rewritten; supports all functionality offered by
-						Text UI (contributed by Mike Fagan)</li>
-					<li>Ant task is fully documented in the manual</li>
-					<li>Classes in nested archives are analyzed; this allows full
-						support for analyzing .ear and .war files (contributed by Mike
-						Fagan)</li>
-					<li>DepthFirstSearch changed to use non-recursive
-						implementation; this should fix the StackOverflowErrors that
-						several users reported</li>
-					<li>Various minor bugfixes and improvements</li>
-				</ul>
+                <p>Changes since version 0.6.2:</p>
+                <ul>
+                    <li>GUI supports filtering bugs by priority</li>
+                    <li>Ant task rewritten; supports all functionality offered by
+                        Text UI (contributed by Mike Fagan)</li>
+                    <li>Ant task is fully documented in the manual</li>
+                    <li>Classes in nested archives are analyzed; this allows full
+                        support for analyzing .ear and .war files (contributed by Mike
+                        Fagan)</li>
+                    <li>DepthFirstSearch changed to use non-recursive
+                        implementation; this should fix the StackOverflowErrors that
+                        several users reported</li>
+                    <li>Various minor bugfixes and improvements</li>
+                </ul>
 
-				<p>Changes since version 0.6.1:</p>
-				<ul>
-					<li>New detector to look for useless control flow (suggested
-						by Richard P. King and Mike Fagan)</li>
-					<li>Look for places where return value of
-						java.io.File.createNewFile() is ignored (suggested by Richard P.
-						King)</li>
-					<li>Fixed bug in resolution of source files (only the first
-						source directory was searched)</li>
-					<li>Fixed a NullPointerException in the bytecode pattern
-						matching code</li>
-					<li>Ant task supports project files (contributed by Mike
-						Fagan)</li>
-					<li>Unix findbugs script honors the <code> JAVA_HOME </code>
-						environment variable (contributed by Pedro Morais)
-					</li>
-					<li>Allow .war and .ear files to be analyzed</li>
-				</ul>
+                <p>Changes since version 0.6.1:</p>
+                <ul>
+                    <li>New detector to look for useless control flow (suggested
+                        by Richard P. King and Mike Fagan)</li>
+                    <li>Look for places where return value of
+                        java.io.File.createNewFile() is ignored (suggested by Richard P.
+                        King)</li>
+                    <li>Fixed bug in resolution of source files (only the first
+                        source directory was searched)</li>
+                    <li>Fixed a NullPointerException in the bytecode pattern
+                        matching code</li>
+                    <li>Ant task supports project files (contributed by Mike
+                        Fagan)</li>
+                    <li>Unix findbugs script honors the <code> JAVA_HOME </code>
+                        environment variable (contributed by Pedro Morais)
+                    </li>
+                    <li>Allow .war and .ear files to be analyzed</li>
+                </ul>
 
-				<p>Changes since version 0.6.0:</p>
-				<ul>
-					<li>New bug pattern detector which looks for places where a
-						null pointer might be dereferenced</li>
-					<li>New bug pattern detector which looks for IO streams that
-						are opened, do not escape the method, and are not closed on all
-						paths out of the method</li>
-					<li>New bug pattern detector to find methods that can return
-						null instead of a zero-length array</li>
-					<li>New bug pattern detector to find places where the == or !=
-						operators are used to compare String objects</li>
-					<li>Command line interface can save bugs as XML</li>
-					<li>GUI can save bugs to and load bugs from XML</li>
-					<li>An "Annotations" window in the GUI allows the user to add
-						textual annotations to bug reports; these annotations are
-						preserved when bugs are saved as XML</li>
-					<li>In this release, the Japanese bug summary translations by
-						Germano Leichsenring are really included (they were inadvertently
-						omitted in the previous release)</li>
-					<li>Completely rewrote the control flow graph builder,
-						hopefully for the last time</li>
-					<li>Simplified implementation of control flow graphs, which
-						should reduce memory use and possibly improve performance</li>
-					<li>Improvements to command line interface (list bug
-						priorities, filter by priority, specify aux classpath, specify
-						project to analyze)</li>
-					<li>Various bug fixes and enhancements</li>
-				</ul>
+                <p>Changes since version 0.6.0:</p>
+                <ul>
+                    <li>New bug pattern detector which looks for places where a
+                        null pointer might be dereferenced</li>
+                    <li>New bug pattern detector which looks for IO streams that
+                        are opened, do not escape the method, and are not closed on all
+                        paths out of the method</li>
+                    <li>New bug pattern detector to find methods that can return
+                        null instead of a zero-length array</li>
+                    <li>New bug pattern detector to find places where the == or !=
+                        operators are used to compare String objects</li>
+                    <li>Command line interface can save bugs as XML</li>
+                    <li>GUI can save bugs to and load bugs from XML</li>
+                    <li>An "Annotations" window in the GUI allows the user to add
+                        textual annotations to bug reports; these annotations are
+                        preserved when bugs are saved as XML</li>
+                    <li>In this release, the Japanese bug summary translations by
+                        Germano Leichsenring are really included (they were inadvertently
+                        omitted in the previous release)</li>
+                    <li>Completely rewrote the control flow graph builder,
+                        hopefully for the last time</li>
+                    <li>Simplified implementation of control flow graphs, which
+                        should reduce memory use and possibly improve performance</li>
+                    <li>Improvements to command line interface (list bug
+                        priorities, filter by priority, specify aux classpath, specify
+                        project to analyze)</li>
+                    <li>Various bug fixes and enhancements</li>
+                </ul>
 
-				<p>Changes since version 0.5.4</p>
-				<ul>
-					<li>Added an <a href="http://ant.apache.org/">Ant</a> task for
-						FindBugs, contributed by Mike Fagan.
-					</li>
-					<li>Added a GUI dialog which allows individual bug pattern
-						detectors to be enabled or disabled.&nbsp; Disabling certain slow
-						detectors can greatly speed up analysis of large programs, at the
-						expense of reducing the number of potential bugs found.</li>
-					<li>Added a new detector for finding improperly ignored return
-						values for methods such as <code> String.trim() </code> .&nbsp;
-						Suggested by Andreas Mandel.
-					</li>
-					<li>Japanese translations of the bug summaries, contributed by
-						Germano Leichsenring.</li>
-					<li>Filtering of results is supported in command line
-						interface. See the <a href="manual/index.html">FindBugs manual</a>
-						for details.
-					</li>
-					<li>Added "byte code patterns", a general pattern matching
-						infrastructure for bytecode instructions.&nbsp; This feature
-						significantly reduces the complexity of implementing new bug
-						pattern detectors.</li>
-					<li>Enabled a new general dataflow analysis to track values in
-						methods.</li>
-					<li>Switched to new control-flow graph builder implementation.
-					</li>
-				</ul>
+                <p>Changes since version 0.5.4</p>
+                <ul>
+                    <li>Added an <a href="http://ant.apache.org/">Ant</a> task for
+                        FindBugs, contributed by Mike Fagan.
+                    </li>
+                    <li>Added a GUI dialog which allows individual bug pattern
+                        detectors to be enabled or disabled.&nbsp; Disabling certain slow
+                        detectors can greatly speed up analysis of large programs, at the
+                        expense of reducing the number of potential bugs found.</li>
+                    <li>Added a new detector for finding improperly ignored return
+                        values for methods such as <code> String.trim() </code> .&nbsp;
+                        Suggested by Andreas Mandel.
+                    </li>
+                    <li>Japanese translations of the bug summaries, contributed by
+                        Germano Leichsenring.</li>
+                    <li>Filtering of results is supported in command line
+                        interface. See the <a href="manual/index.html">FindBugs manual</a>
+                        for details.
+                    </li>
+                    <li>Added "byte code patterns", a general pattern matching
+                        infrastructure for bytecode instructions.&nbsp; This feature
+                        significantly reduces the complexity of implementing new bug
+                        pattern detectors.</li>
+                    <li>Enabled a new general dataflow analysis to track values in
+                        methods.</li>
+                    <li>Switched to new control-flow graph builder implementation.
+                    </li>
+                </ul>
 
-				<p>Changes since version 0.5.3</p>
-				<ul>
-					<li>Fixed a bug in the script used to launch FindBugs on
-						Windows platforms.</li>
-					<li>Fixed crashes when analyzing class files without source
-						line information.</li>
-					<li>All major errors are reported using an error dialog; file
-						not found errors are more informative.</li>
-					<li>Minor GUI improvements.</li>
-				</ul>
+                <p>Changes since version 0.5.3</p>
+                <ul>
+                    <li>Fixed a bug in the script used to launch FindBugs on
+                        Windows platforms.</li>
+                    <li>Fixed crashes when analyzing class files without source
+                        line information.</li>
+                    <li>All major errors are reported using an error dialog; file
+                        not found errors are more informative.</li>
+                    <li>Minor GUI improvements.</li>
+                </ul>
 
-				<p>Changes since version 0.5.2</p>
-				<ul>
-					<li>All of the source code and related files are in a single
-						directory tree.</li>
-					<li>Updated some of the detectors to produce source line
-						information.</li>
-					<li><a href="http://ant.apache.org/">Ant</a> build script and
-						several GUI enhancements and fixes contributed by Mike Fagan.</li>
-					<li>Converted to use a <a href="AddingDetectors.txt">plugin
-							architecture</a> for loading bug detectors.
-					</li>
-					<li>Eliminated generics-related compiler warnings.</li>
-					<li>More complete documentation has been added.</li>
-				</ul>
+                <p>Changes since version 0.5.2</p>
+                <ul>
+                    <li>All of the source code and related files are in a single
+                        directory tree.</li>
+                    <li>Updated some of the detectors to produce source line
+                        information.</li>
+                    <li><a href="http://ant.apache.org/">Ant</a> build script and
+                        several GUI enhancements and fixes contributed by Mike Fagan.</li>
+                    <li>Converted to use a <a href="AddingDetectors.txt">plugin
+                            architecture</a> for loading bug detectors.
+                    </li>
+                    <li>Eliminated generics-related compiler warnings.</li>
+                    <li>More complete documentation has been added.</li>
+                </ul>
 
-				<p>Changes since version 0.5.1:</p>
-				<ul>
-					<li>Fixed a large number of bugs in the BCEL Repository and
-						FindBugs's use of the Repository.&nbsp; With these changes,
-						FindBugs should <em>never</em> crash or otherwise misbehave
-						because of Repository lookup failures.&nbsp; Because of these
-						changes, you must use a modified version of <code> bcel.jar
-						</code> with FindBugs.&nbsp; This jar file is included in the FindBugs
-						0.5.2 binary release.&nbsp; A complete patch containing the <a
-						href="http://faculty.ycp.edu/~dhovemey/bcel-30-April-2003.patch">modifications
-							against the BCEL CVS main branch as of April 30, 2003</a> is also
-						available.
-					</li>
-					<li>Implemented the "auxiliary classpath entry list".&nbsp;
-						Aux classpath entries can be added to a project to provide classes
-						that are referenced by the analyzed application, but should not
-						themselves be analyzed.&nbsp; Having all referenced classes
-						available allows FindBugs to produce more accurate results.</li>
-				</ul>
+                <p>Changes since version 0.5.1:</p>
+                <ul>
+                    <li>Fixed a large number of bugs in the BCEL Repository and
+                        FindBugs's use of the Repository.&nbsp; With these changes,
+                        FindBugs should <em>never</em> crash or otherwise misbehave
+                        because of Repository lookup failures.&nbsp; Because of these
+                        changes, you must use a modified version of <code> bcel.jar
+                        </code> with FindBugs.&nbsp; This jar file is included in the FindBugs
+                        0.5.2 binary release.&nbsp; A complete patch containing the <a
+                        href="http://faculty.ycp.edu/~dhovemey/bcel-30-April-2003.patch">modifications
+                            against the BCEL CVS main branch as of April 30, 2003</a> is also
+                        available.
+                    </li>
+                    <li>Implemented the "auxiliary classpath entry list".&nbsp;
+                        Aux classpath entries can be added to a project to provide classes
+                        that are referenced by the analyzed application, but should not
+                        themselves be analyzed.&nbsp; Having all referenced classes
+                        available allows FindBugs to produce more accurate results.</li>
+                </ul>
 
-				<p>Changes since version 0.5.0:</p>
-				<ul>
-					<li>Many user interface bugs have been fixed.</li>
-					<li>Upgraded to a recent CVS version of BCEL, with some bug
-						fixes.&nbsp; This should prevent FindBugs from crashing when there
-						is a failure to find a class on the classpath.</li>
-					<li>Added support for Plastic look and feel from <a
-						href="http://www.jgoodies.com/">jgoodies.com</a>.
-					</li>
-					<li>Major overhaul of infrastructure for doing dataflow
-						analysis.</li>
-				</ul> 
+                <p>Changes since version 0.5.0:</p>
+                <ul>
+                    <li>Many user interface bugs have been fixed.</li>
+                    <li>Upgraded to a recent CVS version of BCEL, with some bug
+                        fixes.&nbsp; This should prevent FindBugs from crashing when there
+                        is a failure to find a class on the classpath.</li>
+                    <li>Added support for Plastic look and feel from <a
+                        href="http://www.jgoodies.com/">jgoodies.com</a>.
+                    </li>
+                    <li>Major overhaul of infrastructure for doing dataflow
+                        analysis.</li>
+                </ul> 
 <hr> <p> 
 <script language="JavaScript" type="text/javascript"> 
 <!---//hide script from old browsers 
@@ -2800,10 +2855,10 @@
 <p> 
 <A href="http://sourceforge.net"><IMG src="http://sourceforge.net/sflogo.php?group_id=96405&amp;type=5" width="210" height="62" border="0" alt="SourceForge.net Logo" /></A>
 
-			</td>
+            </td>
 
-		</tr>
-	</table>
+        </tr>
+    </table>
 
 </body>
 
diff --git a/doc/FAQ.html b/doc/FAQ.html
index d83b7ee..d479af7 100644
--- a/doc/FAQ.html
+++ b/doc/FAQ.html
@@ -17,18 +17,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -41,15 +43,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
@@ -77,13 +79,13 @@
 
 <h2><a name="q1">Q1: I'm getting java.lang.UnsupportedClassVersionError when I try to run FindBugs</a></h2>
 
-<p> FindBugs requires JRE 1.5.0 or later to run.&nbsp; If you use an earlier version,
+<p> FindBugs requires JRE 1.7.0 or later to run.&nbsp; If you use an earlier version,
 you will see an exception error message similar to the following:
 <pre>
 Exception in thread "main" java.lang.UnsupportedClassVersionError:
-edu/umd/cs/findbugs/gui/FindBugsFrame (Unsupported major.minor version 48.0)
+edu/umd/cs/findbugs/gui/FindBugsFrame (Unsupported major.minor version 51.0)
 </pre>
-The solution is to upgrade to JRE 1.5.0 or later.
+The solution is to upgrade to JRE 1.7.0 or later.
 
 <h2><a name="q2">Q2: When I click the "Find Bugs!" button, I get a NoSuchMethodError or VerifyError</a></h2>
 
@@ -143,8 +145,8 @@
 <h2><a name="q3">Q3: FindBugs is running out of memory, or is taking a long time to finish</a></h2>
 
 <p> In general, FindBugs requires lots of memory and a relatively
-fast CPU.  For large applications, 512M or more of heap space may be
-required.  By default, FindBugs allocates 256M of heap space.
+fast CPU.  For large applications, 1024M or more of heap space may be
+required.  By default, FindBugs allocates 768M of heap space.
 You can increase this using the <code>-maxHeap <i>n</i></code> option,
 where <i>n</i> is the number of megabytes of heap space to allocate.
 
diff --git a/doc/allBugDescriptions.html b/doc/allBugDescriptions.html
index a9e94e0..66c75e2 100644
--- a/doc/allBugDescriptions.html
+++ b/doc/allBugDescriptions.html
@@ -13,18 +13,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -37,15 +39,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 <td align="left" valign="top">
@@ -65,180 +67,182 @@
 <tr bgcolor="#eeeeee"><td><a href="#CN_IDIOM">CN: Class implements Cloneable but does not define or use clone method</a></td><td>Bad practice</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#CN_IDIOM_NO_SUPER_CALL">CN: clone method does not call super.clone()</a></td><td>Bad practice</td></tr>
 <tr bgcolor="#eeeeee"><td><a href="#CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE">CN: Class defines clone() but doesn't implement Cloneable</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#CO_ABSTRACT_SELF">Co: Abstract class defines covariant compareTo() method</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#CO_SELF_NO_OBJECT">Co: Covariant compareTo() method defined</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DE_MIGHT_DROP">DE: Method might drop exception</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DE_MIGHT_IGNORE">DE: Method might ignore exception</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS">DMI: Adding elements of an entry set may fail due to reuse of Entry objects</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_RANDOM_USED_ONLY_ONCE">DMI: Random object created and used only once</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION">DMI: Don't use removeAll to clear a collection</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DM_EXIT">Dm: Method invokes System.exit(...)</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DM_RUN_FINALIZERS_ON_EXIT">Dm: Method invokes dangerous method runFinalizersOnExit</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#ES_COMPARING_PARAMETER_STRING_WITH_EQ">ES: Comparison of String parameter using == or !=</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#ES_COMPARING_STRINGS_WITH_EQ">ES: Comparison of String objects using == or !=</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_ABSTRACT_SELF">Eq: Abstract class defines covariant equals() method</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS">Eq: Equals checks for incompatible operand</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_COMPARETO_USE_OBJECT_EQUALS">Eq: Class defines compareTo(...) and uses Object.equals()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_GETCLASS_AND_CLASS_CONSTANT">Eq: equals method fails for subtypes</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_SELF_NO_OBJECT">Eq: Covariant equals() method defined</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FI_EMPTY">FI: Empty finalizer should be deleted</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#FI_EXPLICIT_INVOCATION">FI: Explicit invocation of finalizer</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FI_FINALIZER_NULLS_FIELDS">FI: Finalizer nulls fields</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#FI_FINALIZER_ONLY_NULLS_FIELDS">FI: Finalizer only nulls fields</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FI_MISSING_SUPER_CALL">FI: Finalizer does not call superclass finalizer</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#FI_NULLIFY_SUPER">FI: Finalizer nullifies superclass finalizer</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FI_USELESS">FI: Finalizer does nothing but call superclass finalizer</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_USES_NEWLINE">FS: Format string should use %n rather than \n</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#GC_UNCHECKED_TYPE_IN_GENERIC_CALL">GC: Unchecked type in generic call</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#HE_EQUALS_NO_HASHCODE">HE: Class defines equals() but not hashCode()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#HE_EQUALS_USE_HASHCODE">HE: Class defines equals() and uses Object.hashCode()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#HE_HASHCODE_NO_EQUALS">HE: Class defines hashCode() but not equals()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#HE_HASHCODE_USE_OBJECT_EQUALS">HE: Class defines hashCode() and uses Object.equals()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#HE_INHERITS_EQUALS_USE_HASHCODE">HE: Class inherits equals() and uses Object.hashCode()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION">IC: Superclass uses subclass during initialization</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IMSE_DONT_CATCH_IMSE">IMSE: Dubious catching of IllegalMonitorStateException</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#ISC_INSTANTIATE_STATIC_CLASS">ISC: Needless instantiation of class that only supplies static methods</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IT_NO_SUCH_ELEMENT">It: Iterator next() method can't throw NoSuchElementException</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION">J2EE: Store of non serializable object into HttpSession</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS">JCIP: Fields of immutable classes should be final</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_BOOLEAN_RETURN_NULL">NP: Method with Boolean return type returns explicit null</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_CLONE_COULD_RETURN_NULL">NP: Clone method may return null</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT">NP: equals() method does not check for null argument</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_TOSTRING_COULD_RETURN_NULL">NP: toString method may return null</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_CLASS_NAMING_CONVENTION">Nm: Class names should start with an upper case letter</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NM_CLASS_NOT_EXCEPTION">Nm: Class is not derived from an Exception, even though it is named as such</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_CONFUSING">Nm: Confusing method names</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NM_FIELD_NAMING_CONVENTION">Nm: Field names should start with a lower case letter</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_METHOD_NAMING_CONVENTION">Nm: Method names should start with a lower case letter</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NM_SAME_SIMPLE_NAME_AS_INTERFACE">Nm: Class names shouldn't shadow simple name of implemented interface</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_SAME_SIMPLE_NAME_AS_SUPERCLASS">Nm: Class names shouldn't shadow simple name of superclass</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NM_VERY_CONFUSING_INTENTIONAL">Nm: Very confusing method names (but perhaps intentional)</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_WRONG_PACKAGE_INTENTIONAL">Nm: Method doesn't override method in superclass due to wrong package for parameter</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#ODR_OPEN_DATABASE_RESOURCE">ODR: Method may fail to close database resource</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH">ODR: Method may fail to close database resource on exception</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#OS_OPEN_STREAM">OS: Method may fail to close stream</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#OS_OPEN_STREAM_EXCEPTION_PATH">OS: Method may fail to close stream on exception</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS">PZ: Don't reuse entry objects in iterators</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE">RC: Suspicious reference comparison to constant</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN">RC: Suspicious reference comparison of Boolean values</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#RR_NOT_CHECKED">RR: Method ignores results of InputStream.read()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SR_NOT_CHECKED">RR: Method ignores results of InputStream.skip()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#RV_NEGATING_RESULT_OF_COMPARETO">RV: Negating the result of compareTo()/compare()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#RV_RETURN_VALUE_IGNORED_BAD_PRACTICE">RV: Method ignores exceptional return value</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SI_INSTANCE_BEFORE_FINALS_ASSIGNED">SI: Static initializer creates instance before all static final fields assigned</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SW_SWING_METHODS_INVOKED_IN_SWING_THREAD">SW: Certain swing methods needs to be invoked in Swing thread</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_BAD_FIELD">Se: Non-transient non-serializable instance field in serializable class</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_BAD_FIELD_INNER_CLASS">Se: Non-serializable class has a serializable inner class</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_BAD_FIELD_STORE">Se: Non-serializable value stored into instance field of a serializable class</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_COMPARATOR_SHOULD_BE_SERIALIZABLE">Se: Comparator doesn't implement Serializable</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_INNER_CLASS">Se: Serializable inner class</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_NONFINAL_SERIALVERSIONID">Se: serialVersionUID isn't final</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_NONLONG_SERIALVERSIONID">Se: serialVersionUID isn't long</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_NONSTATIC_SERIALVERSIONID">Se: serialVersionUID isn't static</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR">Se: Class is Serializable but its superclass doesn't define a void constructor</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION">Se: Class is Externalizable but doesn't define a void constructor</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_READ_RESOLVE_MUST_RETURN_OBJECT">Se: The readResolve method must be declared with a return type of Object. </a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_TRANSIENT_FIELD_NOT_RESTORED">Se: Transient field that isn't set by deserialization. </a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_NO_SERIALVERSIONID">SnVI: Class is Serializable, but doesn't define serialVersionUID</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#UI_INHERITANCE_UNSAFE_GETRESOURCE">UI: Usage of GetResource may be unsafe if class is extended</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BAC_BAD_APPLET_CONSTRUCTOR">BAC: Bad Applet Constructor relies on uninitialized AppletStub</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_CAST">BC: Impossible cast</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_DOWNCAST">BC: Impossible downcast</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY">BC: Impossible downcast of toArray() result</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_INSTANCEOF">BC: instanceof will always return false</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BIT_ADD_OF_SIGNED_BYTE">BIT: Bitwise add of signed byte value</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BIT_AND">BIT: Incompatible bit masks</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BIT_AND_ZZ">BIT: Check to see if ((...) & 0) == 0</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BIT_IOR">BIT: Incompatible bit masks</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BIT_IOR_OF_SIGNED_BYTE">BIT: Bitwise OR of signed byte value</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BIT_SIGNED_CHECK_HIGH_BIT">BIT: Check for sign of bitwise operation</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BOA_BADLY_OVERRIDDEN_ADAPTER">BOA: Class overrides a method implemented in super class Adapter wrongly</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#ICAST_BAD_SHIFT_AMOUNT">BSHIFT: 32 bit int shifted by an amount not in the range -31..31</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR">Bx: Primitive value is unboxed and coerced for ternary operator</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#CO_COMPARETO_RESULTS_MIN_VALUE">Co: compareTo()/compare() returns Integer.MIN_VALUE</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DLS_DEAD_LOCAL_INCREMENT_IN_RETURN">DLS: Useless increment in return statement</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DLS_DEAD_STORE_OF_CLASS_LITERAL">DLS: Dead store of class literal</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DLS_OVERWRITTEN_INCREMENT">DLS: Overwritten increment</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_ARGUMENTS_WRONG_ORDER">DMI: Reversed method arguments</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_BAD_MONTH">DMI: Bad constant value for month</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE">DMI: BigDecimal constructed from double that isn't represented precisely</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_CALLING_NEXT_FROM_HASNEXT">DMI: hasNext method invokes next</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES">DMI: Collections should not contain themselves</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_DOH">DMI: D'oh! A nonsensical method invocation</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_INVOKING_HASHCODE_ON_ARRAY">DMI: Invocation of hashCode on an array</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT">DMI: Double.longBitsToDouble invoked on an int</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_VACUOUS_SELF_COLLECTION_CALL">DMI: Vacuous call to collections</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION">Dm: Can't use reflection to check for presence of annotation without runtime retention</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR">Dm: Futile attempt to change max pool size of ScheduledThreadPoolExecutor</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS">Dm: Creation of ScheduledThreadPoolExecutor with zero core threads</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD">Dm: Useless/vacuous call to EasyMock method</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EC_ARRAY_AND_NONARRAY">EC: equals() used to compare array and nonarray</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EC_BAD_ARRAY_COMPARE">EC: Invocation of equals() on an array, which is equivalent to ==</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EC_INCOMPATIBLE_ARRAY_COMPARE">EC: equals(...) used to compare incompatible arrays</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EC_NULL_ARG">EC: Call to equals(null)</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_CLASS_AND_INTERFACE">EC: Call to equals() comparing unrelated class and interface</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_INTERFACES">EC: Call to equals() comparing different interface types</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_TYPES">EC: Call to equals() comparing different types</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_TYPES_USING_POINTER_EQUALITY">EC: Using pointer equality to compare different types</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_ALWAYS_FALSE">Eq: equals method always returns false</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_ALWAYS_TRUE">Eq: equals method always returns true</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_COMPARING_CLASS_NAMES">Eq: equals method compares class names rather than class objects</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_DONT_DEFINE_EQUALS_FOR_ENUM">Eq: Covariant equals() method defined for enum</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_OTHER_NO_OBJECT">Eq: equals() method defined that doesn't override equals(Object)</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_OTHER_USE_OBJECT">Eq: equals() method defined that doesn't override Object.equals(Object)</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC">Eq: equals method overrides equals in superclass and may not be symmetric</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_SELF_USE_OBJECT">Eq: Covariant equals() method defined, Object.equals(Object) inherited</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#FB_MISSING_EXPECTED_WARNING">FB: Missing expected or desired warning from FindBugs</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FB_UNEXPECTED_WARNING">FB: Unexpected/undesired warning from FindBugs</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER">FE: Doomed test for equality to NaN</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FL_MATH_USING_FLOAT_PRECISION">FL: Method performs math using floating point precision</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_BAD_ARGUMENT">FS: Format string placeholder incompatible with passed argument</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_BAD_CONVERSION">FS: The type of a supplied argument doesn't match format specifier</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED">FS: MessageFormat supplied where printf style format expected</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED">FS: More arguments are passed than are actually used in the format string</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_ILLEGAL">FS: Illegal format string</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_MISSING_ARGUMENT">FS: Format string references missing argument</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT">FS: No previous argument for format string</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#GC_UNRELATED_TYPES">GC: No relationship between generic parameter and method argument</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS">HE: Signature declares use of unhashable class in hashed construct</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#HE_USE_OF_UNHASHABLE_CLASS">HE: Use of class without a hashCode() method in a hashed data structure</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#ICAST_INT_2_LONG_AS_INSTANT">ICAST: int value converted to long and used as absolute time</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL">ICAST: Integral value cast to double and then passed to Math.ceil</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND">ICAST: int value cast to float and then passed to Math.round</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD">IJU: JUnit assertion in run method will not be noticed by JUnit</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IJU_BAD_SUITE_METHOD">IJU: TestCase declares a bad suite method </a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IJU_NO_TESTS">IJU: TestCase has no tests</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IJU_SETUP_NO_SUPER">IJU: TestCase defines setUp that doesn't call super.setUp()</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IJU_SUITE_NOT_STATIC">IJU: TestCase implements a non-static suite method </a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IJU_TEARDOWN_NO_SUPER">IJU: TestCase defines tearDown that doesn't call super.tearDown()</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IL_CONTAINER_ADDED_TO_ITSELF">IL: A collection is added to itself</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IL_INFINITE_LOOP">IL: An apparent infinite loop</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IL_INFINITE_RECURSIVE_LOOP">IL: An apparent infinite recursive loop</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IM_MULTIPLYING_RESULT_OF_IREM">IM: Integer multiply of result of integer remainder</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#INT_BAD_COMPARISON_WITH_INT_VALUE">INT: Bad comparison of int value with long constant</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE">INT: Bad comparison of nonnegative value with negative constant</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#INT_BAD_COMPARISON_WITH_SIGNED_BYTE">INT: Bad comparison of signed byte</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IO_APPENDING_TO_OBJECT_OUTPUT_STREAM">IO: Doomed attempt to append to an object output stream</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN">IP: A parameter is dead upon entry to a method but overwritten</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#MF_CLASS_MASKS_FIELD">MF: Class defines field that masks a superclass field</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#MF_METHOD_MASKS_FIELD">MF: Method defines a variable that obscures a field</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_ALWAYS_NULL">NP: Null pointer dereference</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_ALWAYS_NULL_EXCEPTION">NP: Null pointer dereference in method on exception path</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_ARGUMENT_MIGHT_BE_NULL">NP: Method does not check for null argument</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_CLOSING_NULL">NP: close() invoked on a value that is always null</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_GUARANTEED_DEREF">NP: Null value is guaranteed to be dereferenced</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH">NP: Value is null and guaranteed to be dereferenced on exception path</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP: Nonnull field is not initialized</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_NONNULL_PARAM_VIOLATION">NP: Method call passes null to a nonnull parameter </a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_NONNULL_RETURN_VIOLATION">NP: Method may return null, but is declared @NonNull</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_NULL_INSTANCEOF">NP: A known null value is checked to see if it is an instance of a type</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_ON_SOME_PATH">NP: Possible null pointer dereference</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_NULL_ON_SOME_PATH_EXCEPTION">NP: Possible null pointer dereference in method on exception path</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_PARAM_DEREF">NP: Method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS">NP: Method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_PARAM_DEREF_NONVIRTUAL">NP: Non-virtual method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CNT_ROUGH_CONSTANT_VALUE">CNT: Rough value of known constant found</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#CO_ABSTRACT_SELF">Co: Abstract class defines covariant compareTo() method</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CO_SELF_NO_OBJECT">Co: Covariant compareTo() method defined</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DE_MIGHT_DROP">DE: Method might drop exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DE_MIGHT_IGNORE">DE: Method might ignore exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS">DMI: Adding elements of an entry set may fail due to reuse of Entry objects</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_RANDOM_USED_ONLY_ONCE">DMI: Random object created and used only once</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION">DMI: Don't use removeAll to clear a collection</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_EXIT">Dm: Method invokes System.exit(...)</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_RUN_FINALIZERS_ON_EXIT">Dm: Method invokes dangerous method runFinalizersOnExit</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ES_COMPARING_PARAMETER_STRING_WITH_EQ">ES: Comparison of String parameter using == or !=</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ES_COMPARING_STRINGS_WITH_EQ">ES: Comparison of String objects using == or !=</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_ABSTRACT_SELF">Eq: Abstract class defines covariant equals() method</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS">Eq: Equals checks for incompatible operand</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_COMPARETO_USE_OBJECT_EQUALS">Eq: Class defines compareTo(...) and uses Object.equals()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_GETCLASS_AND_CLASS_CONSTANT">Eq: equals method fails for subtypes</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_SELF_NO_OBJECT">Eq: Covariant equals() method defined</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_EMPTY">FI: Empty finalizer should be deleted</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_EXPLICIT_INVOCATION">FI: Explicit invocation of finalizer</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_FINALIZER_NULLS_FIELDS">FI: Finalizer nulls fields</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_FINALIZER_ONLY_NULLS_FIELDS">FI: Finalizer only nulls fields</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_MISSING_SUPER_CALL">FI: Finalizer does not call superclass finalizer</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_NULLIFY_SUPER">FI: Finalizer nullifies superclass finalizer</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_USELESS">FI: Finalizer does nothing but call superclass finalizer</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_USES_NEWLINE">FS: Format string should use %n rather than \n</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#GC_UNCHECKED_TYPE_IN_GENERIC_CALL">GC: Unchecked type in generic call</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_EQUALS_NO_HASHCODE">HE: Class defines equals() but not hashCode()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_EQUALS_USE_HASHCODE">HE: Class defines equals() and uses Object.hashCode()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_HASHCODE_NO_EQUALS">HE: Class defines hashCode() but not equals()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_HASHCODE_USE_OBJECT_EQUALS">HE: Class defines hashCode() and uses Object.equals()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_INHERITS_EQUALS_USE_HASHCODE">HE: Class inherits equals() and uses Object.hashCode()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION">IC: Superclass uses subclass during initialization</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IMSE_DONT_CATCH_IMSE">IMSE: Dubious catching of IllegalMonitorStateException</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ISC_INSTANTIATE_STATIC_CLASS">ISC: Needless instantiation of class that only supplies static methods</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IT_NO_SUCH_ELEMENT">It: Iterator next() method can't throw NoSuchElementException</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION">J2EE: Store of non serializable object into HttpSession</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS">JCIP: Fields of immutable classes should be final</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_BOOLEAN_RETURN_NULL">NP: Method with Boolean return type returns explicit null</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_CLONE_COULD_RETURN_NULL">NP: Clone method may return null</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT">NP: equals() method does not check for null argument</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_TOSTRING_COULD_RETURN_NULL">NP: toString method may return null</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_CLASS_NAMING_CONVENTION">Nm: Class names should start with an upper case letter</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_CLASS_NOT_EXCEPTION">Nm: Class is not derived from an Exception, even though it is named as such</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_CONFUSING">Nm: Confusing method names</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_FIELD_NAMING_CONVENTION">Nm: Field names should start with a lower case letter</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_METHOD_NAMING_CONVENTION">Nm: Method names should start with a lower case letter</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_SAME_SIMPLE_NAME_AS_INTERFACE">Nm: Class names shouldn't shadow simple name of implemented interface</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_SAME_SIMPLE_NAME_AS_SUPERCLASS">Nm: Class names shouldn't shadow simple name of superclass</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_VERY_CONFUSING_INTENTIONAL">Nm: Very confusing method names (but perhaps intentional)</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_WRONG_PACKAGE_INTENTIONAL">Nm: Method doesn't override method in superclass due to wrong package for parameter</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ODR_OPEN_DATABASE_RESOURCE">ODR: Method may fail to close database resource</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH">ODR: Method may fail to close database resource on exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#OS_OPEN_STREAM">OS: Method may fail to close stream</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#OS_OPEN_STREAM_EXCEPTION_PATH">OS: Method may fail to close stream on exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS">PZ: Don't reuse entry objects in iterators</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE">RC: Suspicious reference comparison to constant</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN">RC: Suspicious reference comparison of Boolean values</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RR_NOT_CHECKED">RR: Method ignores results of InputStream.read()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SR_NOT_CHECKED">RR: Method ignores results of InputStream.skip()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_NEGATING_RESULT_OF_COMPARETO">RV: Negating the result of compareTo()/compare()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_RETURN_VALUE_IGNORED_BAD_PRACTICE">RV: Method ignores exceptional return value</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SI_INSTANCE_BEFORE_FINALS_ASSIGNED">SI: Static initializer creates instance before all static final fields assigned</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SW_SWING_METHODS_INVOKED_IN_SWING_THREAD">SW: Certain swing methods needs to be invoked in Swing thread</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_BAD_FIELD">Se: Non-transient non-serializable instance field in serializable class</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_BAD_FIELD_INNER_CLASS">Se: Non-serializable class has a serializable inner class</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_BAD_FIELD_STORE">Se: Non-serializable value stored into instance field of a serializable class</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_COMPARATOR_SHOULD_BE_SERIALIZABLE">Se: Comparator doesn't implement Serializable</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_INNER_CLASS">Se: Serializable inner class</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NONFINAL_SERIALVERSIONID">Se: serialVersionUID isn't final</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NONLONG_SERIALVERSIONID">Se: serialVersionUID isn't long</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NONSTATIC_SERIALVERSIONID">Se: serialVersionUID isn't static</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR">Se: Class is Serializable but its superclass doesn't define a void constructor</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION">Se: Class is Externalizable but doesn't define a void constructor</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_READ_RESOLVE_MUST_RETURN_OBJECT">Se: The readResolve method must be declared with a return type of Object. </a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_TRANSIENT_FIELD_NOT_RESTORED">Se: Transient field that isn't set by deserialization. </a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NO_SERIALVERSIONID">SnVI: Class is Serializable, but doesn't define serialVersionUID</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UI_INHERITANCE_UNSAFE_GETRESOURCE">UI: Usage of GetResource may be unsafe if class is extended</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BAC_BAD_APPLET_CONSTRUCTOR">BAC: Bad Applet Constructor relies on uninitialized AppletStub</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_CAST">BC: Impossible cast</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_DOWNCAST">BC: Impossible downcast</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY">BC: Impossible downcast of toArray() result</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_INSTANCEOF">BC: instanceof will always return false</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_ADD_OF_SIGNED_BYTE">BIT: Bitwise add of signed byte value</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_AND">BIT: Incompatible bit masks</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_AND_ZZ">BIT: Check to see if ((...) & 0) == 0</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_IOR">BIT: Incompatible bit masks</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_IOR_OF_SIGNED_BYTE">BIT: Bitwise OR of signed byte value</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_SIGNED_CHECK_HIGH_BIT">BIT: Check for sign of bitwise operation</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BOA_BADLY_OVERRIDDEN_ADAPTER">BOA: Class overrides a method implemented in super class Adapter wrongly</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ICAST_BAD_SHIFT_AMOUNT">BSHIFT: 32 bit int shifted by an amount not in the range -31..31</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR">Bx: Primitive value is unboxed and coerced for ternary operator</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#CO_COMPARETO_RESULTS_MIN_VALUE">Co: compareTo()/compare() returns Integer.MIN_VALUE</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DLS_DEAD_LOCAL_INCREMENT_IN_RETURN">DLS: Useless increment in return statement</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_DEAD_STORE_OF_CLASS_LITERAL">DLS: Dead store of class literal</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DLS_OVERWRITTEN_INCREMENT">DLS: Overwritten increment</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_ARGUMENTS_WRONG_ORDER">DMI: Reversed method arguments</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_BAD_MONTH">DMI: Bad constant value for month</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE">DMI: BigDecimal constructed from double that isn't represented precisely</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_CALLING_NEXT_FROM_HASNEXT">DMI: hasNext method invokes next</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES">DMI: Collections should not contain themselves</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_DOH">DMI: D'oh! A nonsensical method invocation</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_INVOKING_HASHCODE_ON_ARRAY">DMI: Invocation of hashCode on an array</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT">DMI: Double.longBitsToDouble invoked on an int</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_VACUOUS_SELF_COLLECTION_CALL">DMI: Vacuous call to collections</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION">Dm: Can't use reflection to check for presence of annotation without runtime retention</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR">Dm: Futile attempt to change max pool size of ScheduledThreadPoolExecutor</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS">Dm: Creation of ScheduledThreadPoolExecutor with zero core threads</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD">Dm: Useless/vacuous call to EasyMock method</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_ARRAY_AND_NONARRAY">EC: equals() used to compare array and nonarray</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_BAD_ARRAY_COMPARE">EC: Invocation of equals() on an array, which is equivalent to ==</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_INCOMPATIBLE_ARRAY_COMPARE">EC: equals(...) used to compare incompatible arrays</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_NULL_ARG">EC: Call to equals(null)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_CLASS_AND_INTERFACE">EC: Call to equals() comparing unrelated class and interface</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_INTERFACES">EC: Call to equals() comparing different interface types</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_TYPES">EC: Call to equals() comparing different types</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_TYPES_USING_POINTER_EQUALITY">EC: Using pointer equality to compare different types</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_ALWAYS_FALSE">Eq: equals method always returns false</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_ALWAYS_TRUE">Eq: equals method always returns true</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_COMPARING_CLASS_NAMES">Eq: equals method compares class names rather than class objects</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_DONT_DEFINE_EQUALS_FOR_ENUM">Eq: Covariant equals() method defined for enum</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_OTHER_NO_OBJECT">Eq: equals() method defined that doesn't override equals(Object)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_OTHER_USE_OBJECT">Eq: equals() method defined that doesn't override Object.equals(Object)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC">Eq: equals method overrides equals in superclass and may not be symmetric</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_SELF_USE_OBJECT">Eq: Covariant equals() method defined, Object.equals(Object) inherited</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FB_MISSING_EXPECTED_WARNING">FB: Missing expected or desired warning from FindBugs</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FB_UNEXPECTED_WARNING">FB: Unexpected/undesired warning from FindBugs</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER">FE: Doomed test for equality to NaN</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FL_MATH_USING_FLOAT_PRECISION">FL: Method performs math using floating point precision</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_BAD_ARGUMENT">FS: Format string placeholder incompatible with passed argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_BAD_CONVERSION">FS: The type of a supplied argument doesn't match format specifier</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED">FS: MessageFormat supplied where printf style format expected</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED">FS: More arguments are passed than are actually used in the format string</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_ILLEGAL">FS: Illegal format string</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_MISSING_ARGUMENT">FS: Format string references missing argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT">FS: No previous argument for format string</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#GC_UNRELATED_TYPES">GC: No relationship between generic parameter and method argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS">HE: Signature declares use of unhashable class in hashed construct</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_USE_OF_UNHASHABLE_CLASS">HE: Use of class without a hashCode() method in a hashed data structure</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_INT_2_LONG_AS_INSTANT">ICAST: int value converted to long and used as absolute time</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL">ICAST: Integral value cast to double and then passed to Math.ceil</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND">ICAST: int value cast to float and then passed to Math.round</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD">IJU: JUnit assertion in run method will not be noticed by JUnit</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_BAD_SUITE_METHOD">IJU: TestCase declares a bad suite method </a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_NO_TESTS">IJU: TestCase has no tests</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_SETUP_NO_SUPER">IJU: TestCase defines setUp that doesn't call super.setUp()</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_SUITE_NOT_STATIC">IJU: TestCase implements a non-static suite method </a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_TEARDOWN_NO_SUPER">IJU: TestCase defines tearDown that doesn't call super.tearDown()</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IL_CONTAINER_ADDED_TO_ITSELF">IL: A collection is added to itself</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IL_INFINITE_LOOP">IL: An apparent infinite loop</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IL_INFINITE_RECURSIVE_LOOP">IL: An apparent infinite recursive loop</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IM_MULTIPLYING_RESULT_OF_IREM">IM: Integer multiply of result of integer remainder</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_COMPARISON_WITH_INT_VALUE">INT: Bad comparison of int value with long constant</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE">INT: Bad comparison of nonnegative value with negative constant</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_COMPARISON_WITH_SIGNED_BYTE">INT: Bad comparison of signed byte</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IO_APPENDING_TO_OBJECT_OUTPUT_STREAM">IO: Doomed attempt to append to an object output stream</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN">IP: A parameter is dead upon entry to a method but overwritten</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MF_CLASS_MASKS_FIELD">MF: Class defines field that masks a superclass field</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MF_METHOD_MASKS_FIELD">MF: Method defines a variable that obscures a field</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_ALWAYS_NULL">NP: Null pointer dereference</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_ALWAYS_NULL_EXCEPTION">NP: Null pointer dereference in method on exception path</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_ARGUMENT_MIGHT_BE_NULL">NP: Method does not check for null argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_CLOSING_NULL">NP: close() invoked on a value that is always null</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_GUARANTEED_DEREF">NP: Null value is guaranteed to be dereferenced</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH">NP: Value is null and guaranteed to be dereferenced on exception path</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP: Nonnull field is not initialized</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NONNULL_PARAM_VIOLATION">NP: Method call passes null to a nonnull parameter </a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NONNULL_RETURN_VIOLATION">NP: Method may return null, but is declared @NonNull</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_INSTANCEOF">NP: A known null value is checked to see if it is an instance of a type</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_ON_SOME_PATH">NP: Possible null pointer dereference</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_ON_SOME_PATH_EXCEPTION">NP: Possible null pointer dereference in method on exception path</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_PARAM_DEREF">NP: Method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS">NP: Method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_PARAM_DEREF_NONVIRTUAL">NP: Non-virtual method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_OPTIONAL_RETURN_NULL">NP: Method with Optional return type returns explicit null</a></td><td>Correctness</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#NP_STORE_INTO_NONNULL_FIELD">NP: Store of null value into field annotated NonNull</a></td><td>Correctness</td></tr>
 <tr bgcolor="#eeeeee"><td><a href="#NP_UNWRITTEN_FIELD">NP: Read of unwritten field</a></td><td>Correctness</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#NM_BAD_EQUAL">Nm: Class defines equal(Object); should it be equals(Object)?</a></td><td>Correctness</td></tr>
@@ -379,6 +383,8 @@
 <tr bgcolor="#eeeeee"><td><a href="#DM_STRING_TOSTRING">Dm: Method invokes toString() method on a String</a></td><td>Performance</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#DM_STRING_VOID_CTOR">Dm: Method invokes inefficient new String() constructor</a></td><td>Performance</td></tr>
 <tr bgcolor="#eeeeee"><td><a href="#HSC_HUGE_SHARED_STRING_CONSTANT">HSC: Huge string constants is duplicated across multiple class files</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IIO_INEFFICIENT_INDEX_OF">IIO: Inefficient use of String.indexOf(String)</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IIO_INEFFICIENT_LAST_INDEX_OF">IIO: Inefficient use of String.lastIndexOf(String)</a></td><td>Performance</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#IMA_INEFFICIENT_MEMBER_ACCESS">IMA: Method accesses a private member variable of owning class</a></td><td>Performance</td></tr>
 <tr bgcolor="#eeeeee"><td><a href="#ITA_INEFFICIENT_TO_ARRAY">ITA: Method uses toArray() with zero-length array argument</a></td><td>Performance</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#SBSC_USE_STRINGBUFFER_CONCATENATION">SBSC: Method concatenates strings using + in a loop</a></td><td>Performance</td></tr>
@@ -560,6 +566,12 @@
 </p>
 
     
+<h3><a name="CNT_ROUGH_CONSTANT_VALUE">CNT: Rough value of known constant found (CNT_ROUGH_CONSTANT_VALUE)</a></h3>
+
+      
+    <p>It's recommended to use the predefined library constant for code clarity and better precision.</p>
+
+    
 <h3><a name="CO_ABSTRACT_SELF">Co: Abstract class defines covariant compareTo() method (CO_ABSTRACT_SELF)</a></h3>
 
 
@@ -1636,9 +1648,9 @@
 <h3><a name="DLS_DEAD_LOCAL_INCREMENT_IN_RETURN">DLS: Useless increment in return statement (DLS_DEAD_LOCAL_INCREMENT_IN_RETURN)</a></h3>
 
       
-<p>This statement has a return such as <code>return x++;</code>. 
+<p>This statement has a return such as <code>return x++;</code>.
 A postfix increment/decrement does not impact the value of the expression,
-so this increment/decrement has no effect. 
+so this increment/decrement has no effect.
 Please verify that this statement does the right thing.
 </p>
 
@@ -2529,6 +2541,15 @@
       </p>
       
    
+<h3><a name="NP_OPTIONAL_RETURN_NULL">NP: Method with Optional return type returns explicit null (NP_OPTIONAL_RETURN_NULL)</a></h3>
+
+       
+       <p>
+    The usage of Optional return type always mean that explicit null returns were not desired by design.
+    Returning a null value in such case is a contract violation and will most likely break clients code.
+       </p>
+       
+       
 <h3><a name="NP_STORE_INTO_NONNULL_FIELD">NP: Store of null value into field annotated NonNull (NP_STORE_INTO_NONNULL_FIELD)</a></h3>
 
       
@@ -4244,6 +4265,22 @@
 </p>
       
    
+<h3><a name="IIO_INEFFICIENT_INDEX_OF">IIO: Inefficient use of String.indexOf(String) (IIO_INEFFICIENT_INDEX_OF)</a></h3>
+
+
+<p> This code passes a constant string of length 1 to String.indexOf().
+It is more efficient to use the integer implementations of String.indexOf().
+f. e. call <code>myString.indexOf('.')</code> instead of <code>myString.indexOf(".")</code></p>
+
+    
+<h3><a name="IIO_INEFFICIENT_LAST_INDEX_OF">IIO: Inefficient use of String.lastIndexOf(String) (IIO_INEFFICIENT_LAST_INDEX_OF)</a></h3>
+
+
+<p> This code passes a constant string of length 1 to String.lastIndexOf().
+It is more efficient to use the integer implementations of String.lastIndexOf().
+f. e. call <code>myString.lastIndexOf('.')</code> instead of <code>myString.lastIndexOf(".")</code></p>
+
+    
 <h3><a name="IMA_INEFFICIENT_MEMBER_ACCESS">IMA: Method accesses a private member variable of owning class (IMA_INEFFICIENT_MEMBER_ACCESS)</a></h3>
 
       
@@ -4840,12 +4877,12 @@
 <h3><a name="IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD">IA: Potentially ambiguous invocation of either an inherited or outer method (IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD)</a></h3>
 
 
-  <p> 
-An inner class is invoking a method that could be resolved to either a inherited method or a method defined in an outer class. 
+  <p>
+An inner class is invoking a method that could be resolved to either a inherited method or a method defined in an outer class.
 For example, you invoke <code>foo(17)</code>, which is defined in both a superclass and in an outer method.
 By the Java semantics,
 it will be resolved to invoke the inherited method, but this may not be want
-you intend. 
+you intend.
 </p>
 <p>If you really intend to invoke the inherited method,
 invoke it by invoking the method on super (e.g., invoke super.foo(17)), and
@@ -4853,7 +4890,7 @@
 that you want to invoke the inherited method, not the method in the outer class.
 </p>
 <p>If you call <code>this.foo(17)</code>, then the inherited method will be invoked. However, since FindBugs only looks at
-classfiles, it 
+classfiles, it
 can't tell the difference between an invocation of <code>this.foo(17)</code> and <code>foo(17)</code>, it will still
 complain about a potential ambiguous invocation.
 </p>
@@ -5022,17 +5059,17 @@
 
         <p>
         A method should always implement the contract of a method it overrides. Thus, if a method takes a parameter
-	that is marked as @Nullable, you shouldn't override that method in a subclass with a method where that parameter is @Nonnull.
-	Doing so violates the contract that the method should handle a null parameter.
+    that is marked as @Nullable, you shouldn't override that method in a subclass with a method where that parameter is @Nonnull.
+    Doing so violates the contract that the method should handle a null parameter.
         </p>
       
 <h3><a name="NP_METHOD_RETURN_RELAXING_ANNOTATION">NP: Method relaxes nullness annotation on return value (NP_METHOD_RETURN_RELAXING_ANNOTATION)</a></h3>
 
         <p>
         A method should always implement the contract of a method it overrides. Thus, if a method takes is annotated
-	as returning a @Nonnull value, 
-	you shouldn't override that method in a subclass with a method annotated as returning a @Nullable or @CheckForNull value.
-	Doing so violates the contract that the method shouldn't return null.
+    as returning a @Nonnull value,
+    you shouldn't override that method in a subclass with a method annotated as returning a @Nullable or @CheckForNull value.
+    Doing so violates the contract that the method shouldn't return null.
         </p>
       
 <h3><a name="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE">NP: Possible null pointer dereference due to return value of called method (NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE)</a></h3>
diff --git a/doc/bugDescriptions.html b/doc/bugDescriptions.html
index be1c9d7..3c196b6 100644
--- a/doc/bugDescriptions.html
+++ b/doc/bugDescriptions.html
@@ -13,18 +13,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -37,21 +39,21 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 <td align="left" valign="top">
 <h1>FindBugs Bug Descriptions</h1>
 <p>This document lists the standard bug patterns reported by
-<a href="http://findbugs.sourceforge.net">FindBugs</a> version 2.0.3.</p>
+<a href="http://findbugs.sourceforge.net">FindBugs</a> version 3.0.0.</p>
 <h2>Summary</h2>
 <table width="100%">
 <tr bgcolor="#b9b9fe"><th>Description</th><th>Category</th></tr>
@@ -60,176 +62,178 @@
 <tr bgcolor="#eeeeee"><td><a href="#CN_IDIOM">CN: Class implements Cloneable but does not define or use clone method</a></td><td>Bad practice</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#CN_IDIOM_NO_SUPER_CALL">CN: clone method does not call super.clone()</a></td><td>Bad practice</td></tr>
 <tr bgcolor="#eeeeee"><td><a href="#CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE">CN: Class defines clone() but doesn't implement Cloneable</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#CO_ABSTRACT_SELF">Co: Abstract class defines covariant compareTo() method</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#CO_SELF_NO_OBJECT">Co: Covariant compareTo() method defined</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DE_MIGHT_DROP">DE: Method might drop exception</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DE_MIGHT_IGNORE">DE: Method might ignore exception</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS">DMI: Adding elements of an entry set may fail due to reuse of Entry objects</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_RANDOM_USED_ONLY_ONCE">DMI: Random object created and used only once</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION">DMI: Don't use removeAll to clear a collection</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DM_EXIT">Dm: Method invokes System.exit(...)</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DM_RUN_FINALIZERS_ON_EXIT">Dm: Method invokes dangerous method runFinalizersOnExit</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#ES_COMPARING_PARAMETER_STRING_WITH_EQ">ES: Comparison of String parameter using == or !=</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#ES_COMPARING_STRINGS_WITH_EQ">ES: Comparison of String objects using == or !=</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_ABSTRACT_SELF">Eq: Abstract class defines covariant equals() method</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS">Eq: Equals checks for incompatible operand</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_COMPARETO_USE_OBJECT_EQUALS">Eq: Class defines compareTo(...) and uses Object.equals()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_GETCLASS_AND_CLASS_CONSTANT">Eq: equals method fails for subtypes</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_SELF_NO_OBJECT">Eq: Covariant equals() method defined</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FI_EMPTY">FI: Empty finalizer should be deleted</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#FI_EXPLICIT_INVOCATION">FI: Explicit invocation of finalizer</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FI_FINALIZER_NULLS_FIELDS">FI: Finalizer nulls fields</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#FI_FINALIZER_ONLY_NULLS_FIELDS">FI: Finalizer only nulls fields</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FI_MISSING_SUPER_CALL">FI: Finalizer does not call superclass finalizer</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#FI_NULLIFY_SUPER">FI: Finalizer nullifies superclass finalizer</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FI_USELESS">FI: Finalizer does nothing but call superclass finalizer</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_USES_NEWLINE">FS: Format string should use %n rather than \n</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#GC_UNCHECKED_TYPE_IN_GENERIC_CALL">GC: Unchecked type in generic call</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#HE_EQUALS_NO_HASHCODE">HE: Class defines equals() but not hashCode()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#HE_EQUALS_USE_HASHCODE">HE: Class defines equals() and uses Object.hashCode()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#HE_HASHCODE_NO_EQUALS">HE: Class defines hashCode() but not equals()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#HE_HASHCODE_USE_OBJECT_EQUALS">HE: Class defines hashCode() and uses Object.equals()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#HE_INHERITS_EQUALS_USE_HASHCODE">HE: Class inherits equals() and uses Object.hashCode()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION">IC: Superclass uses subclass during initialization</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IMSE_DONT_CATCH_IMSE">IMSE: Dubious catching of IllegalMonitorStateException</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#ISC_INSTANTIATE_STATIC_CLASS">ISC: Needless instantiation of class that only supplies static methods</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IT_NO_SUCH_ELEMENT">It: Iterator next() method can't throw NoSuchElementException</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION">J2EE: Store of non serializable object into HttpSession</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS">JCIP: Fields of immutable classes should be final</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_BOOLEAN_RETURN_NULL">NP: Method with Boolean return type returns explicit null</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_CLONE_COULD_RETURN_NULL">NP: Clone method may return null</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT">NP: equals() method does not check for null argument</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_TOSTRING_COULD_RETURN_NULL">NP: toString method may return null</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_CLASS_NAMING_CONVENTION">Nm: Class names should start with an upper case letter</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NM_CLASS_NOT_EXCEPTION">Nm: Class is not derived from an Exception, even though it is named as such</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_CONFUSING">Nm: Confusing method names</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NM_FIELD_NAMING_CONVENTION">Nm: Field names should start with a lower case letter</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_METHOD_NAMING_CONVENTION">Nm: Method names should start with a lower case letter</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NM_SAME_SIMPLE_NAME_AS_INTERFACE">Nm: Class names shouldn't shadow simple name of implemented interface</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_SAME_SIMPLE_NAME_AS_SUPERCLASS">Nm: Class names shouldn't shadow simple name of superclass</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NM_VERY_CONFUSING_INTENTIONAL">Nm: Very confusing method names (but perhaps intentional)</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NM_WRONG_PACKAGE_INTENTIONAL">Nm: Method doesn't override method in superclass due to wrong package for parameter</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#ODR_OPEN_DATABASE_RESOURCE">ODR: Method may fail to close database resource</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH">ODR: Method may fail to close database resource on exception</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#OS_OPEN_STREAM">OS: Method may fail to close stream</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#OS_OPEN_STREAM_EXCEPTION_PATH">OS: Method may fail to close stream on exception</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS">PZ: Don't reuse entry objects in iterators</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE">RC: Suspicious reference comparison to constant</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN">RC: Suspicious reference comparison of Boolean values</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#RR_NOT_CHECKED">RR: Method ignores results of InputStream.read()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SR_NOT_CHECKED">RR: Method ignores results of InputStream.skip()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#RV_NEGATING_RESULT_OF_COMPARETO">RV: Negating the result of compareTo()/compare()</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#RV_RETURN_VALUE_IGNORED_BAD_PRACTICE">RV: Method ignores exceptional return value</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SI_INSTANCE_BEFORE_FINALS_ASSIGNED">SI: Static initializer creates instance before all static final fields assigned</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SW_SWING_METHODS_INVOKED_IN_SWING_THREAD">SW: Certain swing methods needs to be invoked in Swing thread</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_BAD_FIELD">Se: Non-transient non-serializable instance field in serializable class</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_BAD_FIELD_INNER_CLASS">Se: Non-serializable class has a serializable inner class</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_BAD_FIELD_STORE">Se: Non-serializable value stored into instance field of a serializable class</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_COMPARATOR_SHOULD_BE_SERIALIZABLE">Se: Comparator doesn't implement Serializable</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_INNER_CLASS">Se: Serializable inner class</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_NONFINAL_SERIALVERSIONID">Se: serialVersionUID isn't final</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_NONLONG_SERIALVERSIONID">Se: serialVersionUID isn't long</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_NONSTATIC_SERIALVERSIONID">Se: serialVersionUID isn't static</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR">Se: Class is Serializable but its superclass doesn't define a void constructor</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION">Se: Class is Externalizable but doesn't define a void constructor</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_READ_RESOLVE_MUST_RETURN_OBJECT">Se: The readResolve method must be declared with a return type of Object. </a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#SE_TRANSIENT_FIELD_NOT_RESTORED">Se: Transient field that isn't set by deserialization. </a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#SE_NO_SERIALVERSIONID">SnVI: Class is Serializable, but doesn't define serialVersionUID</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#UI_INHERITANCE_UNSAFE_GETRESOURCE">UI: Usage of GetResource may be unsafe if class is extended</a></td><td>Bad practice</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_CAST">BC: Impossible cast</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_DOWNCAST">BC: Impossible downcast</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY">BC: Impossible downcast of toArray() result</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_INSTANCEOF">BC: instanceof will always return false</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BIT_ADD_OF_SIGNED_BYTE">BIT: Bitwise add of signed byte value</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BIT_AND">BIT: Incompatible bit masks</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BIT_AND_ZZ">BIT: Check to see if ((...) & 0) == 0</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BIT_IOR">BIT: Incompatible bit masks</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BIT_IOR_OF_SIGNED_BYTE">BIT: Bitwise OR of signed byte value</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#BIT_SIGNED_CHECK_HIGH_BIT">BIT: Check for sign of bitwise operation</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BOA_BADLY_OVERRIDDEN_ADAPTER">BOA: Class overrides a method implemented in super class Adapter wrongly</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#ICAST_BAD_SHIFT_AMOUNT">BSHIFT: 32 bit int shifted by an amount not in the range -31..31</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR">Bx: Primitive value is unboxed and coerced for ternary operator</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#CO_COMPARETO_RESULTS_MIN_VALUE">Co: compareTo()/compare() returns Integer.MIN_VALUE</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DLS_DEAD_LOCAL_INCREMENT_IN_RETURN">DLS: Useless increment in return statement</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DLS_DEAD_STORE_OF_CLASS_LITERAL">DLS: Dead store of class literal</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DLS_OVERWRITTEN_INCREMENT">DLS: Overwritten increment</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_ARGUMENTS_WRONG_ORDER">DMI: Reversed method arguments</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_BAD_MONTH">DMI: Bad constant value for month</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE">DMI: BigDecimal constructed from double that isn't represented precisely</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_CALLING_NEXT_FROM_HASNEXT">DMI: hasNext method invokes next</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES">DMI: Collections should not contain themselves</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_DOH">DMI: D'oh! A nonsensical method invocation</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_INVOKING_HASHCODE_ON_ARRAY">DMI: Invocation of hashCode on an array</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT">DMI: Double.longBitsToDouble invoked on an int</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_VACUOUS_SELF_COLLECTION_CALL">DMI: Vacuous call to collections</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION">Dm: Can't use reflection to check for presence of annotation without runtime retention</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR">Dm: Futile attempt to change max pool size of ScheduledThreadPoolExecutor</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS">Dm: Creation of ScheduledThreadPoolExecutor with zero core threads</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD">Dm: Useless/vacuous call to EasyMock method</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EC_ARRAY_AND_NONARRAY">EC: equals() used to compare array and nonarray</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EC_BAD_ARRAY_COMPARE">EC: Invocation of equals() on an array, which is equivalent to ==</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EC_INCOMPATIBLE_ARRAY_COMPARE">EC: equals(...) used to compare incompatible arrays</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EC_NULL_ARG">EC: Call to equals(null)</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_CLASS_AND_INTERFACE">EC: Call to equals() comparing unrelated class and interface</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_INTERFACES">EC: Call to equals() comparing different interface types</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_TYPES">EC: Call to equals() comparing different types</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_TYPES_USING_POINTER_EQUALITY">EC: Using pointer equality to compare different types</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_ALWAYS_FALSE">Eq: equals method always returns false</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_ALWAYS_TRUE">Eq: equals method always returns true</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_COMPARING_CLASS_NAMES">Eq: equals method compares class names rather than class objects</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_DONT_DEFINE_EQUALS_FOR_ENUM">Eq: Covariant equals() method defined for enum</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_OTHER_NO_OBJECT">Eq: equals() method defined that doesn't override equals(Object)</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_OTHER_USE_OBJECT">Eq: equals() method defined that doesn't override Object.equals(Object)</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC">Eq: equals method overrides equals in superclass and may not be symmetric</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#EQ_SELF_USE_OBJECT">Eq: Covariant equals() method defined, Object.equals(Object) inherited</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER">FE: Doomed test for equality to NaN</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_BAD_ARGUMENT">FS: Format string placeholder incompatible with passed argument</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_BAD_CONVERSION">FS: The type of a supplied argument doesn't match format specifier</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED">FS: MessageFormat supplied where printf style format expected</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED">FS: More arguments are passed than are actually used in the format string</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_ILLEGAL">FS: Illegal format string</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_MISSING_ARGUMENT">FS: Format string references missing argument</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT">FS: No previous argument for format string</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#GC_UNRELATED_TYPES">GC: No relationship between generic parameter and method argument</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS">HE: Signature declares use of unhashable class in hashed construct</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#HE_USE_OF_UNHASHABLE_CLASS">HE: Use of class without a hashCode() method in a hashed data structure</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#ICAST_INT_2_LONG_AS_INSTANT">ICAST: int value converted to long and used as absolute time</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL">ICAST: Integral value cast to double and then passed to Math.ceil</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND">ICAST: int value cast to float and then passed to Math.round</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD">IJU: JUnit assertion in run method will not be noticed by JUnit</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IJU_BAD_SUITE_METHOD">IJU: TestCase declares a bad suite method </a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IJU_NO_TESTS">IJU: TestCase has no tests</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IJU_SETUP_NO_SUPER">IJU: TestCase defines setUp that doesn't call super.setUp()</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IJU_SUITE_NOT_STATIC">IJU: TestCase implements a non-static suite method </a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IJU_TEARDOWN_NO_SUPER">IJU: TestCase defines tearDown that doesn't call super.tearDown()</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IL_CONTAINER_ADDED_TO_ITSELF">IL: A collection is added to itself</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IL_INFINITE_LOOP">IL: An apparent infinite loop</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IL_INFINITE_RECURSIVE_LOOP">IL: An apparent infinite recursive loop</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IM_MULTIPLYING_RESULT_OF_IREM">IM: Integer multiply of result of integer remainder</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#INT_BAD_COMPARISON_WITH_INT_VALUE">INT: Bad comparison of int value with long constant</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE">INT: Bad comparison of nonnegative value with negative constant</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#INT_BAD_COMPARISON_WITH_SIGNED_BYTE">INT: Bad comparison of signed byte</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#IO_APPENDING_TO_OBJECT_OUTPUT_STREAM">IO: Doomed attempt to append to an object output stream</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN">IP: A parameter is dead upon entry to a method but overwritten</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#MF_CLASS_MASKS_FIELD">MF: Class defines field that masks a superclass field</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#MF_METHOD_MASKS_FIELD">MF: Method defines a variable that obscures a field</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_ALWAYS_NULL">NP: Null pointer dereference</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_ALWAYS_NULL_EXCEPTION">NP: Null pointer dereference in method on exception path</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_ARGUMENT_MIGHT_BE_NULL">NP: Method does not check for null argument</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_CLOSING_NULL">NP: close() invoked on a value that is always null</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_GUARANTEED_DEREF">NP: Null value is guaranteed to be dereferenced</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH">NP: Value is null and guaranteed to be dereferenced on exception path</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP: Nonnull field is not initialized</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_NONNULL_PARAM_VIOLATION">NP: Method call passes null to a nonnull parameter </a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_NONNULL_RETURN_VIOLATION">NP: Method may return null, but is declared @NonNull</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_NULL_INSTANCEOF">NP: A known null value is checked to see if it is an instance of a type</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_ON_SOME_PATH">NP: Possible null pointer dereference</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_NULL_ON_SOME_PATH_EXCEPTION">NP: Possible null pointer dereference in method on exception path</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_PARAM_DEREF">NP: Method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
-<tr bgcolor="#ffffff"><td><a href="#NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS">NP: Method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
-<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_PARAM_DEREF_NONVIRTUAL">NP: Non-virtual method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CNT_ROUGH_CONSTANT_VALUE">CNT: Rough value of known constant found</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#CO_ABSTRACT_SELF">Co: Abstract class defines covariant compareTo() method</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CO_SELF_NO_OBJECT">Co: Covariant compareTo() method defined</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DE_MIGHT_DROP">DE: Method might drop exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DE_MIGHT_IGNORE">DE: Method might ignore exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS">DMI: Adding elements of an entry set may fail due to reuse of Entry objects</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_RANDOM_USED_ONLY_ONCE">DMI: Random object created and used only once</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION">DMI: Don't use removeAll to clear a collection</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_EXIT">Dm: Method invokes System.exit(...)</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_RUN_FINALIZERS_ON_EXIT">Dm: Method invokes dangerous method runFinalizersOnExit</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ES_COMPARING_PARAMETER_STRING_WITH_EQ">ES: Comparison of String parameter using == or !=</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ES_COMPARING_STRINGS_WITH_EQ">ES: Comparison of String objects using == or !=</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_ABSTRACT_SELF">Eq: Abstract class defines covariant equals() method</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS">Eq: Equals checks for incompatible operand</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_COMPARETO_USE_OBJECT_EQUALS">Eq: Class defines compareTo(...) and uses Object.equals()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_GETCLASS_AND_CLASS_CONSTANT">Eq: equals method fails for subtypes</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_SELF_NO_OBJECT">Eq: Covariant equals() method defined</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_EMPTY">FI: Empty finalizer should be deleted</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_EXPLICIT_INVOCATION">FI: Explicit invocation of finalizer</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_FINALIZER_NULLS_FIELDS">FI: Finalizer nulls fields</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_FINALIZER_ONLY_NULLS_FIELDS">FI: Finalizer only nulls fields</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_MISSING_SUPER_CALL">FI: Finalizer does not call superclass finalizer</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_NULLIFY_SUPER">FI: Finalizer nullifies superclass finalizer</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_USELESS">FI: Finalizer does nothing but call superclass finalizer</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_USES_NEWLINE">FS: Format string should use %n rather than \n</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#GC_UNCHECKED_TYPE_IN_GENERIC_CALL">GC: Unchecked type in generic call</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_EQUALS_NO_HASHCODE">HE: Class defines equals() but not hashCode()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_EQUALS_USE_HASHCODE">HE: Class defines equals() and uses Object.hashCode()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_HASHCODE_NO_EQUALS">HE: Class defines hashCode() but not equals()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_HASHCODE_USE_OBJECT_EQUALS">HE: Class defines hashCode() and uses Object.equals()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_INHERITS_EQUALS_USE_HASHCODE">HE: Class inherits equals() and uses Object.hashCode()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION">IC: Superclass uses subclass during initialization</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IMSE_DONT_CATCH_IMSE">IMSE: Dubious catching of IllegalMonitorStateException</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ISC_INSTANTIATE_STATIC_CLASS">ISC: Needless instantiation of class that only supplies static methods</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IT_NO_SUCH_ELEMENT">It: Iterator next() method can't throw NoSuchElementException</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION">J2EE: Store of non serializable object into HttpSession</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS">JCIP: Fields of immutable classes should be final</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_BOOLEAN_RETURN_NULL">NP: Method with Boolean return type returns explicit null</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_CLONE_COULD_RETURN_NULL">NP: Clone method may return null</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT">NP: equals() method does not check for null argument</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_TOSTRING_COULD_RETURN_NULL">NP: toString method may return null</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_CLASS_NAMING_CONVENTION">Nm: Class names should start with an upper case letter</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_CLASS_NOT_EXCEPTION">Nm: Class is not derived from an Exception, even though it is named as such</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_CONFUSING">Nm: Confusing method names</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_FIELD_NAMING_CONVENTION">Nm: Field names should start with a lower case letter</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_METHOD_NAMING_CONVENTION">Nm: Method names should start with a lower case letter</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_SAME_SIMPLE_NAME_AS_INTERFACE">Nm: Class names shouldn't shadow simple name of implemented interface</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_SAME_SIMPLE_NAME_AS_SUPERCLASS">Nm: Class names shouldn't shadow simple name of superclass</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_VERY_CONFUSING_INTENTIONAL">Nm: Very confusing method names (but perhaps intentional)</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_WRONG_PACKAGE_INTENTIONAL">Nm: Method doesn't override method in superclass due to wrong package for parameter</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ODR_OPEN_DATABASE_RESOURCE">ODR: Method may fail to close database resource</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH">ODR: Method may fail to close database resource on exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#OS_OPEN_STREAM">OS: Method may fail to close stream</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#OS_OPEN_STREAM_EXCEPTION_PATH">OS: Method may fail to close stream on exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS">PZ: Don't reuse entry objects in iterators</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE">RC: Suspicious reference comparison to constant</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN">RC: Suspicious reference comparison of Boolean values</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RR_NOT_CHECKED">RR: Method ignores results of InputStream.read()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SR_NOT_CHECKED">RR: Method ignores results of InputStream.skip()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_NEGATING_RESULT_OF_COMPARETO">RV: Negating the result of compareTo()/compare()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_RETURN_VALUE_IGNORED_BAD_PRACTICE">RV: Method ignores exceptional return value</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SI_INSTANCE_BEFORE_FINALS_ASSIGNED">SI: Static initializer creates instance before all static final fields assigned</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SW_SWING_METHODS_INVOKED_IN_SWING_THREAD">SW: Certain swing methods needs to be invoked in Swing thread</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_BAD_FIELD">Se: Non-transient non-serializable instance field in serializable class</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_BAD_FIELD_INNER_CLASS">Se: Non-serializable class has a serializable inner class</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_BAD_FIELD_STORE">Se: Non-serializable value stored into instance field of a serializable class</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_COMPARATOR_SHOULD_BE_SERIALIZABLE">Se: Comparator doesn't implement Serializable</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_INNER_CLASS">Se: Serializable inner class</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NONFINAL_SERIALVERSIONID">Se: serialVersionUID isn't final</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NONLONG_SERIALVERSIONID">Se: serialVersionUID isn't long</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NONSTATIC_SERIALVERSIONID">Se: serialVersionUID isn't static</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR">Se: Class is Serializable but its superclass doesn't define a void constructor</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION">Se: Class is Externalizable but doesn't define a void constructor</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_READ_RESOLVE_MUST_RETURN_OBJECT">Se: The readResolve method must be declared with a return type of Object. </a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_TRANSIENT_FIELD_NOT_RESTORED">Se: Transient field that isn't set by deserialization. </a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NO_SERIALVERSIONID">SnVI: Class is Serializable, but doesn't define serialVersionUID</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UI_INHERITANCE_UNSAFE_GETRESOURCE">UI: Usage of GetResource may be unsafe if class is extended</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_CAST">BC: Impossible cast</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_DOWNCAST">BC: Impossible downcast</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY">BC: Impossible downcast of toArray() result</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_INSTANCEOF">BC: instanceof will always return false</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_ADD_OF_SIGNED_BYTE">BIT: Bitwise add of signed byte value</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_AND">BIT: Incompatible bit masks</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_AND_ZZ">BIT: Check to see if ((...) & 0) == 0</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_IOR">BIT: Incompatible bit masks</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_IOR_OF_SIGNED_BYTE">BIT: Bitwise OR of signed byte value</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_SIGNED_CHECK_HIGH_BIT">BIT: Check for sign of bitwise operation</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BOA_BADLY_OVERRIDDEN_ADAPTER">BOA: Class overrides a method implemented in super class Adapter wrongly</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_BAD_SHIFT_AMOUNT">BSHIFT: 32 bit int shifted by an amount not in the range -31..31</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR">Bx: Primitive value is unboxed and coerced for ternary operator</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CO_COMPARETO_RESULTS_MIN_VALUE">Co: compareTo()/compare() returns Integer.MIN_VALUE</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_DEAD_LOCAL_INCREMENT_IN_RETURN">DLS: Useless increment in return statement</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DLS_DEAD_STORE_OF_CLASS_LITERAL">DLS: Dead store of class literal</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_OVERWRITTEN_INCREMENT">DLS: Overwritten increment</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_ARGUMENTS_WRONG_ORDER">DMI: Reversed method arguments</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_BAD_MONTH">DMI: Bad constant value for month</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE">DMI: BigDecimal constructed from double that isn't represented precisely</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_CALLING_NEXT_FROM_HASNEXT">DMI: hasNext method invokes next</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES">DMI: Collections should not contain themselves</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_DOH">DMI: D'oh! A nonsensical method invocation</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_INVOKING_HASHCODE_ON_ARRAY">DMI: Invocation of hashCode on an array</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT">DMI: Double.longBitsToDouble invoked on an int</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_VACUOUS_SELF_COLLECTION_CALL">DMI: Vacuous call to collections</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION">Dm: Can't use reflection to check for presence of annotation without runtime retention</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR">Dm: Futile attempt to change max pool size of ScheduledThreadPoolExecutor</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS">Dm: Creation of ScheduledThreadPoolExecutor with zero core threads</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD">Dm: Useless/vacuous call to EasyMock method</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_ARRAY_AND_NONARRAY">EC: equals() used to compare array and nonarray</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_BAD_ARRAY_COMPARE">EC: Invocation of equals() on an array, which is equivalent to ==</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_INCOMPATIBLE_ARRAY_COMPARE">EC: equals(...) used to compare incompatible arrays</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_NULL_ARG">EC: Call to equals(null)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_CLASS_AND_INTERFACE">EC: Call to equals() comparing unrelated class and interface</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_INTERFACES">EC: Call to equals() comparing different interface types</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_TYPES">EC: Call to equals() comparing different types</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_TYPES_USING_POINTER_EQUALITY">EC: Using pointer equality to compare different types</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_ALWAYS_FALSE">Eq: equals method always returns false</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_ALWAYS_TRUE">Eq: equals method always returns true</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_COMPARING_CLASS_NAMES">Eq: equals method compares class names rather than class objects</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_DONT_DEFINE_EQUALS_FOR_ENUM">Eq: Covariant equals() method defined for enum</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_OTHER_NO_OBJECT">Eq: equals() method defined that doesn't override equals(Object)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_OTHER_USE_OBJECT">Eq: equals() method defined that doesn't override Object.equals(Object)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC">Eq: equals method overrides equals in superclass and may not be symmetric</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_SELF_USE_OBJECT">Eq: Covariant equals() method defined, Object.equals(Object) inherited</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER">FE: Doomed test for equality to NaN</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_BAD_ARGUMENT">FS: Format string placeholder incompatible with passed argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_BAD_CONVERSION">FS: The type of a supplied argument doesn't match format specifier</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED">FS: MessageFormat supplied where printf style format expected</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED">FS: More arguments are passed than are actually used in the format string</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_ILLEGAL">FS: Illegal format string</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_MISSING_ARGUMENT">FS: Format string references missing argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT">FS: No previous argument for format string</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#GC_UNRELATED_TYPES">GC: No relationship between generic parameter and method argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS">HE: Signature declares use of unhashable class in hashed construct</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_USE_OF_UNHASHABLE_CLASS">HE: Use of class without a hashCode() method in a hashed data structure</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_INT_2_LONG_AS_INSTANT">ICAST: int value converted to long and used as absolute time</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL">ICAST: Integral value cast to double and then passed to Math.ceil</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND">ICAST: int value cast to float and then passed to Math.round</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD">IJU: JUnit assertion in run method will not be noticed by JUnit</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_BAD_SUITE_METHOD">IJU: TestCase declares a bad suite method </a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_NO_TESTS">IJU: TestCase has no tests</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_SETUP_NO_SUPER">IJU: TestCase defines setUp that doesn't call super.setUp()</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_SUITE_NOT_STATIC">IJU: TestCase implements a non-static suite method </a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_TEARDOWN_NO_SUPER">IJU: TestCase defines tearDown that doesn't call super.tearDown()</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IL_CONTAINER_ADDED_TO_ITSELF">IL: A collection is added to itself</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IL_INFINITE_LOOP">IL: An apparent infinite loop</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IL_INFINITE_RECURSIVE_LOOP">IL: An apparent infinite recursive loop</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IM_MULTIPLYING_RESULT_OF_IREM">IM: Integer multiply of result of integer remainder</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_COMPARISON_WITH_INT_VALUE">INT: Bad comparison of int value with long constant</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE">INT: Bad comparison of nonnegative value with negative constant</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_COMPARISON_WITH_SIGNED_BYTE">INT: Bad comparison of signed byte</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IO_APPENDING_TO_OBJECT_OUTPUT_STREAM">IO: Doomed attempt to append to an object output stream</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN">IP: A parameter is dead upon entry to a method but overwritten</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MF_CLASS_MASKS_FIELD">MF: Class defines field that masks a superclass field</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MF_METHOD_MASKS_FIELD">MF: Method defines a variable that obscures a field</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_ALWAYS_NULL">NP: Null pointer dereference</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_ALWAYS_NULL_EXCEPTION">NP: Null pointer dereference in method on exception path</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_ARGUMENT_MIGHT_BE_NULL">NP: Method does not check for null argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_CLOSING_NULL">NP: close() invoked on a value that is always null</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_GUARANTEED_DEREF">NP: Null value is guaranteed to be dereferenced</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH">NP: Value is null and guaranteed to be dereferenced on exception path</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP: Nonnull field is not initialized</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NONNULL_PARAM_VIOLATION">NP: Method call passes null to a nonnull parameter </a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NONNULL_RETURN_VIOLATION">NP: Method may return null, but is declared @NonNull</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_INSTANCEOF">NP: A known null value is checked to see if it is an instance of a type</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_ON_SOME_PATH">NP: Possible null pointer dereference</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_ON_SOME_PATH_EXCEPTION">NP: Possible null pointer dereference in method on exception path</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_PARAM_DEREF">NP: Method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS">NP: Method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_PARAM_DEREF_NONVIRTUAL">NP: Non-virtual method call passes null for nonnull parameter</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_OPTIONAL_RETURN_NULL">NP: Method with Optional return type returns explicit null</a></td><td>Correctness</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#NP_STORE_INTO_NONNULL_FIELD">NP: Store of null value into field annotated NonNull</a></td><td>Correctness</td></tr>
 <tr bgcolor="#eeeeee"><td><a href="#NP_UNWRITTEN_FIELD">NP: Read of unwritten field</a></td><td>Correctness</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#NM_BAD_EQUAL">Nm: Class defines equal(Object); should it be equals(Object)?</a></td><td>Correctness</td></tr>
@@ -364,6 +368,8 @@
 <tr bgcolor="#eeeeee"><td><a href="#DM_STRING_TOSTRING">Dm: Method invokes toString() method on a String</a></td><td>Performance</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#DM_STRING_VOID_CTOR">Dm: Method invokes inefficient new String() constructor</a></td><td>Performance</td></tr>
 <tr bgcolor="#eeeeee"><td><a href="#HSC_HUGE_SHARED_STRING_CONSTANT">HSC: Huge string constants is duplicated across multiple class files</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IIO_INEFFICIENT_INDEX_OF">IIO: Inefficient use of String.indexOf(String)</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IIO_INEFFICIENT_LAST_INDEX_OF">IIO: Inefficient use of String.lastIndexOf(String)</a></td><td>Performance</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#ITA_INEFFICIENT_TO_ARRAY">ITA: Method uses toArray() with zero-length array argument</a></td><td>Performance</td></tr>
 <tr bgcolor="#eeeeee"><td><a href="#SBSC_USE_STRINGBUFFER_CONCATENATION">SBSC: Method concatenates strings using + in a loop</a></td><td>Performance</td></tr>
 <tr bgcolor="#ffffff"><td><a href="#SIC_INNER_SHOULD_BE_STATIC">SIC: Should be a static inner class</a></td><td>Performance</td></tr>
@@ -517,6 +523,12 @@
 </p>
 
     
+<h3><a name="CNT_ROUGH_CONSTANT_VALUE">CNT: Rough value of known constant found (CNT_ROUGH_CONSTANT_VALUE)</a></h3>
+
+      
+    <p>It's recommended to use the predefined library constant for code clarity and better precision.</p>
+
+    
 <h3><a name="CO_ABSTRACT_SELF">Co: Abstract class defines covariant compareTo() method (CO_ABSTRACT_SELF)</a></h3>
 
 
@@ -1583,9 +1595,9 @@
 <h3><a name="DLS_DEAD_LOCAL_INCREMENT_IN_RETURN">DLS: Useless increment in return statement (DLS_DEAD_LOCAL_INCREMENT_IN_RETURN)</a></h3>
 
       
-<p>This statement has a return such as <code>return x++;</code>. 
+<p>This statement has a return such as <code>return x++;</code>.
 A postfix increment/decrement does not impact the value of the expression,
-so this increment/decrement has no effect. 
+so this increment/decrement has no effect.
 Please verify that this statement does the right thing.
 </p>
 
@@ -2453,6 +2465,15 @@
       </p>
       
    
+<h3><a name="NP_OPTIONAL_RETURN_NULL">NP: Method with Optional return type returns explicit null (NP_OPTIONAL_RETURN_NULL)</a></h3>
+
+       
+       <p>
+    The usage of Optional return type always mean that explicit null returns were not desired by design.
+    Returning a null value in such case is a contract violation and will most likely break clients code.
+       </p>
+       
+       
 <h3><a name="NP_STORE_INTO_NONNULL_FIELD">NP: Store of null value into field annotated NonNull (NP_STORE_INTO_NONNULL_FIELD)</a></h3>
 
       
@@ -4128,6 +4149,22 @@
 </p>
       
    
+<h3><a name="IIO_INEFFICIENT_INDEX_OF">IIO: Inefficient use of String.indexOf(String) (IIO_INEFFICIENT_INDEX_OF)</a></h3>
+
+
+<p> This code passes a constant string of length 1 to String.indexOf().
+It is more efficient to use the integer implementations of String.indexOf().
+f. e. call <code>myString.indexOf('.')</code> instead of <code>myString.indexOf(".")</code></p>
+
+    
+<h3><a name="IIO_INEFFICIENT_LAST_INDEX_OF">IIO: Inefficient use of String.lastIndexOf(String) (IIO_INEFFICIENT_LAST_INDEX_OF)</a></h3>
+
+
+<p> This code passes a constant string of length 1 to String.lastIndexOf().
+It is more efficient to use the integer implementations of String.lastIndexOf().
+f. e. call <code>myString.lastIndexOf('.')</code> instead of <code>myString.lastIndexOf(".")</code></p>
+
+    
 <h3><a name="ITA_INEFFICIENT_TO_ARRAY">ITA: Method uses toArray() with zero-length array argument (ITA_INEFFICIENT_TO_ARRAY)</a></h3>
 
 
@@ -4695,12 +4732,12 @@
 <h3><a name="IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD">IA: Potentially ambiguous invocation of either an inherited or outer method (IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD)</a></h3>
 
 
-  <p> 
-An inner class is invoking a method that could be resolved to either a inherited method or a method defined in an outer class. 
+  <p>
+An inner class is invoking a method that could be resolved to either a inherited method or a method defined in an outer class.
 For example, you invoke <code>foo(17)</code>, which is defined in both a superclass and in an outer method.
 By the Java semantics,
 it will be resolved to invoke the inherited method, but this may not be want
-you intend. 
+you intend.
 </p>
 <p>If you really intend to invoke the inherited method,
 invoke it by invoking the method on super (e.g., invoke super.foo(17)), and
@@ -4708,7 +4745,7 @@
 that you want to invoke the inherited method, not the method in the outer class.
 </p>
 <p>If you call <code>this.foo(17)</code>, then the inherited method will be invoked. However, since FindBugs only looks at
-classfiles, it 
+classfiles, it
 can't tell the difference between an invocation of <code>this.foo(17)</code> and <code>foo(17)</code>, it will still
 complain about a potential ambiguous invocation.
 </p>
@@ -4877,17 +4914,17 @@
 
         <p>
         A method should always implement the contract of a method it overrides. Thus, if a method takes a parameter
-	that is marked as @Nullable, you shouldn't override that method in a subclass with a method where that parameter is @Nonnull.
-	Doing so violates the contract that the method should handle a null parameter.
+    that is marked as @Nullable, you shouldn't override that method in a subclass with a method where that parameter is @Nonnull.
+    Doing so violates the contract that the method should handle a null parameter.
         </p>
       
 <h3><a name="NP_METHOD_RETURN_RELAXING_ANNOTATION">NP: Method relaxes nullness annotation on return value (NP_METHOD_RETURN_RELAXING_ANNOTATION)</a></h3>
 
         <p>
         A method should always implement the contract of a method it overrides. Thus, if a method takes is annotated
-	as returning a @Nonnull value, 
-	you shouldn't override that method in a subclass with a method annotated as returning a @Nullable or @CheckForNull value.
-	Doing so violates the contract that the method shouldn't return null.
+    as returning a @Nonnull value,
+    you shouldn't override that method in a subclass with a method annotated as returning a @Nullable or @CheckForNull value.
+    Doing so violates the contract that the method shouldn't return null.
         </p>
       
 <h3><a name="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE">NP: Possible null pointer dereference due to return value of called method (NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE)</a></h3>
diff --git a/doc/bugDescriptions_fr.html b/doc/bugDescriptions_fr.html
new file mode 100644
index 0000000..356331d
--- /dev/null
+++ b/doc/bugDescriptions_fr.html
@@ -0,0 +1,4318 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html><head><title>FindBugs Bug Descriptions</title>
+<link rel="stylesheet" type="text/css" href="findbugs.css"/>
+<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
+</head><body>
+
+<table width="100%"><tr>
+
+<td bgcolor="#b9b9fe" valign="top" align="left" width="20%"> 
+<table width="100%" cellspacing="0" border="0"> 
+<tr><td><a class="sidebar" href="index.html"><img src="umdFindbugs.png" alt="FindBugs"></a></td></tr> 
+
+<tr><td>&nbsp;</td></tr>
+
+<tr><td><b>Docs and Info</b></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
+
+<tr><td>&nbsp;</td></tr>
+
+<tr><td><a class="sidebar" href="downloads.html"><b>Downloads</b></a></td></tr> 
+
+<tr><td>&nbsp;</td></tr>
+
+<tr><td><a class="sidebar" href="http://www.cafeshops.com/findbugs"><b>FindBugs Swag</b></a></td></tr>
+
+<tr><td>&nbsp;</td></tr>
+
+<tr><td><b>Development</b></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+</table> 
+</td>
+<td align="left" valign="top">
+<h1>FindBugs Bug Descriptions</h1>
+<p>This document lists the standard bug patterns reported by
+<a href="http://findbugs.sourceforge.net">FindBugs</a> version 3.0.0.</p>
+<h2>Summary</h2>
+<table width="100%">
+<tr bgcolor="#b9b9fe"><th>Description</th><th>Category</th></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS">BC: Equals method should not assume anything about the type of its argument</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_SIGNED_CHECK">BIT: Check for sign of bitwise operation</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#CN_IDIOM">CN: La classe implémente Cloneable mais ne définit et n'utilise pas la méthode clone()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CN_IDIOM_NO_SUPER_CALL">CN: La méthode clone() n'appelle pas super.clone()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE">CN: Class defines clone() but doesn't implement Cloneable</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CNT_ROUGH_CONSTANT_VALUE">CNT: Rough value of known constant found</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#CO_ABSTRACT_SELF">Co: Une classe abstraite définit une méthode compareTo() covariante</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CO_SELF_NO_OBJECT">Co: Définition d'une méthode compareTo() covariante</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DE_MIGHT_DROP">DE: La méthode peut déclencher une exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DE_MIGHT_IGNORE">DE: La méthode peut ignorer une exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS">DMI: Adding elements of an entry set may fail due to reuse of Entry objects</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_RANDOM_USED_ONLY_ONCE">DMI: Random object created and used only once</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION">DMI: Don't use removeAll to clear a collection</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_EXIT">Dm: La méthode invoque System.exit(...)</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_RUN_FINALIZERS_ON_EXIT">Dm: Méthode invoquant runFinalizersOnExit, l'une des plus dangeureuses méthodes des librairies Java</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ES_COMPARING_PARAMETER_STRING_WITH_EQ">ES: Comparison of String parameter using == or !=</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ES_COMPARING_STRINGS_WITH_EQ">ES: Comparaison d'objets String utilisant == ou !=</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_ABSTRACT_SELF">Eq: Une classe abstraite définit une méthode equals() covariante</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS">Eq: Equals checks for incompatible operand</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_COMPARETO_USE_OBJECT_EQUALS">Eq: Class defines compareTo(...) and uses Object.equals()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_GETCLASS_AND_CLASS_CONSTANT">Eq: equals method fails for subtypes</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_SELF_NO_OBJECT">Eq: Définition d'une méthode equals() covariante</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_EMPTY">FI: Un finaliseur vide devrait être supprimé</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_EXPLICIT_INVOCATION">FI: Invocation explicite d'un finaliseur</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_FINALIZER_NULLS_FIELDS">FI: Finalizer nulls fields</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_FINALIZER_ONLY_NULLS_FIELDS">FI: Finalizer only nulls fields</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_MISSING_SUPER_CALL">FI: Le finaliseur n'appelle pas le finaliseur de la super-classe</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_NULLIFY_SUPER">FI: Un finaliseur rend inutile celui de sa super-classe</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_USELESS">FI: Le finaliseur ne fait rien sauf appeler celui de la super-classe</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_USES_NEWLINE">FS: Format string should use %n rather than \n</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#GC_UNCHECKED_TYPE_IN_GENERIC_CALL">GC: Unchecked type in generic call</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_EQUALS_NO_HASHCODE">HE: La classe définit equals() mais pas hashCode()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_EQUALS_USE_HASHCODE">HE: La classe définit equals() et utilise Object.hashCode()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_HASHCODE_NO_EQUALS">HE: La classe définit hashCode() mais pas equals()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_HASHCODE_USE_OBJECT_EQUALS">HE: La classe définit hashCode() et utilise Object.equals()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_INHERITS_EQUALS_USE_HASHCODE">HE: La classe hérite de equals() et utilise Object.hashCode()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION">IC: Classe mère utilisant une sous-classe durant son initialisation</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IMSE_DONT_CATCH_IMSE">IMSE: Interception douteuse d'une IllegalMonitorStateException</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ISC_INSTANTIATE_STATIC_CLASS">ISC: Instantiation inutile d'une classe qui n'a que des méthodes statiques</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IT_NO_SUCH_ELEMENT">It: La méthode next() de Iterator ne peut pas déclencher une exception NoSuchElement</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION">J2EE: Stockage d'un objet non serialisable dans une session Http</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS">JCIP: Les champs d'une classe immuable devraient être finaux.</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_BOOLEAN_RETURN_NULL">NP: Method with Boolean return type returns explicit null</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_CLONE_COULD_RETURN_NULL">NP: Clone method may return null</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT">NP: Méthode equals() ne vérifiant pas la nullité</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_TOSTRING_COULD_RETURN_NULL">NP: toString method may return null</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_CLASS_NAMING_CONVENTION">Nm: Nom de classe devant commencer par une majuscule</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_CLASS_NOT_EXCEPTION">Nm: Cette classe ne dérive pas d'Exception, même si son nom le sous-entend</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_CONFUSING">Nm: Noms de méthodes ambigus</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_FIELD_NAMING_CONVENTION">Nm: Nom de champ devant commencer par une minuscule</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_METHOD_NAMING_CONVENTION">Nm: Nom de méthode devant commencer par une minuscule</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_SAME_SIMPLE_NAME_AS_INTERFACE">Nm: Class names shouldn't shadow simple name of implemented interface</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_SAME_SIMPLE_NAME_AS_SUPERCLASS">Nm: Class names shouldn't shadow simple name of superclass</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_VERY_CONFUSING_INTENTIONAL">Nm: Very confusing method names (but perhaps intentional)</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_WRONG_PACKAGE_INTENTIONAL">Nm: Method doesn't override method in superclass due to wrong package for parameter</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ODR_OPEN_DATABASE_RESOURCE">ODR: La méthode peut ne pas fermer une ressource base de données</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH">ODR: La méthode peut ne pas fermer une ressource base de données sur une exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#OS_OPEN_STREAM">OS: La méthode peut ne pas fermer un flux</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#OS_OPEN_STREAM_EXCEPTION_PATH">OS: La méthode peut oublier de fermer un flux en cas d'exception</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS">PZ: Don't reuse entry objects in iterators</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE">RC: Suspicious reference comparison to constant</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN">RC: Suspicious reference comparison of Boolean values</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RR_NOT_CHECKED">RR: La méthode ignore le résultat de InputStream.read()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SR_NOT_CHECKED">RR: La méthode ignore le résultat de InputStream.skip()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_NEGATING_RESULT_OF_COMPARETO">RV: Negating the result of compareTo()/compare()</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_RETURN_VALUE_IGNORED_BAD_PRACTICE">RV: Method ignores exceptional return value</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SI_INSTANCE_BEFORE_FINALS_ASSIGNED">SI: Initialiseur statique de classe créant une instance avant que tous les champs static final soient alimentés</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SW_SWING_METHODS_INVOKED_IN_SWING_THREAD">SW: Certaines méthodes Swing ne doivent être invoquées qu'à partir du thread Swing</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_BAD_FIELD">Se: Champ d'instance non transient et non sérialisable dans une classe sérialisable</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_BAD_FIELD_INNER_CLASS">Se: Non-serializable class has a serializable inner class</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_BAD_FIELD_STORE">Se: Valeur non sérialisable stockée dans un champ d'instance de classe sérialisable</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_COMPARATOR_SHOULD_BE_SERIALIZABLE">Se: Comparateur n'implémentant pas Serializable</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_INNER_CLASS">Se: Serializable inner class</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NONFINAL_SERIALVERSIONID">Se: serialVersionUID n'est pas final</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NONLONG_SERIALVERSIONID">Se: serialVersionUID n'est pas de type long</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NONSTATIC_SERIALVERSIONID">Se: serialVersionUID n'est pas static</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR">Se: La classe est Serializable mais sa super-classe ne possède pas de constructeur par défaut visible</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION">Se: La classe est Externalizable mais ne définit pas de constructeur par défaut</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_READ_RESOLVE_MUST_RETURN_OBJECT">Se: La méthode readResolve doit retourner un Object</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_TRANSIENT_FIELD_NOT_RESTORED">Se: Champ "transient" non positionné lors de la désérialisation</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NO_SERIALVERSIONID">SnVI: La classe est Serializable, mais ne définit pas serialVersionUID</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UI_INHERITANCE_UNSAFE_GETRESOURCE">UI: L'utilisation de GetResource peut-être instable si la classe est étendue</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_CAST">BC: Transtypage impossible</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_DOWNCAST">BC: Impossible downcast</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY">BC: Impossible downcast of toArray() result</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_INSTANCEOF">BC: instanceof renverra toujours faux</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_ADD_OF_SIGNED_BYTE">BIT: Bitwise add of signed byte value</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_AND">BIT: Masques binaires incompatibles</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_AND_ZZ">BIT: Masques binaires incompatibles</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_IOR">BIT: Masques binaires incompatibles</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_IOR_OF_SIGNED_BYTE">BIT: Ou binaire d'un octet signé</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_SIGNED_CHECK_HIGH_BIT">BIT: Check for sign of bitwise operation</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BOA_BADLY_OVERRIDDEN_ADAPTER">BOA: La classe surcharge mal une méthode implémentée dans une superclasse Adapter</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_BAD_SHIFT_AMOUNT">BSHIFT: Décalage d'un int hors de proportion (0..31)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR">Bx: Primitive value is unboxed and coerced for ternary operator</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CO_COMPARETO_RESULTS_MIN_VALUE">Co: compareTo()/compare() returns Integer.MIN_VALUE</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_DEAD_LOCAL_INCREMENT_IN_RETURN">DLS: Useless increment in return statement</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DLS_DEAD_STORE_OF_CLASS_LITERAL">DLS: Dead store of class literal</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_OVERWRITTEN_INCREMENT">DLS: Incrémentation annulée</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_ARGUMENTS_WRONG_ORDER">DMI: Reversed method arguments</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_BAD_MONTH">DMI: Valeur constante pour un mois en dehors de l'intervalle attendu de 0 à 11</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE">DMI: BigDecimal constructed from double that isn't represented precisely</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_CALLING_NEXT_FROM_HASNEXT">DMI: Méthode hasNext() appelant next()</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES">DMI: Collections should not contain themselves</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_DOH">DMI: D'oh! A nonsensical method invocation</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_INVOKING_HASHCODE_ON_ARRAY">DMI: Invocation of hashCode on an array</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT">DMI: Double.longBitsToDouble invoked on an int</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_VACUOUS_SELF_COLLECTION_CALL">DMI: Vacuous call to collections</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION">Dm: La réflexion ne peut pas être utilisée pour vérifier la présence d'une annotation avec la rétention par défaut</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR">Dm: Futile attempt to change max pool size of ScheduledThreadPoolExecutor</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS">Dm: Creation of ScheduledThreadPoolExecutor with zero core threads</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD">Dm: Useless/vacuous call to EasyMock method</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_ARRAY_AND_NONARRAY">EC: Utilisation de equals() pour comparer un tableau et un objet</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_BAD_ARRAY_COMPARE">EC: Appel à equals() sur un tableau équivalent à ==</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_INCOMPATIBLE_ARRAY_COMPARE">EC: equals(...) used to compare incompatible arrays</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_NULL_ARG">EC: Appel de equals() avec un argument à null</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_CLASS_AND_INTERFACE">EC: Appel de equals() comparant une classe et une interface sans relation</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_INTERFACES">EC: Appel de equals() comparant différentes interfaces</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_TYPES">EC: Appel de equals() comparant des types différents</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_TYPES_USING_POINTER_EQUALITY">EC: Using pointer equality to compare different types</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_ALWAYS_FALSE">Eq: equals method always returns false</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_ALWAYS_TRUE">Eq: equals method always returns true</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_COMPARING_CLASS_NAMES">Eq: equals method compares class names rather than class objects</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_DONT_DEFINE_EQUALS_FOR_ENUM">Eq: Covariant equals() method defined for enum</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_OTHER_NO_OBJECT">Eq: equals() method defined that doesn't override equals(Object)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_OTHER_USE_OBJECT">Eq: equals() method defined that doesn't override Object.equals(Object)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC">Eq: equals method overrides equals in superclass and may not be symmetric</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_SELF_USE_OBJECT">Eq: Définition d'une méthode equals() covariante, Object.equals(Object) est hérité</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER">FE: Test d'égalité avec NaN erroné</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_BAD_ARGUMENT">FS: Format string placeholder incompatible with passed argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_BAD_CONVERSION">FS: The type of a supplied argument doesn't match format specifier</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED">FS: MessageFormat supplied where printf style format expected</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED">FS: More arguments are passed than are actually used in the format string</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_ILLEGAL">FS: Illegal format string</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_MISSING_ARGUMENT">FS: Format string references missing argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT">FS: No previous argument for format string</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#GC_UNRELATED_TYPES">GC: No relationship between generic parameter and method argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS">HE: Signature declares use of unhashable class in hashed construct</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_USE_OF_UNHASHABLE_CLASS">HE: Use of class without a hashCode() method in a hashed data structure</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_INT_2_LONG_AS_INSTANT">ICAST: int value converted to long and used as absolute time</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL">ICAST: Valeur entière transtypée en nombre flottant passée à Math.ceil</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND">ICAST: Valeur entière transtypée en flottant puis transmise à Math.round</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD">IJU: JUnit assertion in run method will not be noticed by JUnit</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_BAD_SUITE_METHOD">IJU: TestCase declares a bad suite method </a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_NO_TESTS">IJU: TestCase sans tests</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_SETUP_NO_SUPER">IJU: Une classe dérivant de TestCase implémente setUp() sans appeler super.setUp()</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_SUITE_NOT_STATIC">IJU: Une classe dérivant de TestCase implémente une méthode suite() non statique</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_TEARDOWN_NO_SUPER">IJU: Une classe dérivant de TestCase implémente tearDown() sans appeler super.tearDown()</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IL_CONTAINER_ADDED_TO_ITSELF">IL: Un conteneur est ajouté à lui-même</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IL_INFINITE_LOOP">IL: Boucle apparemment inifinie</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IL_INFINITE_RECURSIVE_LOOP">IL: Boucle récursive infinie</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IM_MULTIPLYING_RESULT_OF_IREM">IM: Multiplication d'un entier avec le résulat entier d'un modulo</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_COMPARISON_WITH_INT_VALUE">INT: Bad comparison of int value with long constant</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE">INT: Bad comparison of nonnegative value with negative constant</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_COMPARISON_WITH_SIGNED_BYTE">INT: Bad comparison of signed byte</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IO_APPENDING_TO_OBJECT_OUTPUT_STREAM">IO: Doomed attempt to append to an object output stream</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN">IP: Un paramètre est ré-écrit avant d'être utilisé</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MF_CLASS_MASKS_FIELD">MF: La classe définit un champ qui masque un champ d'une classe mère</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MF_METHOD_MASKS_FIELD">MF: La méthode définit une variable qui masque un champ</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_ALWAYS_NULL">NP: Déréférencement d'un pointeur null dans la méthode</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_ALWAYS_NULL_EXCEPTION">NP: Déréférencement d'un pointeur null dans le chemin d'exception d'une méthode</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_ARGUMENT_MIGHT_BE_NULL">NP: Méthode ne testant pas les paramètres à null</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_CLOSING_NULL">NP: close() invoked on a value that is always null</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_GUARANTEED_DEREF">NP: Null déréférencé</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH">NP: Value is null and guaranteed to be dereferenced on exception path</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP: Nonnull field is not initialized</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NONNULL_PARAM_VIOLATION">NP: Appel de méthode transmettant null à un paramètre déclaré @NonNull</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NONNULL_RETURN_VIOLATION">NP: Méthode renvoyer null mais déclarée @NonNull</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_INSTANCEOF">NP: A known null value is checked to see if it is an instance of a type</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_ON_SOME_PATH">NP: Possible déréférencement d'un pointeur null dans une méthode</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_ON_SOME_PATH_EXCEPTION">NP: Possible déréférencement d'un pointeur null dans le chemin d'exception d'une méthode</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_PARAM_DEREF">NP: Méthode passant null à un paramètre déréférencé inconditionnellement</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS">NP: Appel de méthode passant null à un paramètre déréférencé inconditionnellement</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_PARAM_DEREF_NONVIRTUAL">NP: Appel à une méthode non virtuelle passant null à un paramètre déréférencé de façon inconditionnelle</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_OPTIONAL_RETURN_NULL">NP: Method with Optional return type returns explicit null</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_STORE_INTO_NONNULL_FIELD">NP: Stocke une valeur null dans un champ annoté NonNull</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_UNWRITTEN_FIELD">NP: Lecture d'un champ jamais écrit</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_BAD_EQUAL">Nm: La classe définit equal() ; ne devrait-ce pas être equals() ?</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_LCASE_HASHCODE">Nm: La classe définit hashcode() ; ne devrait-ce pas être hashCode() ?</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_LCASE_TOSTRING">Nm: La classe définit tostring() ; ne devrait-ce pas être toString() ?</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_METHOD_CONSTRUCTOR_CONFUSION">Nm: Confusion apparente entre une méthode et un constructeur</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_VERY_CONFUSING">Nm: Noms de méthodes très ambigus</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_WRONG_PACKAGE">Nm: Method doesn't override method in superclass due to wrong package for parameter</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT">QBA: Méthode assignant une valeur boléenne fixe dans une expression booléenne</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RC_REF_COMPARISON">RC: Comparaison de références suspecte</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE">RCN: Test de nullité d'une valeur préalablement déréférencée</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION">RE: Syntaxe d'expression régulière invalide</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION">RE: File.separator used for regular expression</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RE_POSSIBLE_UNINTENDED_PATTERN">RE: "." utilisé dans une expression régulière</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_01_TO_INT">RV: Les valeurs aléatoires entre 0 et 1 sont réduites à l'entier 0</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_ABSOLUTE_VALUE_OF_HASHCODE">RV: Bad attempt to compute absolute value of signed 32-bit hashcode </a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_ABSOLUTE_VALUE_OF_RANDOM_INT">RV: Bad attempt to compute absolute value of signed random integer</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_CHECK_COMPARETO_FOR_SPECIFIC_RETURN_VALUE">RV: Code checks for specific values returned by compareTo</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_EXCEPTION_NOT_THROWN">RV: Exception created and dropped rather than thrown</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_RETURN_VALUE_IGNORED">RV: La méthode ignore une valeur de retour</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RpC_REPEATED_CONDITIONAL_TEST">RpC: Repeated conditional tests</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SA_FIELD_SELF_ASSIGNMENT">SA: Auto-alimentation d'un champs</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SA_FIELD_SELF_COMPARISON">SA: Self comparison of field with itself</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SA_FIELD_SELF_COMPUTATION">SA: Nonsensical self computation involving a field (e.g., x & x)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SA_LOCAL_SELF_ASSIGNMENT_INSTEAD_OF_FIELD">SA: Self assignment of local rather than assignment to field</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SA_LOCAL_SELF_COMPARISON">SA: Self comparison of value with itself</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SA_LOCAL_SELF_COMPUTATION">SA: Nonsensical self computation involving a variable (e.g., x & x)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH">SF: Dead store due to switch statement fall through</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW">SF: Dead store due to switch statement fall through to throw</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SIC_THREADLOCAL_DEADLY_EMBRACE">SIC: Deadly embrace of non-static inner class and thread local</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SIO_SUPERFLUOUS_INSTANCEOF">SIO: Vérification de type inutile avec l'opérateur instanceof</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SQL_BAD_PREPARED_STATEMENT_ACCESS">SQL: Méthode essayant au paramêtre d'indice 0 d'un PreparedStatement</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SQL_BAD_RESULTSET_ACCESS">SQL: Méthode essayant d'accèder à un champ de ResultSet d'indice 0</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#STI_INTERRUPTED_ON_CURRENTTHREAD">STI: Utilisation superflue d'un appel à currentThread() pour appeler interrupted()</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#STI_INTERRUPTED_ON_UNKNOWNTHREAD">STI: Thread.interrupted() appelée par erreur sur un objet Thread arbitraire</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_METHOD_MUST_BE_PRIVATE">Se: Méthode devant être privée pour que la sérialisation fonctionne</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_READ_RESOLVE_IS_STATIC">Se: The readResolve method must not be declared as a static method.  </a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED">TQ: Value annotated as carrying a type qualifier used where a value that must not carry that qualifier is required</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS">TQ: Comparing values with incompatible type qualifiers</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK">TQ: Value that might not carry a type qualifier is always used in a way requires that type qualifier</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK">TQ: Value that might carry a type qualifier is always used in a way prohibits it from having that type qualifier</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED">TQ: Value annotated as never carrying a type qualifier used where value carrying that qualifier is required</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED">TQ: Value without a type qualifier used where a value is required to have that qualifier</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS">UMAC: Méthode non appelable définie dans une classe anonyme</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UR_UNINIT_READ">UR: Lecture d'un champ non initialisé dans un constructeur</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR">UR: Uninitialized read of field method called from constructor of superclass</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY">USELESS_STRING: Invocation of toString on an unnamed array</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_INVOKING_TOSTRING_ON_ARRAY">USELESS_STRING: Invocation de toString sur un tableau</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY">USELESS_STRING: Array formatted in useless way using format string</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UWF_NULL_FIELD">UwF: Champ uniquement mis à null</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UWF_UNWRITTEN_FIELD">UwF: Champ jamais écrit</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG">VA: Tableau de primitives passé à une fonction attendant un nombre variable d'objets en argument</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE">LG: Potential lost logger changes due to weak reference in OpenJDK</a></td><td>Experimental</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#OBL_UNSATISFIED_OBLIGATION">OBL: Method may fail to clean up stream or resource</a></td><td>Experimental</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE">OBL: Method may fail to clean up stream or resource on checked exception</a></td><td>Experimental</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_CONVERT_CASE">Dm: La méthode appelle les String.toUpperCase() ou String.toLowerCase ; utilisez plutôt la version paramètrée par une Locale</a></td><td>Internationalization</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_DEFAULT_ENCODING">Dm: Reliance on default encoding</a></td><td>Internationalization</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED">DP: Les chargeurs de classes ne doivent être créés qu'à partir de block doPrivileged</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DP_DO_INSIDE_DO_PRIVILEGED">DP: Méthode invoquée alors qu'elle ne devrait l'être qu'à partir d'un block doPrivileged</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EI_EXPOSE_REP">EI: Une méthode peut exposer sa représentation interne en renvoyant une référence à un objet modifiable</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EI_EXPOSE_REP2">EI2: Une méthode expose sa représentation interne en incorporant une référence à un objet modifiable</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_PUBLIC_SHOULD_BE_PROTECTED">FI: Un finaliseur devrait être protégé, pas public</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EI_EXPOSE_STATIC_REP2">MS: Une méthode peut exposer un état interne statique en stockant un objet modifiable dans un champs statique</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MS_CANNOT_BE_FINAL">MS: Un champ n'est pas final et ne peut pas être protégé face à du code malveillant</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MS_EXPOSE_REP">MS: Une méthode statique publique risque d'exposer une représentation interne en renvoyant un tableau</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MS_FINAL_PKGPROTECT">MS: Le champ devrait être à la fois final et package protected</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MS_MUTABLE_ARRAY">MS: Un champ est un tableau modifiable</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MS_MUTABLE_HASHTABLE">MS: Un champ modifiable est une Hashtable</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MS_OOI_PKGPROTECT">MS: Le champ devrait être sorti de l'interface et mis en package protected</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MS_PKGPROTECT">MS: Un champ devrait être package protected</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MS_SHOULD_BE_FINAL">MS: Un champ n'est pas final alors qu'il devrait l'être</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MS_SHOULD_BE_REFACTORED_TO_BE_FINAL">MS: Field isn't final but should be refactored to be so</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION">AT: Sequence of calls to concurrent abstraction may not be atomic</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DC_DOUBLECHECK">DC: Possible double vérification d'un champ</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DL_SYNCHRONIZATION_ON_BOOLEAN">DL: Synchronization on Boolean</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE">DL: Synchronization on boxed primitive</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DL_SYNCHRONIZATION_ON_SHARED_CONSTANT">DL: Synchronization on interned String </a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE">DL: Synchronization on boxed primitive values</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_MONITOR_WAIT_ON_CONDITION">Dm: Wait() appelé sur une Condition</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_USELESS_THREAD">Dm: Thread créé avec la méthode run vide par défaut</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ESync_EMPTY_SYNC">ESync: Bloc synchronisé vide</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IS2_INCONSISTENT_SYNC">IS: Synchronisation incohérente</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IS_FIELD_NOT_GUARDED">IS: Champ non protégé contre les accès concurrents</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#JLM_JSR166_LOCK_MONITORENTER">JLM: Synchronisation effectuée sur un Lock java.util.concurrent</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#JLM_JSR166_UTILCONCURRENT_MONITORENTER">JLM: Synchronization performed on util.concurrent instance</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#JML_JSR166_CALLING_WAIT_RATHER_THAN_AWAIT">JLM: Using monitor style wait methods on util.concurrent abstraction</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#LI_LAZY_INIT_STATIC">LI: Initialisation paresseuse incorrecte d'un champ statique</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#LI_LAZY_INIT_UPDATE_STATIC">LI: Incorrect lazy initialization and update of static field</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD">ML: Synchronization on field in futile attempt to guard that field</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ML_SYNC_ON_UPDATED_FIELD">ML: La méthode se synchronise sur un champ mis à jour</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MSF_MUTABLE_SERVLET_FIELD">MSF: Mutable servlet field</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MWN_MISMATCHED_NOTIFY">MWN: notify() non appareillé</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MWN_MISMATCHED_WAIT">MWN: wait() non appareillé</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NN_NAKED_NOTIFY">NN: Appel notify() isolé dans une méthode</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_SYNC_AND_NULL_CHECK_FIELD">NP: Synchronize and null check on the same field.</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NO_NOTIFY_NOT_NOTIFYALL">No: Utilisation de notify() plutôt que notifyAll() dans une méthode</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RS_READOBJECT_SYNC">RS: Seule la méthode readObject() est synchronisée</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED">RV: Return value of putIfAbsent ignored, value passed to putIfAbsent reused</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RU_INVOKE_RUN">Ru: Invocation de run() sur un thread (Vouliez-vous plutôt dire start() ?)</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SC_START_IN_CTOR">SC: Un constructeur invoque Thread.start()</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SP_SPIN_ON_FIELD">SP: Méthode bouclant sur un champ</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE">STCAL: Call to static Calendar</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE">STCAL: Call to static DateFormat</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#STCAL_STATIC_CALENDAR_INSTANCE">STCAL: Static Calendar field</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE">STCAL: Static DateFormat</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SWL_SLEEP_WITH_LOCK_HELD">SWL: Appel de la méthode Thread.sleep() avec un verrou</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#TLW_TWO_LOCK_WAIT">TLW: wait() avec deux verrous en attente</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UG_SYNC_SET_UNSYNC_GET">UG: Méthode getXXX non synchronisée, méthode setXXX synchronisée</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UL_UNRELEASED_LOCK">UL: La méthode ne libère pas un verrou dans tous les chemins d'exécution</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UL_UNRELEASED_LOCK_EXCEPTION_PATH">UL: La méthode ne libère pas un verrou dans tous les chemins d'exception</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UW_UNCOND_WAIT">UW: Méthode contenant un wait() non conditionné</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VO_VOLATILE_INCREMENT">VO: An increment to a volatile field isn't atomic</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VO_VOLATILE_REFERENCE_TO_ARRAY">VO: Une référence volatile à un tableau ne traite pas les éléments du tableau comme volatiles</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL">WL: Synchronization on getClass rather than class literal</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#WS_WRITEOBJECT_SYNC">WS: Seule la méthode writeObject() est synchronisée</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#WA_AWAIT_NOT_IN_LOOP">Wa: Condition.await() en dehors d'une boucle</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#WA_NOT_IN_LOOP">Wa: Méthode contenant un wait() en dehors d'une boucle</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BX_BOXING_IMMEDIATELY_UNBOXED">Bx: Primitive value is boxed and then immediately unboxed</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION">Bx: Primitive value is boxed then unboxed to perform primitive coercion</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BX_UNBOXING_IMMEDIATELY_REBOXED">Bx: Boxed value is unboxed and then immediately reboxed</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_BOXED_PRIMITIVE_FOR_PARSING">Bx: Boxing/unboxing to parse a primitive</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_BOXED_PRIMITIVE_TOSTRING">Bx: Méthode allouant une primitive boxed pour appeler toString</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_FP_NUMBER_CTOR">Bx: Method invokes inefficient floating-point Number constructor; use static valueOf instead</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_NUMBER_CTOR">Bx: Method invokes inefficient Number constructor; use static valueOf instead</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_BLOCKING_METHODS_ON_URL">Dm: The equals and hashCode methods of URL are blocking</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_COLLECTION_OF_URLS">Dm: Maps and sets of URLs can be performance hogs</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_BOOLEAN_CTOR">Dm: La méthode invoque le constructeur inutile Boolean() ; utilisez Boolean.valueOf(...) à la place</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_GC">Dm: Ramasse-miettes explicite ; extrêmement douteux sauf dans du code de banc d'essai</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_NEW_FOR_GETCLASS">Dm: Méthode allouant un objet juste pour obtenir la classe</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_NEXTINT_VIA_NEXTDOUBLE">Dm: Utiliser la méthode nextInt de Random plutôt que nextDouble pour générer un entier aléatoire</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_STRING_CTOR">Dm: La méthode invoque le constructeur inutile String(String) ; utilisez juste l'argument</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_STRING_TOSTRING">Dm: La méthode appel toString() sur un objet String ; utilisez directement l'objet String</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_STRING_VOID_CTOR">Dm: La méthode invoque le constructeur inutile String() ; utilisez juste ""</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HSC_HUGE_SHARED_STRING_CONSTANT">HSC: Huge string constants is duplicated across multiple class files</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IIO_INEFFICIENT_INDEX_OF">IIO: Inefficient use of String.indexOf(String)</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IIO_INEFFICIENT_LAST_INDEX_OF">IIO: Inefficient use of String.lastIndexOf(String)</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ITA_INEFFICIENT_TO_ARRAY">ITA: La méthode utilise toArray() avec un tableau vide en paramètre</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SBSC_USE_STRINGBUFFER_CONCATENATION">SBSC: La méthode concatène des chaînes au moyen de + en boucle</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SIC_INNER_SHOULD_BE_STATIC">SIC: Devrait être une classe interne statique</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SIC_INNER_SHOULD_BE_STATIC_ANON">SIC: Peut-être transformée en classe interne statique nommée</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS">SIC: Pourrait-être transformée en classe interne statique</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SS_SHOULD_BE_STATIC">SS: Champ non lu : devrait-il être statique ?</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UM_UNNECESSARY_MATH">UM: Appel d'une méthode statique de la classe Math sur une valeur constante</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UPM_UNCALLED_PRIVATE_METHOD">UPM: Méthode privée jamais appelée</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#URF_UNREAD_FIELD">UrF: Champ inutilisé</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UUF_UNUSED_FIELD">UuF: Champ inutilisé</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#WMI_WRONG_MAP_ITERATOR">WMI: Utilisation inefficace d'un itérateur sur keySet au lieu de entrySet</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_CONSTANT_DB_PASSWORD">Dm: Hardcoded constant database password</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_EMPTY_DB_PASSWORD">Dm: Empty database password</a></td><td>Security</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HRS_REQUEST_PARAMETER_TO_COOKIE">HRS: HTTP cookie formed from untrusted input</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HRS_REQUEST_PARAMETER_TO_HTTP_HEADER">HRS: HTTP Response splitting vulnerability</a></td><td>Security</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#PT_ABSOLUTE_PATH_TRAVERSAL">PT: Absolute path traversal in servlet</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#PT_RELATIVE_PATH_TRAVERSAL">PT: Relative path traversal in servlet</a></td><td>Security</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE">SQL: Une chaîne non constante est passée à la méthode execute d'une commande SQL</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING">SQL: Une requète est préparée à partir d'une chaine non constante</a></td><td>Security</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#XSS_REQUEST_PARAMETER_TO_JSP_WRITER">XSS: JSP reflected cross site scripting vulnerability</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#XSS_REQUEST_PARAMETER_TO_SEND_ERROR">XSS: Servlet reflected cross site scripting vulnerability in error page</a></td><td>Security</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER">XSS: Servlet reflected cross site scripting vulnerability</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_BAD_CAST_TO_ABSTRACT_COLLECTION">BC: Transtypage douteux d'un type Collection vers une classe abstraite</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_BAD_CAST_TO_CONCRETE_COLLECTION">BC: Transtypage douteux vers une collection concrète</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_UNCONFIRMED_CAST">BC: Transtypage non vérifié/non confirmé</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_UNCONFIRMED_CAST_OF_RETURN_VALUE">BC: Unchecked/unconfirmed cast of return value from method</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_VACUOUS_INSTANCEOF">BC: instanceof renverra toujours vrai</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT">BSHIFT: Décalage à droite non signé et transtypage short/byte</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CI_CONFUSED_INHERITANCE">CI: Classe finale déclarant un champ protégé</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DB_DUPLICATE_BRANCHES">DB: Méthode utilsant le même code pour deux branches</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DB_DUPLICATE_SWITCH_CLAUSES">DB: Méthode utilisant le même code pour deux clauses switch</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_DEAD_LOCAL_STORE">DLS: Alimentation à perte d'une variable locale</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DLS_DEAD_LOCAL_STORE_IN_RETURN">DLS: Useless assignment in return statement</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_DEAD_LOCAL_STORE_OF_NULL">DLS: Alimentation à null d'une variable</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DLS_DEAD_LOCAL_STORE_SHADOWS_FIELD">DLS: Dead store to local variable that shadows field</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_HARDCODED_ABSOLUTE_FILENAME">DMI: Chemin absolu codé en dur dans le code</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_NONSERIALIZABLE_OBJECT_WRITTEN">DMI: Objet non sérialisable écrit dans un ObjectOutput</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_USELESS_SUBSTRING">DMI: Appel de substring(0) qui retourne la valeur originale</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED">Dm: Thread passed where Runnable expected</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_DOESNT_OVERRIDE_EQUALS">Eq: Class doesn't override equals in superclass</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_UNUSUAL">Eq: Unusual equals method </a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FE_FLOATING_POINT_EQUALITY">FE: Test d'égalité en virgule flottante.</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN">FS: Non-Boolean argument formatted using %b format specifier</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD">IA: Appel ambigu d'une méthode hérité ou externe</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IC_INIT_CIRCULARITY">IC: Initialisation circulaire</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ICAST_IDIV_CAST_TO_DOUBLE">ICAST: Résultat d'une division entière transtypé en nombre flottant</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_INTEGER_MULTIPLY_CAST_TO_LONG">ICAST: Résultat d'une multiplication entière transtypée en long</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IM_AVERAGE_COMPUTATION_COULD_OVERFLOW">IM: Possibilité de débordement du calcul d'une moyenne</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IM_BAD_CHECK_FOR_ODD">IM: Test d'impaire ne fonctionnant pas avec les négatifs</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_REM_BY_1">INT: Reste entier modulo 1</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#INT_VACUOUS_BIT_OPERATION">INT: Vacuous bit mask operation on integer value</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_VACUOUS_COMPARISON">INT: Comparaison inutile de valeurs entières</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MTIA_SUSPECT_SERVLET_INSTANCE_FIELD">MTIA: La classe hérite de Servlet et utilise les variables de l'instance.</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MTIA_SUSPECT_STRUTS_INSTANCE_FIELD">MTIA: La classe hérite d'une classe action Struts et utilise les variables de l'instance.</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_DEREFERENCE_OF_READLINE_VALUE">NP: Dereference of the result of readLine() without nullcheck</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_IMMEDIATE_DEREFERENCE_OF_READLINE">NP: Déréférencement immédiat du résultat d'un readLine()</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_LOAD_OF_KNOWN_NULL_VALUE">NP: Chargement d'une valeur connue pour être à null</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION">NP: Method tightens nullness annotation on parameter</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_METHOD_RETURN_RELAXING_ANNOTATION">NP: Method relaxes nullness annotation on return value</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE">NP: Pointeur à null renvoyé par une méthode qui risque d'être déréférencé</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE">NP: Possible null pointer dereference on branch that might be infeasible</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE">NP: Parameter must be nonnull but is marked as nullable</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD">NP: Read of unwritten public or protected field</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NS_DANGEROUS_NON_SHORT_CIRCUIT">NS: Potentially dangerous use of non-short-circuit logic</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NS_NON_SHORT_CIRCUIT">NS: Utilisation discutable de logique binaire</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#PZLA_PREFER_ZERO_LENGTH_ARRAYS">PZLA: Envisagez de renvoyer un tableau vide plutôt que null</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#QF_QUESTIONABLE_FOR_LOOP">QF: Incrémentation compliquée, subtile au incorrecte dans une boucle for</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE">RCN: Comparaison redondante d'une valeur non nulle avec null</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES">RCN: Comparaison redondante de deux valeurs nulles</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE">RCN: Test de nullité redondant sur une valeur non nulle</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE">RCN: Test de nullité redondant sur une valeur connue pour être à null</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#REC_CATCH_EXCEPTION">REC: java.lang.Exception est intercepté alors qu'Exception n'est jamais lancé</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RI_REDUNDANT_INTERFACES">RI: Classe implémentant la même interface que sa super-classe</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_CHECK_FOR_POSITIVE_INDEXOF">RV: Méthode vérifiant que le résultat d'un String.indexOf() est positif</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_DONT_JUST_NULL_CHECK_READLINE">RV: Méthode ignorant le résultat d'un readLine() après avoir vérifié qu'il est non nul</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_REM_OF_HASHCODE">RV: Reste d'un hashCode pouvant être négatif</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_REM_OF_RANDOM_INT">RV: Reste d'un entier signé 32 bits aléeatoire</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_RETURN_VALUE_IGNORED_INFERRED">RV: Method ignores return value, is this OK?</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SA_FIELD_DOUBLE_ASSIGNMENT">SA: Double assignment of field</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SA_LOCAL_DOUBLE_ASSIGNMENT">SA: Double assignment of local variable </a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SA_LOCAL_SELF_ASSIGNMENT">SA: Auto-alimentation d'une variable locale</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SF_SWITCH_FALLTHROUGH">SF: Un switch comporte un cas qui déborde sur le suivant</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SF_SWITCH_NO_DEFAULT">SF: Switch statement found where default case is missing</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD">ST: Ecriture d'un champ statique depuis la méthode d'une instance</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_PRIVATE_READ_RESOLVE_NOT_INHERITED">Se: Private readResolve method not inherited by subclasses</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS">Se: Transient field of class that isn't Serializable. </a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK">TQ: Value required to have type qualifier, but marked as unknown</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK">TQ: Value required to not have type qualifier, but marked as unknown</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UCF_USELESS_CONTROL_FLOW">UCF: Instruction de contrôle du flux inutile</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UCF_USELESS_CONTROL_FLOW_NEXT_LINE">UCF: Useless control flow to next line</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD">UrF: Unread public/protected field</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD">UuF: Unused public or protected field</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">UwF: Champ non initialisé dans le constructeur</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD">UwF: Unwritten public or protected field</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#XFB_XML_FACTORY_BYPASS">XFB: Méthode instanciant directement une implémentation spécifique des interfaces XML</a></td><td>Dodgy code</td></tr>
+</table>
+<h2>Descriptions</h2>
+<h3><a name="BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS">BC: Equals method should not assume anything about the type of its argument (BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS)</a></h3>
+
+
+<p>
+The <code>equals(Object o)</code> method shouldn't make any assumptions
+about the type of <code>o</code>. It should simply return
+false if <code>o</code> is not the same type as <code>this</code>.
+</p>
+
+    
+<h3><a name="BIT_SIGNED_CHECK">BIT: Check for sign of bitwise operation (BIT_SIGNED_CHECK)</a></h3>
+
+
+<p> This method compares an expression such as</p>
+<pre>((event.detail &amp; SWT.SELECTED) &gt; 0)</pre>.
+<p>Using bit arithmetic and then comparing with the greater than operator can
+lead to unexpected results (of course depending on the value of
+SWT.SELECTED). If SWT.SELECTED is a negative number, this is a candidate
+for a bug. Even when SWT.SELECTED is not negative, it seems good practice
+to use '!= 0' instead of '&gt; 0'.
+</p>
+<p>
+<em>Boris Bokowski</em>
+</p>
+
+    
+<h3><a name="CN_IDIOM">CN: La classe implémente Cloneable mais ne définit et n'utilise pas la méthode clone() (CN_IDIOM)</a></h3>
+
+
+<p>La classe implémente <code>Cloneable</code> sans définir ou utiliser la méthode <code>clone()</code>.</p>
+
+  
+<h3><a name="CN_IDIOM_NO_SUPER_CALL">CN: La méthode clone() n'appelle pas super.clone() (CN_IDIOM_NO_SUPER_CALL)</a></h3>
+
+
+<p>Cette classe définit une méthode <code>clone()</code> qui n'appelle pas <code>super.clone()</code>, et n'est pas finale. Si cette classe ("<i>A</i>") est étendue par une classe fille ("<i>B</i>"), et que la classe fille <i>B</i> appelle <code>super.clone()</code>, alors il est probable que la méthode <code>clone()</code> de <i>B</i> retournera un objet de type <i>A</i>, ce qui viole le contrat standard de <code>clone()</code>.</p>
+<p>Si toutes les méthodes <code>clone()</code> appellent <code>super.clone()</code>, elles ont alors la garantie d'utiliser <code>Object.clone()</code>, qui retourne toujours un objet du type correct.</p>
+
+  
+<h3><a name="CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE">CN: Class defines clone() but doesn't implement Cloneable (CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE)</a></h3>
+
+
+<p> This class defines a clone() method but the class doesn't implement Cloneable.
+There are some situations in which this is OK (e.g., you want to control how subclasses
+can clone themselves), but just make sure that this is what you intended.
+</p>
+
+    
+<h3><a name="CNT_ROUGH_CONSTANT_VALUE">CNT: Rough value of known constant found (CNT_ROUGH_CONSTANT_VALUE)</a></h3>
+
+      
+    <p>It's recommended to use the predefined library constant for code clarity and better precision.</p>
+
+    
+<h3><a name="CO_ABSTRACT_SELF">Co: Une classe abstraite définit une méthode compareTo() covariante (CO_ABSTRACT_SELF)</a></h3>
+
+
+<p>Cette classe définit une version covariante de <code>compareTo()</code>. Pour surcharger correctement la méthode <code>compareTo()</code> de l'interface <code>Comparable</code>, le paramètre de <code>compareTo()</code> doit être du type <code>java.lang.Object</code>.</p>
+
+  
+<h3><a name="CO_SELF_NO_OBJECT">Co: Définition d'une méthode compareTo() covariante (CO_SELF_NO_OBJECT)</a></h3>
+
+
+<p>Cette classe définit une version covariante de <code>compareTo()</code>. Pour correctement surcharger la méthode <code>compareTo() </code>de l'interface <code>Comparable</code>, le paramètre de <code>compareTo()</code> doit être du type <code>java.lang.Object</code>.</p>
+
+  
+<h3><a name="DE_MIGHT_DROP">DE: La méthode peut déclencher une exception (DE_MIGHT_DROP)</a></h3>
+
+
+<p>Cette méthode peut déclencher une exception. En général, les exceptions doivent être gérées ou transmises hors de la méthode.</p>
+
+  
+<h3><a name="DE_MIGHT_IGNORE">DE: La méthode peut ignorer une exception (DE_MIGHT_IGNORE)</a></h3>
+
+
+<p>Cette méthode peut ignorer une exception. En général, les exceptions doivent être gérées ou transmises hors de la méthode.</p>
+
+  
+<h3><a name="DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS">DMI: Adding elements of an entry set may fail due to reuse of Entry objects (DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS)</a></h3>
+
+     
+     <p> The entrySet() method is allowed to return a view of the
+     underlying Map in which a single Entry object is reused and returned
+     during the iteration.  As of Java 1.6, both IdentityHashMap
+     and EnumMap did so. When iterating through such a Map,
+     the Entry value is only valid until you advance to the next iteration.
+     If, for example, you try to pass such an entrySet to an addAll method,
+     things will go badly wrong.
+    </p>
+     
+    
+<h3><a name="DMI_RANDOM_USED_ONLY_ONCE">DMI: Random object created and used only once (DMI_RANDOM_USED_ONLY_ONCE)</a></h3>
+
+
+<p> This code creates a java.util.Random object, uses it to generate one random number, and then discards
+the Random object. This produces mediocre quality random numbers and is inefficient.
+If possible, rewrite the code so that the Random object is created once and saved, and each time a new random number
+is required invoke a method on the existing Random object to obtain it.
+</p>
+
+<p>If it is important that the generated Random numbers not be guessable, you <em>must</em> not create a new Random for each random
+number; the values are too easily guessable. You should strongly consider using a java.security.SecureRandom instead
+(and avoid allocating a new SecureRandom for each random number needed).
+</p>
+
+    
+<h3><a name="DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION">DMI: Don't use removeAll to clear a collection (DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION)</a></h3>
+
+     
+     <p> If you want to remove all elements from a collection <code>c</code>, use <code>c.clear</code>,
+not <code>c.removeAll(c)</code>. Calling  <code>c.removeAll(c)</code> to clear a collection
+is less clear, susceptible to errors from typos, less efficient and
+for some collections, might throw a <code>ConcurrentModificationException</code>.
+    </p>
+     
+    
+<h3><a name="DM_EXIT">Dm: La méthode invoque System.exit(...) (DM_EXIT)</a></h3>
+
+
+<p>Invoquer <code>System.exit()</code> arrête toute la JVM. Cela ne doit être fait que lorsque c'est nécessaire. De tels appels rendent difficile ou impossible l'invocation de votre code par d'autre code. Envisagez de déclencher une <code>RuntimeException</code> à la place.</p>
+
+  
+<h3><a name="DM_RUN_FINALIZERS_ON_EXIT">Dm: Méthode invoquant runFinalizersOnExit, l'une des plus dangeureuses méthodes des librairies Java (DM_RUN_FINALIZERS_ON_EXIT)</a></h3>
+
+
+<p>N'appelez jamais <code>System.runFinalizersOnExit</code> ou <code>Runtime.runFinalizersOnExit</code> pour quelque raison que ce soit : elles font partie des méthodes les plus dangeureuses des librairies Java</p>
+<p>Joshua Bloch</p>
+
+  
+<h3><a name="ES_COMPARING_PARAMETER_STRING_WITH_EQ">ES: Comparison of String parameter using == or != (ES_COMPARING_PARAMETER_STRING_WITH_EQ)</a></h3>
+
+
+  <p>This code compares a <code>java.lang.String</code> parameter for reference
+equality using the == or != operators. Requiring callers to
+pass only String constants or interned strings to a method is unnecessarily
+fragile, and rarely leads to measurable performance gains. Consider
+using the <code>equals(Object)</code> method instead.</p>
+
+    
+<h3><a name="ES_COMPARING_STRINGS_WITH_EQ">ES: Comparaison d'objets String utilisant == ou != (ES_COMPARING_STRINGS_WITH_EQ)</a></h3>
+
+
+<p>Ce code compare des objets <code>java.lang.String</code> au moyen de l'égalité par référence des opérateurs <code>==</code> ou <code>!=</code>. A moins que les deux chaînes ne soient des constantes dans le fichier source ou aient été internalisées au moyen de la méthode <code>String.intern()</code>, deux chaînes identiques peuvent être représentées par deux objets <code>String</code> différents. Envisagez d'utiliser la méthode <code>equals(Object)</code> à la place.</p>
+
+  
+<h3><a name="EQ_ABSTRACT_SELF">Eq: Une classe abstraite définit une méthode equals() covariante (EQ_ABSTRACT_SELF)</a></h3>
+
+
+<p>Cette classe définit une version covariante de la méthode <code>equals()</code>. Pour surcharger correctement la méthode <code>equals()</code> de <code>java.lang.Object</code>, le paramètre de <code>equals()</code> doit être du type <code>java.lang.Object</code>.</p>
+
+  
+<h3><a name="EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS">Eq: Equals checks for incompatible operand (EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS)</a></h3>
+
+
+  <p> This equals method is checking to see if the argument is some incompatible type
+(i.e., a class that is neither a supertype nor subtype of the class that defines
+the equals method). For example, the Foo class might have an equals method
+that looks like:
+</p>
+<pre>
+public boolean equals(Object o) {
+  if (o instanceof Foo)
+    return name.equals(((Foo)o).name);
+  else if (o instanceof String)
+    return name.equals(o);
+  else return false;
+</pre>
+
+<p>This is considered bad practice, as it makes it very hard to implement an equals method that
+is symmetric and transitive. Without those properties, very unexpected behavoirs are possible.
+</p>
+
+    
+<h3><a name="EQ_COMPARETO_USE_OBJECT_EQUALS">Eq: Class defines compareTo(...) and uses Object.equals() (EQ_COMPARETO_USE_OBJECT_EQUALS)</a></h3>
+
+
+  <p> This class defines a <code>compareTo(...)</code> method but inherits its
+  <code>equals()</code> method from <code>java.lang.Object</code>.
+    Generally, the value of compareTo should return zero if and only if
+    equals returns true. If this is violated, weird and unpredictable
+    failures will occur in classes such as PriorityQueue.
+    In Java 5 the PriorityQueue.remove method uses the compareTo method,
+    while in Java 6 it uses the equals method.
+
+<p>From the JavaDoc for the compareTo method in the Comparable interface:
+<blockquote>
+It is strongly recommended, but not strictly required that <code>(x.compareTo(y)==0) == (x.equals(y))</code>.
+Generally speaking, any class that implements the Comparable interface and violates this condition
+should clearly indicate this fact. The recommended language
+is "Note: this class has a natural ordering that is inconsistent with equals."
+</blockquote>
+
+    
+<h3><a name="EQ_GETCLASS_AND_CLASS_CONSTANT">Eq: equals method fails for subtypes (EQ_GETCLASS_AND_CLASS_CONSTANT)</a></h3>
+
+
+  <p> This class has an equals method that will be broken if it is inherited by subclasses.
+It compares a class literal with the class of the argument (e.g., in class <code>Foo</code>
+it might check if <code>Foo.class == o.getClass()</code>).
+It is better to check if <code>this.getClass() == o.getClass()</code>.
+</p>
+
+    
+<h3><a name="EQ_SELF_NO_OBJECT">Eq: Définition d'une méthode equals() covariante (EQ_SELF_NO_OBJECT)</a></h3>
+
+
+<p>Cette classe définit une version covariante de <code>equals()</code>. Pour surcharger correctement la méthode <code>equals()</code> de <code>java.lang.Object</code>, le paramètre de <code>equals()</code> doit être du type <code>java.lang.Object</code>.</p>
+
+  
+<h3><a name="FI_EMPTY">FI: Un finaliseur vide devrait être supprimé (FI_EMPTY)</a></h3>
+
+
+<p>Les méthodes <code>finalize()</code> vides sont inutiles, donc elles devraient être supprimées.</p>
+
+  
+<h3><a name="FI_EXPLICIT_INVOCATION">FI: Invocation explicite d'un finaliseur (FI_EXPLICIT_INVOCATION)</a></h3>
+
+
+<p>Cette méthode contient un appel explicite à la méthode <code>finalize()</code> d'un objet. Les méthodes <code>finalize()</code> étant sensées n'être appelées qu'une fois, et uniquement par la JVM, c'est une mauvaise idée.</p>
+
+  
+<h3><a name="FI_FINALIZER_NULLS_FIELDS">FI: Finalizer nulls fields (FI_FINALIZER_NULLS_FIELDS)</a></h3>
+
+
+  <p> This finalizer nulls out fields.  This is usually an error, as it does not aid garbage collection,
+  and the object is going to be garbage collected anyway.
+
+    
+<h3><a name="FI_FINALIZER_ONLY_NULLS_FIELDS">FI: Finalizer only nulls fields (FI_FINALIZER_ONLY_NULLS_FIELDS)</a></h3>
+
+
+  <p> This finalizer does nothing except null out fields. This is completely pointless, and requires that
+the object be garbage collected, finalized, and then garbage collected again. You should just remove the finalize
+method.
+
+    
+<h3><a name="FI_MISSING_SUPER_CALL">FI: Le finaliseur n'appelle pas le finaliseur de la super-classe (FI_MISSING_SUPER_CALL)</a></h3>
+
+
+<p>Cette méthode <code>finalize()</code> n'appelle pas la méthode <code>finalize()</code> de sa classe mère ; donc toutes les actions définies au niveau de la classe mère seront ignorées. Ajoutez un appel à <code>super.finalize()</code>.</p>
+
+  
+<h3><a name="FI_NULLIFY_SUPER">FI: Un finaliseur rend inutile celui de sa super-classe (FI_NULLIFY_SUPER)</a></h3>
+
+
+<p>Cette méthode <code>finalize()</code> vide rend explicitement inutile tout finaliseur défini dans les super-classes. Toute action définie dans un finaliseur d'une superclasse sera ignorée. A moins que cela ne soit voulu, supprimer cette méthode.</p>
+
+  
+<h3><a name="FI_USELESS">FI: Le finaliseur ne fait rien sauf appeler celui de la super-classe (FI_USELESS)</a></h3>
+
+
+<p>La seule chose que cette méthode <code>finalize()</code> fait est d'appeler la méthode <code>finalize()</code> de la super-classe, ce qui la rend redondante. Supprimez la.</p>
+
+  
+<h3><a name="VA_FORMAT_STRING_USES_NEWLINE">FS: Format string should use %n rather than \n (VA_FORMAT_STRING_USES_NEWLINE)</a></h3>
+
+
+<p>
+This format string include a newline character (\n). In format strings, it is generally
+ preferable better to use %n, which will produce the platform-specific line separator.
+</p>
+
+     
+<h3><a name="GC_UNCHECKED_TYPE_IN_GENERIC_CALL">GC: Unchecked type in generic call (GC_UNCHECKED_TYPE_IN_GENERIC_CALL)</a></h3>
+
+     
+     <p> This call to a generic collection method passes an argument
+    while compile type Object where a specific type from
+    the generic type parameters is expected.
+    Thus, neither the standard Java type system nor static analysis
+    can provide useful information on whether the
+    object being passed as a parameter is of an appropriate type.
+    </p>
+     
+    
+<h3><a name="HE_EQUALS_NO_HASHCODE">HE: La classe définit equals() mais pas hashCode() (HE_EQUALS_NO_HASHCODE)</a></h3>
+
+
+<p>Cette classe surcharge <code>equals(Object)</code>, mais pas <code>hashCode()</code>. C'est pourquoi la classe peut violer le contrat indiquant que des objets égaux doivent avoir des codes de hachage identiques.</p>
+
+  
+<h3><a name="HE_EQUALS_USE_HASHCODE">HE: La classe définit equals() et utilise Object.hashCode() (HE_EQUALS_USE_HASHCODE)</a></h3>
+
+
+<p>Cette classe surcharge <code>equals(Object)</code>, pas <code>hashCode()</code>, et hérite de l'implémentation de <code>hashCode()</code> issue de <code>java.lang.Object</code> (qui renvoie le code de hachage d'identité, une valeur arbitraire assignée à l'objet par la JVM). C'est pourquoi la classe a des chances de violer le contrat impliquant que des objets égaux doivent avoir des codes de hachage identiques.</p>
+<p>Si vous ne pensez pas que des instances de cette classe soient un jour insérés dans des<code>HashMap</code>/<code>Hashtable</code>, l'implémentation recommendée est du type :</p>
+<p><pre>
+public int hashCode() {
+  assert false : "hashCode not designed";
+  return 42; // any arbitrary constant will do 
+}
+</pre></p>
+
+  
+<h3><a name="HE_HASHCODE_NO_EQUALS">HE: La classe définit hashCode() mais pas equals() (HE_HASHCODE_NO_EQUALS)</a></h3>
+
+
+<p>Cette classe définit une méthode <code>hashCode()</code> mais pas de méthode <code>equals()</code>. C'est pourquoi cette classe peut violer le contrat indiquant que des objets identiques doivent avoir des codes de hachage identiques.</p>
+
+  
+<h3><a name="HE_HASHCODE_USE_OBJECT_EQUALS">HE: La classe définit hashCode() et utilise Object.equals() (HE_HASHCODE_USE_OBJECT_EQUALS)</a></h3>
+
+
+<p>Cette classe définit une méthode <code>hashCode()</code> mais hérite la méthode <code>equals()</code> de <code>java.lang.Object</code> (qui définit l'égalité par comparaison des références des objets). Bien que cela satisfasse certainement le contrat indiquant que les objets égaux doivent avoir des codes de hachage égaux, ce n'est certainement pas ce qui était voulu lors de la surcharge de la méthode <code>hashCode()</code> (Surcharger <code>hashCode()</code> implique que l'identité des objets soit basée sur des critères plus compliqués qu'une simple égalités des références.)</p>
+<p>Si vous ne pensez pas que des instances de cette classe soient un jour insérées dans des <code>HashMap</code>/<code>HashTable</code>, l'implémentation recommendée de <code>hashCode</code> est :</p>
+<p><pre>
+public int hashCode() {
+  assert false : "hashCode not designed";
+  return 42; // any arbitrary constant will do 
+  }
+</pre></p>
+
+  
+<h3><a name="HE_INHERITS_EQUALS_USE_HASHCODE">HE: La classe hérite de equals() et utilise Object.hashCode() (HE_INHERITS_EQUALS_USE_HASHCODE)</a></h3>
+
+
+<p>Cette classe hérite de la méthode <code>equals((Object)</code> d'une super-classe abstraite, et de la méthode <code>hashCode()</code> de l'objet <code>java.lang.Object</code> (qui renvoi le code de hachage d'identité, une valeur arbitraire assignée à l'objet par la JVM). C'est pourquoi la classe viole probablement le contrat indiquant que des objets égaux doivent avoir des codes de hachage identiques.</p>
+<p>Si vous ne souhaitez pas définir une méthode <code>hashCode()</code> et/ou ne pensez pas que l'objet puisse un jour être mis dans des <code>HashMap</code>/<code>Hashtable</code>, définissez une méthode <code>hashCode()</code> déclenchant une <code>UnsupportedOperationException</code>.</p>
+
+  
+<h3><a name="IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION">IC: Classe mère utilisant une sous-classe durant son initialisation (IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION)</a></h3>
+
+
+<p>Durant l'intialisation, une classe utilise activement l'une de ses sous-classes. Cette sous-classe ne sera pas encore initialisée lors de la première utilisation. Par exemple, dans le code suivant, <code>foo</code> sera à <code>null</code>.</p>
+<p><code><pre>
+public class CircularClassInitialization {
+    static class InnerClassSingleton extends CircularClassInitialization {
+        static InnerClassSingleton singleton = new InnerClassSingleton();
+    }
+    static CircularClassInitialization foo = InnerClassSingleton.singleton;
+}
+</pre></code></p>
+
+  
+<h3><a name="IMSE_DONT_CATCH_IMSE">IMSE: Interception douteuse d'une IllegalMonitorStateException (IMSE_DONT_CATCH_IMSE)</a></h3>
+
+
+<p><code>IllegalMonitorStateException</code> n'est généralement déclenchée que dans le cas d'une faille dans la conception du code (appeler <code>wait()</code> ou <code>notify()</code> sur un objet dont on ne possède pas le verrou).</p>
+
+  
+<h3><a name="ISC_INSTANTIATE_STATIC_CLASS">ISC: Instantiation inutile d'une classe qui n'a que des méthodes statiques (ISC_INSTANTIATE_STATIC_CLASS)</a></h3>
+
+
+<p>Cette classe alloue un objet basé sur une classe qui n'a que des méthodes statiques. Cet objet n'a pas besoin d'être créé, accédez directement aux méthodes en utilisant le nom de la classe.</p>
+
+  
+<h3><a name="IT_NO_SUCH_ELEMENT">It: La méthode next() de Iterator ne peut pas déclencher une exception NoSuchElement (IT_NO_SUCH_ELEMENT)</a></h3>
+
+
+<p>Cette classe implémente l'interface <code>java.util.Iterator</code>. Néanmoins, sa méthode <code>next()</code> n'est pas capable de déclencher <code>java.util.NoSuchElementException</code>. La méthode <code>next()</code> devrait être modifiée pour déclencher <code>NoSuchElementException</code> si elle est appelée alors qu'il n'y a plus d'éléments à renvoyer.</p>
+
+  
+<h3><a name="J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION">J2EE: Stockage d'un objet non serialisable dans une session Http (J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION)</a></h3>
+
+
+<p>Ce code semble stocker un objet non sérialisable dans un <code>HttpSession</code>. Une erreur se produira si cette session est rendue passive ou migrée.</p>
+
+  
+<h3><a name="JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS">JCIP: Les champs d'une classe immuable devraient être finaux. (JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS)</a></h3>
+
+
+La classe est annotée avec <code>net.jcip.annotations.Immutable</code>, et la règle liée à cette annotation réclame que tous les champs soient marqués <code>final</code>.
+
+  
+<h3><a name="NP_BOOLEAN_RETURN_NULL">NP: Method with Boolean return type returns explicit null (NP_BOOLEAN_RETURN_NULL)</a></h3>
+
+       
+       <p>
+    A method that returns either Boolean.TRUE, Boolean.FALSE or null is an accident waiting to happen.
+    This method can be invoked as though it returned a value of type boolean, and
+    the compiler will insert automatic unboxing of the Boolean value. If a null value is returned,
+    this will result in a NullPointerException.
+       </p>
+       
+       
+<h3><a name="NP_CLONE_COULD_RETURN_NULL">NP: Clone method may return null (NP_CLONE_COULD_RETURN_NULL)</a></h3>
+
+      
+      <p>
+    This clone method seems to return null in some circumstances, but clone is never
+    allowed to return a null value.  If you are convinced this path is unreachable, throw an AssertionError
+    instead.
+      </p>
+      
+   
+<h3><a name="NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT">NP: Méthode equals() ne vérifiant pas la nullité (NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT)</a></h3>
+
+
+<p>Cette implémentation de <code>equals(Object)</code> ne respecte pas le contrat défini par <code>java.lang.Object.equals()</code> car elle ne vérifie la nullité du paramètre reçu en argument. Toutes les méthodes <code>equals()</code> doivent renvoyer <code>false</code> quand elles reçoivent une valeur à <code>null</code>.</p>
+
+  
+<h3><a name="NP_TOSTRING_COULD_RETURN_NULL">NP: toString method may return null (NP_TOSTRING_COULD_RETURN_NULL)</a></h3>
+
+      
+      <p>
+    This toString method seems to return null in some circumstances. A liberal reading of the
+    spec could be interpreted as allowing this, but it is probably a bad idea and could cause
+    other code to break. Return the empty string or some other appropriate string rather than null.
+      </p>
+      
+   
+<h3><a name="NM_CLASS_NAMING_CONVENTION">Nm: Nom de classe devant commencer par une majuscule (NM_CLASS_NAMING_CONVENTION)</a></h3>
+
+
+<p>Les noms de classe doivent être en minuscules avec la première lettre de chaque mot en majuscules. Essayez de conserver vos noms de classes simples et explicites. Utilisez des mots entiers et évitez acronymes et abbréviations (à moins que l'abbréviation soit plus largement utilisée que la forme longue, comme "URL" ou "HTML").</p>
+
+  
+<h3><a name="NM_CLASS_NOT_EXCEPTION">Nm: Cette classe ne dérive pas d'Exception, même si son nom le sous-entend (NM_CLASS_NOT_EXCEPTION)</a></h3>
+
+
+<p>Cette classe n'est pas dérivée d'une autre <code>Exception</code> alors que son nom se termine par 'Exception'. Ceci risque de porter à confusion les utilisateurs de cette classe.</p>
+
+  
+<h3><a name="NM_CONFUSING">Nm: Noms de méthodes ambigus (NM_CONFUSING)</a></h3>
+
+
+<p>Les méthodes indiquées ont des noms qui ne diffèrent que par les majuscules.</p>
+
+  
+<h3><a name="NM_FIELD_NAMING_CONVENTION">Nm: Nom de champ devant commencer par une minuscule (NM_FIELD_NAMING_CONVENTION)</a></h3>
+
+
+<p>Les noms de champs qui ne sont pas finaux devraient être en minuscules avec la première lettre des mots, après le premier, en majuscule.</p>
+
+  
+<h3><a name="NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java (NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER)</a></h3>
+
+
+<p>The identifier is a word that is reserved as a keyword in later versions of Java, and your code will need to be changed
+in order to compile it in later versions of Java.</p>
+
+
+    
+<h3><a name="NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER">Nm: Use of identifier that is a keyword in later versions of Java (NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER)</a></h3>
+
+
+<p>This identifier is used as a keyword in later versions of Java. This code, and
+any code that references this API,
+will need to be changed in order to compile it in later versions of Java.</p>
+
+
+    
+<h3><a name="NM_METHOD_NAMING_CONVENTION">Nm: Nom de méthode devant commencer par une minuscule (NM_METHOD_NAMING_CONVENTION)</a></h3>
+
+
+<p>Les noms de méthodes devraient être des verbes en minuscules, avec la première lettre des mots, après le premier, en majuscules.</p>
+
+  
+<h3><a name="NM_SAME_SIMPLE_NAME_AS_INTERFACE">Nm: Class names shouldn't shadow simple name of implemented interface (NM_SAME_SIMPLE_NAME_AS_INTERFACE)</a></h3>
+
+
+  <p> This class/interface has a simple name that is identical to that of an implemented/extended interface, except
+that the interface is in a different package (e.g., <code>alpha.Foo</code> extends <code>beta.Foo</code>).
+This can be exceptionally confusing, create lots of situations in which you have to look at import statements
+to resolve references and creates many
+opportunities to accidently define methods that do not override methods in their superclasses.
+</p>
+
+    
+<h3><a name="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS">Nm: Class names shouldn't shadow simple name of superclass (NM_SAME_SIMPLE_NAME_AS_SUPERCLASS)</a></h3>
+
+
+  <p> This class has a simple name that is identical to that of its superclass, except
+that its superclass is in a different package (e.g., <code>alpha.Foo</code> extends <code>beta.Foo</code>).
+This can be exceptionally confusing, create lots of situations in which you have to look at import statements
+to resolve references and creates many
+opportunities to accidently define methods that do not override methods in their superclasses.
+</p>
+
+    
+<h3><a name="NM_VERY_CONFUSING_INTENTIONAL">Nm: Very confusing method names (but perhaps intentional) (NM_VERY_CONFUSING_INTENTIONAL)</a></h3>
+
+
+  <p> The referenced methods have names that differ only by capitalization.
+This is very confusing because if the capitalization were
+identical then one of the methods would override the other. From the existence of other methods, it
+seems that the existence of both of these methods is intentional, but is sure is confusing.
+You should try hard to eliminate one of them, unless you are forced to have both due to frozen APIs.
+</p>
+
+    
+<h3><a name="NM_WRONG_PACKAGE_INTENTIONAL">Nm: Method doesn't override method in superclass due to wrong package for parameter (NM_WRONG_PACKAGE_INTENTIONAL)</a></h3>
+
+
+  <p> The method in the subclass doesn't override a similar method in a superclass because the type of a parameter doesn't exactly match
+the type of the corresponding parameter in the superclass. For example, if you have:</p>
+
+<blockquote>
+<pre>
+import alpha.Foo;
+public class A {
+  public int f(Foo x) { return 17; }
+}
+----
+import beta.Foo;
+public class B extends A {
+  public int f(Foo x) { return 42; }
+  public int f(alpha.Foo x) { return 27; }
+}
+</pre>
+</blockquote>
+
+<p>The <code>f(Foo)</code> method defined in class <code>B</code> doesn't
+override the
+<code>f(Foo)</code> method defined in class <code>A</code>, because the argument
+types are <code>Foo</code>'s from different packages.
+</p>
+
+<p>In this case, the subclass does define a method with a signature identical to the method in the superclass,
+so this is presumably understood. However, such methods are exceptionally confusing. You should strongly consider
+removing or deprecating the method with the similar but not identical signature.
+</p>
+
+    
+<h3><a name="ODR_OPEN_DATABASE_RESOURCE">ODR: La méthode peut ne pas fermer une ressource base de données (ODR_OPEN_DATABASE_RESOURCE)</a></h3>
+
+
+<p>Cette méthode crée une ressource base de données (telle qu'une connexion ou un <code>RowSet</code>), ne l'affecte à aucun champ, ne la passe à aucune autre méthode, ne la renvoie pas, et ne semble pas la fermer dans tous les chemins d'exécution. Ne pas fermer une ressource base de données dans tous les chemins d'exécution peut entraîner de faibles performances et poser des problèmes de communication entre la base de données et l'application.</p>
+
+  
+<h3><a name="ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH">ODR: La méthode peut ne pas fermer une ressource base de données sur une exception (ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH)</a></h3>
+
+
+<p>Cette méthode crée une ressource base de données (telle qu'une connexion ou un <code>RowSet</code>), ne l'affecte à aucun champ, ne la passe à aucune autre méthode, ne la renvoie pas, et ne semble pas la fermer dans tous les chemins d'exception. Ne pas fermer une ressource base de données peut entraîner de faibles performances et poser des problèmes de communication entre la base de données et l'application.</p>
+
+  
+<h3><a name="OS_OPEN_STREAM">OS: La méthode peut ne pas fermer un flux (OS_OPEN_STREAM)</a></h3>
+
+
+<p>La méthode crée un objet de flux d'E/S, ne l'assigne à aucun champ, ne le passe à aucune méthode, ne le renvoit pas et ne semble pas le fermer dans tous les chemins d'exécution. Ceci peut entraîner le blocage d'un descripteur de fichier. C'est généralement une bonne idée d'utiliser un bloc <code>finally</code> pour s'assurer de la fermeture des flux.</p>
+
+  
+<h3><a name="OS_OPEN_STREAM_EXCEPTION_PATH">OS: La méthode peut oublier de fermer un flux en cas d'exception (OS_OPEN_STREAM_EXCEPTION_PATH)</a></h3>
+
+
+<p>La méthode crée un flux d'E/S, ne l'affecte à aucun champ, ne le passe à aucune méthode, ne le renvoit pas, et ne semble pas le fermer dans tous les chemins d'exception possibles. Ceci peut provoquer le blocage d'un descripteur de fichier. C'est généralement une bonne idée d'utiliser un bloc <code>finally</code> pour garantir la fermeture des flux.</p>
+
+  
+<h3><a name="PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS">PZ: Don't reuse entry objects in iterators (PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS)</a></h3>
+
+     
+     <p> The entrySet() method is allowed to return a view of the
+     underlying Map in which an Iterator and Map.Entry. This clever
+     idea was used in several Map implementations, but introduces the possibility
+     of nasty coding mistakes. If a map <code>m</code> returns
+     such an iterator for an entrySet, then
+     <code>c.addAll(m.entrySet())</code> will go badly wrong. All of
+     the Map implementations in OpenJDK 1.7 have been rewritten to avoid this,
+     you should to.
+    </p>
+     
+    
+<h3><a name="RC_REF_COMPARISON_BAD_PRACTICE">RC: Suspicious reference comparison to constant (RC_REF_COMPARISON_BAD_PRACTICE)</a></h3>
+
+
+<p> This method compares a reference value to a constant using the == or != operator,
+where the correct way to compare instances of this type is generally
+with the equals() method.
+It is possible to create distinct instances that are equal but do not compare as == since
+they are different objects.
+Examples of classes which should generally
+not be compared by reference are java.lang.Integer, java.lang.Float, etc.</p>
+
+    
+<h3><a name="RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN">RC: Suspicious reference comparison of Boolean values (RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN)</a></h3>
+
+
+<p> This method compares two Boolean values using the == or != operator.
+Normally, there are only two Boolean values (Boolean.TRUE and Boolean.FALSE),
+but it is possible to create other Boolean objects using the <code>new Boolean(b)</code>
+constructor. It is best to avoid such objects, but if they do exist,
+then checking Boolean objects for equality using == or != will give results
+than are different than you would get using <code>.equals(...)</code>
+</p>
+
+    
+<h3><a name="RR_NOT_CHECKED">RR: La méthode ignore le résultat de InputStream.read() (RR_NOT_CHECKED)</a></h3>
+
+
+<p>Cette méthode ignore le code retour d'une des variantes de <code>java.io.InputStream.read()</code> qui peut renvoyer de multiples octets. Si la valeur renvoyée n'est pas vérifiée, l'appelant ne sera pas capable de gérer correctement le cas ou moins d'octets que prévu auront été lus. C'est un bogue particulièrement insidieux car dans la plupart des programmes les lectures renvoient effectivement souvent le nombre d'octets demandé, les plantages restant sporadiques.</p>
+
+  
+<h3><a name="SR_NOT_CHECKED">RR: La méthode ignore le résultat de InputStream.skip() (SR_NOT_CHECKED)</a></h3>
+
+
+<p>Cette méthode ignore la valeur renvoyée par <code>java.io.InputStream.skip()</code>, qui peut sauter de multiples octets. Si la valeur renvoyée n'est pas vérifiée, l'appelant n'est pas capable de gérer correctement les cas ou moins d'octets que prévu auront été sautés. C'est un type de bogue particulièrement insidieux car la plupart du temps le bon nombre d'octet sera effectivement sauté, et les plantages seront sporadiques. Néanmoins, sur les flux bufferisés, <code>skip()</code> ne s'applique qu'aux données du buffer et échoue fréquemment à sauter le nombre d'octets demandé.</p>
+
+  
+<h3><a name="RV_NEGATING_RESULT_OF_COMPARETO">RV: Negating the result of compareTo()/compare() (RV_NEGATING_RESULT_OF_COMPARETO)</a></h3>
+
+
+  <p> This code negatives the return value of a compareTo or compare method.
+This is a questionable or bad programming practice, since if the return
+value is Integer.MIN_VALUE, negating the return value won't
+negate the sign of the result. You can achieve the same intended result
+by reversing the order of the operands rather than by negating the results.
+</p>
+
+    
+<h3><a name="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE">RV: Method ignores exceptional return value (RV_RETURN_VALUE_IGNORED_BAD_PRACTICE)</a></h3>
+
+
+   <p> This method returns a value that is not checked. The return value should be checked
+since it can indicate an unusual or unexpected function execution. For
+example, the <code>File.delete()</code> method returns false
+if the file could not be successfully deleted (rather than
+throwing an Exception).
+If you don't check the result, you won't notice if the method invocation
+signals unexpected behavior by returning an atypical return value.
+</p>
+
+    
+<h3><a name="SI_INSTANCE_BEFORE_FINALS_ASSIGNED">SI: Initialiseur statique de classe créant une instance avant que tous les champs static final soient alimentés (SI_INSTANCE_BEFORE_FINALS_ASSIGNED)</a></h3>
+
+
+<p>L'initialiseur <code>static</code> de la classe crée une instance de la classe avant que tous les champs <code>static final</code> soient alimentés.</p>
+
+  
+<h3><a name="SW_SWING_METHODS_INVOKED_IN_SWING_THREAD">SW: Certaines méthodes Swing ne doivent être invoquées qu'à partir du thread Swing (SW_SWING_METHODS_INVOKED_IN_SWING_THREAD)</a></h3>
+
+
+<p>(<a href="http://java.sun.com/developer/JDCTechTips/2003/tt1208.html#1">Conseil technique JDC</a>) : les méthodes Swing <code>show()</code>, <code>setVisible()</code> et <code>pack()</code> créent les ressources associées à la fenêtre. En même temps que la création de ces ressources, le système crée le processus Swing de répartition de évènements.</p>
+<p>Ceci pose problème car le processus de répartition des évènements peut notifier des écouteurs alors que <code>pack()</code> et <code>validate()</code> sont toujours en cours de traitement. Cette situation peut conduire à ce que deux processus essayent d'accèder en même temps au composant, ce qui est une faille sérieuse qui peut provoquer des interblocages et autres problèmes de synchronisation.</p>
+<p>Un appel à <code>pack()</code> provoque l'initialisation du composant. Quand ils s'initialisent (sans être forcément visibles), les composants peuvent émettre des évènements vers le processus de répartition des évènements de Swing.</p>
+
+  
+<h3><a name="SE_BAD_FIELD">Se: Champ d'instance non transient et non sérialisable dans une classe sérialisable (SE_BAD_FIELD)</a></h3>
+
+
+<p>Cette classe <code>Serializable</code> définit un champ d'instance non primitif qui n'est ni <code>transient</code>, ni <code>Serializable</code> ou <code>java.lang.Object</code>, et qui ne semble pas implémenter l'interface <code>Externalizable</code> ou les méthodes <code>readObject()</code> et <code>writeObject()</code>. Les objets de cette classe ne seront pas désérialisés correctement si un objet non <code>Serializable</code> est stocké dans ce champ.</p>
+
+  
+<h3><a name="SE_BAD_FIELD_INNER_CLASS">Se: Non-serializable class has a serializable inner class (SE_BAD_FIELD_INNER_CLASS)</a></h3>
+
+
+<p> This Serializable class is an inner class of a non-serializable class.
+Thus, attempts to serialize it will also attempt to associate instance of the outer
+class with which it is associated, leading to a runtime error.
+</p>
+<p>If possible, making the inner class a static inner class should solve the
+problem. Making the outer class serializable might also work, but that would
+mean serializing an instance of the inner class would always also serialize the instance
+of the outer class, which it often not what you really want.
+
+    
+<h3><a name="SE_BAD_FIELD_STORE">Se: Valeur non sérialisable stockée dans un champ d'instance de classe sérialisable (SE_BAD_FIELD_STORE)</a></h3>
+
+
+<p>Une valeur non sérialisable est stockée dans un champ non <code>transient</code> d'une classe sérialisable.</p>
+
+  
+<h3><a name="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE">Se: Comparateur n'implémentant pas Serializable (SE_COMPARATOR_SHOULD_BE_SERIALIZABLE)</a></h3>
+
+
+<p>Cette classe implémente l'interface <code>Comparator</code>. Vous devriez vérifier si elle doit ou pas également implémenter l'interface <code>Serializable</code>. Si un comparateur est utilisé pour construire une collection triée, telle que <code>TreeMap</code>, alors le <code>TreeMap</code> ne sera sérialisable uniquement si le compareteur l'est aussi. Puisque la plupart des comparateurs ont de petits voire aucun états, les rendre sérialisables est généralement une technique de programmation défensive simple et bénéfique.</p>
+
+  
+<h3><a name="SE_INNER_CLASS">Se: Serializable inner class (SE_INNER_CLASS)</a></h3>
+
+
+<p> This Serializable class is an inner class.  Any attempt to serialize
+it will also serialize the associated outer instance. The outer instance is serializable,
+so this won't fail, but it might serialize a lot more data than intended.
+If possible, making the inner class a static inner class (also known as a nested class) should solve the
+problem.
+
+    
+<h3><a name="SE_NONFINAL_SERIALVERSIONID">Se: serialVersionUID n'est pas final (SE_NONFINAL_SERIALVERSIONID)</a></h3>
+
+
+<p>Cette classe définit un champ <code>serialVersionUID</code> qui n'est pas <code>final</code>. Ce champ devrait être rendu <code>final</code> si son but est de préciser l'identifiant de version utilisé pour la sérialisation.</p>
+
+  
+<h3><a name="SE_NONLONG_SERIALVERSIONID">Se: serialVersionUID n'est pas de type long (SE_NONLONG_SERIALVERSIONID)</a></h3>
+
+
+<p>Cette classe définit un champ <code>serialVersionUID</code> qui n'est pas de type <code>long</code>. Ce champ devrait être de type <code>long</code> si son but est de préciser l'identifiant de version utilisé pour la sérialisation.</p>
+
+  
+<h3><a name="SE_NONSTATIC_SERIALVERSIONID">Se: serialVersionUID n'est pas static (SE_NONSTATIC_SERIALVERSIONID)</a></h3>
+
+
+<p>Cette classe définit un champ <code>serialVersionUID</code> qui n'est pas statique. Le champ devrait être rendu statique si son but est de préciser l'identifiant de version utilisé pour la sérialisation.</p>
+
+  
+<h3><a name="SE_NO_SUITABLE_CONSTRUCTOR">Se: La classe est Serializable mais sa super-classe ne possède pas de constructeur par défaut visible (SE_NO_SUITABLE_CONSTRUCTOR)</a></h3>
+
+
+<p>Cette classe implémente l'interface <code>Serializable</code> mais pas sa super-classe. Quand un tel objet est désérialisé, les champs de la classe mère doivent être initialisés en invoquant le constructeur par défaut de la super-classe. Comme la super-classe n'en a pas, sérialisation et désérialisation échoueront à l'exécution.</p>
+
+  
+<h3><a name="SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION">Se: La classe est Externalizable mais ne définit pas de constructeur par défaut (SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION)</a></h3>
+
+
+<p>Cette classe implémente l'interface <code>Externalizable</code>, mais ne définit pas de constructeur par défaut. Quand les objets <code>Externalizable</code> sont déserialisés, ils doivent d'abord être construit au moyen du constructeur par défaut. Cette classe n'en ayant pas, sérialisation et désérialisation échoueront à l'exécution.</p>
+
+  
+<h3><a name="SE_READ_RESOLVE_MUST_RETURN_OBJECT">Se: La méthode readResolve doit retourner un Object (SE_READ_RESOLVE_MUST_RETURN_OBJECT)</a></h3>
+
+
+<p>Pour que la méthode <code>readResolve</code> soit prise en compte pas le mécanisme de sérialisation, elle doit avoir Object comme type de retour.</p>
+
+  
+<h3><a name="SE_TRANSIENT_FIELD_NOT_RESTORED">Se: Champ "transient" non positionné lors de la désérialisation (SE_TRANSIENT_FIELD_NOT_RESTORED)</a></h3>
+
+
+<p>Cette classe contient un champ qui est mis-à-jour à de nombreux endrois dans la classe, et qui semble faire parti du démarrage de la classe. Mais, ce champ étant marqué comme <code>transient</code> et n'étant pas alimenté par les méthodes <code>readObject</code> et <code>readResolve</code>, il contiendra la valeur par défaut dans toutes les instances désérialisées de la classe.</p>
+
+  
+<h3><a name="SE_NO_SERIALVERSIONID">SnVI: La classe est Serializable, mais ne définit pas serialVersionUID (SE_NO_SERIALVERSIONID)</a></h3>
+
+
+<p>Cette classe implémente l'interface <code>Serializable</code> mais ne définit pas de champ <code>serialVersionUID</code>. Une modification aussi simple qu'ajouter une référence vers un objet <code>.class</code> ajoutera des champs synthétiques à la classe, ce qui malheureusement changera la valeur implicite de <code>serialVersionUID</code> (Ex. : ajouter une référence à <code>String.class</code> générera un champ statique <code>class$java$lang$String</code>). De plus, différents compilateurs source vers bytecode peuvent utiliser différentes conventions de nommage pour les variables synthétiques générées pour référencer les objets classes et les classes internes. Afin de garantir l'interopérabilité de <code>Serializable</code> suivant les versions, pensez à ajouter un champ <code>serialVersionUID</code> explicite.</p>
+
+  
+<h3><a name="UI_INHERITANCE_UNSAFE_GETRESOURCE">UI: L'utilisation de GetResource peut-être instable si la classe est étendue (UI_INHERITANCE_UNSAFE_GETRESOURCE)</a></h3>
+
+
+<p>Appeler <code>this.getClass().getResource(...)</code> peut rendre des résultats différents de ceux attendus si la classe est étendue par une classe d'un autre paquetage.</p>
+
+  
+<h3><a name="BC_IMPOSSIBLE_CAST">BC: Transtypage impossible (BC_IMPOSSIBLE_CAST)</a></h3>
+
+
+<p>Ce trantypage lancera toujours une exception <code>ClassCastException</code>.</p>
+
+  
+<h3><a name="BC_IMPOSSIBLE_DOWNCAST">BC: Impossible downcast (BC_IMPOSSIBLE_DOWNCAST)</a></h3>
+
+
+<p>
+This cast will always throw a ClassCastException.
+The analysis believes it knows
+the precise type of the value being cast, and the attempt to
+downcast it to a subtype will always fail by throwing a ClassCastException.
+</p>
+
+    
+<h3><a name="BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY">BC: Impossible downcast of toArray() result (BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY)</a></h3>
+
+
+<p>
+This code is casting the result of calling <code>toArray()</code> on a collection
+to a type more specific than <code>Object[]</code>, as in:</p>
+<pre>
+String[] getAsArray(Collection&lt;String&gt; c) {
+  return (String[]) c.toArray();
+  }
+</pre>
+<p>This will usually fail by throwing a ClassCastException. The <code>toArray()</code>
+of almost all collections return an <code>Object[]</code>. They can't really do anything else,
+since the Collection object has no reference to the declared generic type of the collection.
+<p>The correct way to do get an array of a specific type from a collection is to use
+  <code>c.toArray(new String[]);</code>
+  or <code>c.toArray(new String[c.size()]);</code> (the latter is slightly more efficient).
+<p>There is one common/known exception exception to this. The <code>toArray()</code>
+method of lists returned by <code>Arrays.asList(...)</code> will return a covariantly
+typed array. For example, <code>Arrays.asArray(new String[] { "a" }).toArray()</code>
+will return a <code>String []</code>. FindBugs attempts to detect and suppress
+such cases, but may miss some.
+</p>
+
+    
+<h3><a name="BC_IMPOSSIBLE_INSTANCEOF">BC: instanceof renverra toujours faux (BC_IMPOSSIBLE_INSTANCEOF)</a></h3>
+
+
+<p>Ce test <code>instanceof</code> renverra toujours faux. Même s'il est sûr, assurez-vous qu'il ne s'agisse pas d'une erreur logique ou d'une mauvaise compréhension.</p>
+
+  
+<h3><a name="BIT_ADD_OF_SIGNED_BYTE">BIT: Bitwise add of signed byte value (BIT_ADD_OF_SIGNED_BYTE)</a></h3>
+
+
+<p> Adds a byte value and a value which is known to have the 8 lower bits clear.
+Values loaded from a byte array are sign extended to 32 bits
+before any any bitwise operations are performed on the value.
+Thus, if <code>b[0]</code> contains the value <code>0xff</code>, and
+<code>x</code> is initially 0, then the code
+<code>((x &lt;&lt; 8) + b[0])</code>  will sign extend <code>0xff</code>
+to get <code>0xffffffff</code>, and thus give the value
+<code>0xffffffff</code> as the result.
+</p>
+
+<p>In particular, the following code for packing a byte array into an int is badly wrong: </p>
+<pre>
+int result = 0;
+for(int i = 0; i &lt; 4; i++)
+  result = ((result &lt;&lt; 8) + b[i]);
+</pre>
+
+<p>The following idiom will work instead: </p>
+<pre>
+int result = 0;
+for(int i = 0; i &lt; 4; i++)
+  result = ((result &lt;&lt; 8) + (b[i] &amp; 0xff));
+</pre>
+
+
+    
+<h3><a name="BIT_AND">BIT: Masques binaires incompatibles (BIT_AND)</a></h3>
+
+
+<p>Cette méthode compare une expression de la forme (a <code>&amp;</code> C) avec D, qui est toujours inégale en raison des valeurs spécifiques des constantes C et D. Cela peut indiquer une faute de frappe ou une erreur logique.</p>
+
+  
+<h3><a name="BIT_AND_ZZ">BIT: Masques binaires incompatibles (BIT_AND_ZZ)</a></h3>
+
+
+<p>Cette méthode compare une expression de la forme (a <code>&amp;</code> 0) avec 0, qui est toujours égale. Ceci peut indiquer une faute de frappe ou une erreur logique.</p>
+
+  
+<h3><a name="BIT_IOR">BIT: Masques binaires incompatibles (BIT_IOR)</a></h3>
+
+
+<p>Cette méthode compare une expression de la forme (a <code>|</code> C) avec D, qui est toujours inégale en raison des valeurs spécifiques des constantes C et D. Ceci peut indiquer une erreur logique ou une faute de frappe.</p>
+<p>Typiquement, ce bogue arrive quand du code essaye d'effectuer un test d'apparition d'un bit mais utilise l'opérateur OU ("<code>|</code>") au lieu de l'opérateur ET ("<code>&amp;</code>").</p>
+
+  
+<h3><a name="BIT_IOR_OF_SIGNED_BYTE">BIT: Ou binaire d'un octet signé (BIT_IOR_OF_SIGNED_BYTE)</a></h3>
+
+
+<p>Charge une valeur à partir d'un tableau d'octets et effectue un ou binaire sur cette valeur. Les valeurs venant d'un tableau d'octet sont signées et risquent donc de ne pas se comporter comme prévue.</p>
+
+  
+<h3><a name="BIT_SIGNED_CHECK_HIGH_BIT">BIT: Check for sign of bitwise operation (BIT_SIGNED_CHECK_HIGH_BIT)</a></h3>
+
+
+<p> This method compares an expression such as</p>
+<pre>((event.detail &amp; SWT.SELECTED) &gt; 0)</pre>.
+<p>Using bit arithmetic and then comparing with the greater than operator can
+lead to unexpected results (of course depending on the value of
+SWT.SELECTED). If SWT.SELECTED is a negative number, this is a candidate
+for a bug. Even when SWT.SELECTED is not negative, it seems good practice
+to use '!= 0' instead of '&gt; 0'.
+</p>
+<p>
+<em>Boris Bokowski</em>
+</p>
+
+    
+<h3><a name="BOA_BADLY_OVERRIDDEN_ADAPTER">BOA: La classe surcharge mal une méthode implémentée dans une superclasse Adapter (BOA_BADLY_OVERRIDDEN_ADAPTER)</a></h3>
+
+
+<p>Cette méthode surcharge une méthode provenant d'une classe mère qui est un <code>Adapter</code> qui implémente un <code>Listener</code> défini dans le paquetage <code>java.awt.event</code> ou <code>javax.swing.event</code>. En conséquence, cette méthode ne sera pas appelée quand l'évènement se produira.</p>
+
+  
+<h3><a name="ICAST_BAD_SHIFT_AMOUNT">BSHIFT: Décalage d'un int hors de proportion (0..31) (ICAST_BAD_SHIFT_AMOUNT)</a></h3>
+
+
+<p>Un décalage de n bits est effectué avec n hors des limites (0..31). Ceci résulte en l'utilisation des 5 bits inférieurs de l'entier pour décider de la valeur du décalage. Ce n'est sans doute pas l'effet recherché et est pour le moins source de confusion.</p>
+
+  
+<h3><a name="BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR">Bx: Primitive value is unboxed and coerced for ternary operator (BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR)</a></h3>
+
+
+  <p>A wrapped primitive value is unboxed and converted to another primitive type as part of the
+evaluation of a conditional ternary operator (the <code> b ? e1 : e2</code> operator). The
+semantics of Java mandate that if <code>e1</code> and <code>e2</code> are wrapped
+numeric values, the values are unboxed and converted/coerced to their common type (e.g,
+if <code>e1</code> is of type <code>Integer</code>
+and <code>e2</code> is of type <code>Float</code>, then <code>e1</code> is unboxed,
+converted to a floating point value, and boxed. See JLS Section 15.25.
+</p>
+
+    
+<h3><a name="CO_COMPARETO_RESULTS_MIN_VALUE">Co: compareTo()/compare() returns Integer.MIN_VALUE (CO_COMPARETO_RESULTS_MIN_VALUE)</a></h3>
+
+
+  <p> In some situation, this compareTo or compare method returns
+the  constant Integer.MIN_VALUE, which is an exceptionally bad practice.
+  The only thing that matters about the return value of compareTo is the sign of the result.
+    But people will sometimes negate the return value of compareTo, expecting that this will negate
+    the sign of the result. And it will, except in the case where the value returned is Integer.MIN_VALUE.
+    So just return -1 rather than Integer.MIN_VALUE.
+
+    
+<h3><a name="DLS_DEAD_LOCAL_INCREMENT_IN_RETURN">DLS: Useless increment in return statement (DLS_DEAD_LOCAL_INCREMENT_IN_RETURN)</a></h3>
+
+      
+<p>This statement has a return such as <code>return x++;</code>.
+A postfix increment/decrement does not impact the value of the expression,
+so this increment/decrement has no effect.
+Please verify that this statement does the right thing.
+</p>
+
+    
+<h3><a name="DLS_DEAD_STORE_OF_CLASS_LITERAL">DLS: Dead store of class literal (DLS_DEAD_STORE_OF_CLASS_LITERAL)</a></h3>
+
+
+<p>
+This instruction assigns a class literal to a variable and then never uses it.
+<a href="//java.sun.com/j2se/1.5.0/compatibility.html#literal">The behavior of this differs in Java 1.4 and in Java 5.</a>
+In Java 1.4 and earlier, a reference to <code>Foo.class</code> would force the static initializer
+for <code>Foo</code> to be executed, if it has not been executed already.
+In Java 5 and later, it does not.
+</p>
+<p>See Sun's <a href="//java.sun.com/j2se/1.5.0/compatibility.html#literal">article on Java SE compatibility</a>
+for more details and examples, and suggestions on how to force class initialization in Java 5.
+</p>
+
+    
+<h3><a name="DLS_OVERWRITTEN_INCREMENT">DLS: Incrémentation annulée (DLS_OVERWRITTEN_INCREMENT)</a></h3>
+
+
+<p>Ce code incrémente une valeur (ex., <code>i++</code>) et en annule immédiatement l'effet. Par exemple, <code>i = i++</code> réécrit de façon immédiate la valeur incrémentée avec la valeur originale.</p>
+
+  
+<h3><a name="DMI_ARGUMENTS_WRONG_ORDER">DMI: Reversed method arguments (DMI_ARGUMENTS_WRONG_ORDER)</a></h3>
+
+
+<p> The arguments to this method call seem to be in the wrong order.
+For example, a call <code>Preconditions.checkNotNull("message", message)</code>
+has reserved arguments: the value to be checked is the first argument.
+</p>
+
+    
+<h3><a name="DMI_BAD_MONTH">DMI: Valeur constante pour un mois en dehors de l'intervalle attendu de 0 à 11 (DMI_BAD_MONTH)</a></h3>
+
+
+<p>Ce code passe une constante mois en dehors de l'intervalle de 0 à 11.</p>
+
+  
+<h3><a name="DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE">DMI: BigDecimal constructed from double that isn't represented precisely (DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE)</a></h3>
+
+      
+    <p>
+This code creates a BigDecimal from a double value that doesn't translate well to a
+decimal number.
+For example, one might assume that writing new BigDecimal(0.1) in Java creates a BigDecimal which is exactly equal to 0.1 (an unscaled value of 1, with a scale of 1), but it is actually equal to 0.1000000000000000055511151231257827021181583404541015625.
+You probably want to use the BigDecimal.valueOf(double d) method, which uses the String representation
+of the double to create the BigDecimal (e.g., BigDecimal.valueOf(0.1) gives 0.1).
+</p>
+
+
+    
+<h3><a name="DMI_CALLING_NEXT_FROM_HASNEXT">DMI: Méthode hasNext() appelant next() (DMI_CALLING_NEXT_FROM_HASNEXT)</a></h3>
+
+
+<p>La méthode <code>hasNext()</code> appelle la méthode <code>next()</code>. C'est très probablement faux puisque la méthode <code>hasNext()</code> n'est pas changer l'état de l'itérateur tandis que la méthode <code>next()</code> doit changer cet état.</p>
+
+  
+<h3><a name="DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES">DMI: Collections should not contain themselves (DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES)</a></h3>
+
+     
+     <p> This call to a generic collection's method would only make sense if a collection contained
+itself (e.g., if <code>s.contains(s)</code> were true). This is unlikely to be true and would cause
+problems if it were true (such as the computation of the hash code resulting in infinite recursion).
+It is likely that the wrong value is being passed as a parameter.
+    </p>
+     
+    
+<h3><a name="DMI_DOH">DMI: D'oh! A nonsensical method invocation (DMI_DOH)</a></h3>
+
+      
+    <p>
+This partical method invocation doesn't make sense, for reasons that should be apparent from inspection.
+</p>
+
+
+    
+<h3><a name="DMI_INVOKING_HASHCODE_ON_ARRAY">DMI: Invocation of hashCode on an array (DMI_INVOKING_HASHCODE_ON_ARRAY)</a></h3>
+
+
+<p>
+The code invokes hashCode on an array. Calling hashCode on
+an array returns the same value as System.identityHashCode, and ingores
+the contents and length of the array. If you need a hashCode that
+depends on the contents of an array <code>a</code>,
+use <code>java.util.Arrays.hashCode(a)</code>.
+
+</p>
+
+    
+<h3><a name="DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT">DMI: Double.longBitsToDouble invoked on an int (DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT)</a></h3>
+
+
+<p> The Double.longBitsToDouble method is invoked, but a 32 bit int value is passed
+    as an argument. This almostly certainly is not intended and is unlikely
+    to give the intended result.
+</p>
+
+    
+<h3><a name="DMI_VACUOUS_SELF_COLLECTION_CALL">DMI: Vacuous call to collections (DMI_VACUOUS_SELF_COLLECTION_CALL)</a></h3>
+
+     
+     <p> This call doesn't make sense. For any collection <code>c</code>, calling <code>c.containsAll(c)</code> should
+always be true, and <code>c.retainAll(c)</code> should have no effect.
+    </p>
+     
+    
+<h3><a name="DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION">Dm: La réflexion ne peut pas être utilisée pour vérifier la présence d'une annotation avec la rétention par défaut (DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION)</a></h3>
+
+
+<p>A moins qu'une annotation ait elle même été annotée avec une <code>@Retention</code> différente de la rétention "source uniquement" par défaut, l'annotation n'est pas conservée dans le fichier .class et ne peut pas être utilisée par réflexion (par exemple avec la méthode <code>isAnnotationPresent()</code>).</p>
+
+  
+<h3><a name="DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR">Dm: Futile attempt to change max pool size of ScheduledThreadPoolExecutor (DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR)</a></h3>
+
+      
+    <p>(<a href="http://java.sun.com/javase/6/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html">Javadoc</a>)
+While ScheduledThreadPoolExecutor inherits from ThreadPoolExecutor, a few of the inherited tuning methods are not useful for it. In particular, because it acts as a fixed-sized pool using corePoolSize threads and an unbounded queue, adjustments to maximumPoolSize have no useful effect.
+    </p>
+
+
+    
+<h3><a name="DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS">Dm: Creation of ScheduledThreadPoolExecutor with zero core threads (DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS)</a></h3>
+
+      
+    <p>(<a href="http://java.sun.com/javase/6/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html#ScheduledThreadPoolExecutor(int)">Javadoc</a>)
+A ScheduledThreadPoolExecutor with zero core threads will never execute anything; changes to the max pool size are ignored.
+</p>
+
+
+    
+<h3><a name="DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD">Dm: Useless/vacuous call to EasyMock method (DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD)</a></h3>
+
+      
+    <p>This call doesn't pass any objects to the EasyMock method, so the call doesn't do anything.
+</p>
+
+
+    
+<h3><a name="EC_ARRAY_AND_NONARRAY">EC: Utilisation de equals() pour comparer un tableau et un objet (EC_ARRAY_AND_NONARRAY)</a></h3>
+
+
+<p>Cette méthode appelle <code>equals(Object o)</code> pour comparer un tableau et une référence qui ne semble pas être un tableau. Si les choses comparées sont de type différents, il est garanti qu'elles seront non égales et la comparaison est probablement une erreur. Même si les deux sont des tableaux, la méthode <code>equals()</code> détermine seulement si les deux tableaux sont le même objet. Pour comparer le contenu de deux tableaux, utilisez <code>java.util.Arrays.equals(Object[], Object[])</code>.</p>
+
+  
+<h3><a name="EC_BAD_ARRAY_COMPARE">EC: Appel à equals() sur un tableau équivalent à == (EC_BAD_ARRAY_COMPARE)</a></h3>
+
+
+<p>Cette méthode invoque la méthode <code>equals(Object o)</code> d'un tableau. Comme les tableaux ne surchargent pas la méthode <code>equals()</code> de <code>Object</code>, cet appel revient à comparer les adresses. Pour comparer les contenus de tableaux, utilisez <code>java.util.Arrays.equals(Object[], Object[])</code>.</p>
+
+  
+<h3><a name="EC_INCOMPATIBLE_ARRAY_COMPARE">EC: equals(...) used to compare incompatible arrays (EC_INCOMPATIBLE_ARRAY_COMPARE)</a></h3>
+
+
+<p>
+This method invokes the .equals(Object o) to compare two arrays, but the arrays of
+of incompatible types (e.g., String[] and StringBuffer[], or String[] and int[]).
+They will never be equal. In addition, when equals(...) is used to compare arrays it
+only checks to see if they are the same array, and ignores the contents of the arrays.
+</p>
+
+    
+<h3><a name="EC_NULL_ARG">EC: Appel de equals() avec un argument à null (EC_NULL_ARG)</a></h3>
+
+
+<p>Cette méthode appelle <code>equals(Object)</code>, passant une valeur à <code>null</code> comme argument. D'après le contrat de la méthode <code>equals()</code>, cet appel devrait systématiquement renvoyer <code>false</code>.</p>
+
+  
+<h3><a name="EC_UNRELATED_CLASS_AND_INTERFACE">EC: Appel de equals() comparant une classe et une interface sans relation (EC_UNRELATED_CLASS_AND_INTERFACE)</a></h3>
+
+
+<p>Cette méthode appelle <code>equals(Object)</code> sur deux références, l'une de classe, l'autre d'interface, alors que ni la classe, ni aucune de ses sous classes abstraites n'implémente l'interface. Les objets comparés ne font donc probablement pas partie de la même hiérarchie de classe à l'exécution (à moins que certaines classes de l'application n'est pas été analysées ou soient chargées dynamiquement à l'exécution). En accord avec le contrat de <code>equals()</code>, des objets de classes différentes doivent toujours être non égaux, donc le résultat de cette comparaison par <code>java.lang.Object.equals(Object)</code> renverra systèmatiquement <code>false</code> à l'exécution.</p>
+
+  
+<h3><a name="EC_UNRELATED_INTERFACES">EC: Appel de equals() comparant différentes interfaces (EC_UNRELATED_INTERFACES)</a></h3>
+
+
+<p>Cette méthode appelle <code>equals(Object)</code> pour deux références d'interfaces sans rapport, aucune n'étant un sous-type de l'autre et aucune classe non abstraite implémentant les deux interfaces. Les objets comparés ne sont donc probablement pas de la même classe à l'éxécution (au moins que certaines classes de l'application n'aient pas été analysées ou qu'il y ait des chargements dynamiques). D'après le contrat de <code>equals()</code>, les objets de classes différentes devraient toujours être inégaux.</p>
+
+  
+<h3><a name="EC_UNRELATED_TYPES">EC: Appel de equals() comparant des types différents (EC_UNRELATED_TYPES)</a></h3>
+
+
+<p>Cette méthode appelle <code>equals(Object)</code> pour deux références de type différents, sans sous-classe commune. Les objets comparés ne sont donc probablement pas de la même classe à l'éxécution (au moins que certaines classes de l'application n'aient pas été analysées ou qu'il y ait des chargements dynamiques). D'après le contrat de <code>equals()</code>, les objets de classes différentes devraient toujours être inégaux, c'est pourquoi la comparaison a de fortes chances de toujours renvoyer <code>false</code> à l'exécution.</p>
+
+  
+<h3><a name="EC_UNRELATED_TYPES_USING_POINTER_EQUALITY">EC: Using pointer equality to compare different types (EC_UNRELATED_TYPES_USING_POINTER_EQUALITY)</a></h3>
+
+
+<p> This method uses using pointer equality to compare two references that seem to be of
+different types.  The result of this comparison will always be false at runtime.
+</p>
+
+    
+<h3><a name="EQ_ALWAYS_FALSE">Eq: equals method always returns false (EQ_ALWAYS_FALSE)</a></h3>
+
+
+  <p> This class defines an equals method that always returns false. This means that an object is not equal to itself, and it is impossible to create useful Maps or Sets of this class. More fundamentally, it means
+that equals is not reflexive, one of the requirements of the equals method.</p>
+<p>The likely intended semantics are object identity: that an object is equal to itself. This is the behavior inherited from class <code>Object</code>. If you need to override an equals inherited from a different
+superclass, you can use use:</p>
+<pre>
+public boolean equals(Object o) { return this == o; }
+</pre>
+
+    
+<h3><a name="EQ_ALWAYS_TRUE">Eq: equals method always returns true (EQ_ALWAYS_TRUE)</a></h3>
+
+
+  <p> This class defines an equals method that always returns true. This is imaginative, but not very smart.
+Plus, it means that the equals method is not symmetric.
+</p>
+
+    
+<h3><a name="EQ_COMPARING_CLASS_NAMES">Eq: equals method compares class names rather than class objects (EQ_COMPARING_CLASS_NAMES)</a></h3>
+
+
+  <p> This method checks to see if two objects are the same class by checking to see if the names
+of their classes are equal. You can have different classes with the same name if they are loaded by
+different class loaders. Just check to see if the class objects are the same.
+</p>
+
+    
+<h3><a name="EQ_DONT_DEFINE_EQUALS_FOR_ENUM">Eq: Covariant equals() method defined for enum (EQ_DONT_DEFINE_EQUALS_FOR_ENUM)</a></h3>
+
+
+  <p> This class defines an enumeration, and equality on enumerations are defined
+using object identity. Defining a covariant equals method for an enumeration
+value is exceptionally bad practice, since it would likely result
+in having two different enumeration values that compare as equals using
+the covariant enum method, and as not equal when compared normally.
+Don't do it.
+</p>
+
+    
+<h3><a name="EQ_OTHER_NO_OBJECT">Eq: equals() method defined that doesn't override equals(Object) (EQ_OTHER_NO_OBJECT)</a></h3>
+
+
+  <p> This class defines an <code>equals()</code>
+  method, that doesn't override the normal <code>equals(Object)</code> method
+  defined in the base <code>java.lang.Object</code> class.&nbsp; Instead, it
+  inherits an <code>equals(Object)</code> method from a superclass.
+  The class should probably define a <code>boolean equals(Object)</code> method.
+  </p>
+
+    
+<h3><a name="EQ_OTHER_USE_OBJECT">Eq: equals() method defined that doesn't override Object.equals(Object) (EQ_OTHER_USE_OBJECT)</a></h3>
+
+
+  <p> This class defines an <code>equals()</code>
+  method, that doesn't override the normal <code>equals(Object)</code> method
+  defined in the base <code>java.lang.Object</code> class.&nbsp;
+  The class should probably define a <code>boolean equals(Object)</code> method.
+  </p>
+
+    
+<h3><a name="EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC">Eq: equals method overrides equals in superclass and may not be symmetric (EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC)</a></h3>
+
+
+  <p> This class defines an equals method that overrides an equals method in a superclass. Both equals methods
+methods use <code>instanceof</code> in the determination of whether two objects are equal. This is fraught with peril,
+since it is important that the equals method is symmetrical (in other words, <code>a.equals(b) == b.equals(a)</code>).
+If B is a subtype of A, and A's equals method checks that the argument is an instanceof A, and B's equals method
+checks that the argument is an instanceof B, it is quite likely that the equivalence relation defined by these
+methods is not symmetric.
+</p>
+
+    
+<h3><a name="EQ_SELF_USE_OBJECT">Eq: Définition d'une méthode equals() covariante, Object.equals(Object) est hérité (EQ_SELF_USE_OBJECT)</a></h3>
+
+
+<p>Cette classe définit une version covariante de la méthode <code>equals()</code>, mais appelle la méthode normale <code>equals(Object)</code> définie dans la classe de base <code>java.lang.Object</code>. La classe devrait probablement définir une version non covariante de <code>equals()</code>. (C'est-à-dire une méthode avec la signature <code>boolean equals(java.lang.Object)</code>.</p>
+
+  
+<h3><a name="FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER">FE: Test d'égalité avec NaN erroné (FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER)</a></h3>
+
+
+<p>Ce code vérifie si une valeur flottante est égale à la valeur spéciale "Not A Number" (Ex. : <code>if (x == Double.NaN)</code>). La sémantique de <code>NaN</code> fait que, par définition, aucune valeur n'est égale à <code>Nan</code>, y compris <code>NaN</code>. Donc <code>x == Double.NaN</code> renvoi systématiquement <code>false</code>.</p>
+<p>Pour savoir si la valeur contenu dans <code>x</code> est la valeur particulière "Not A Number", utilisez <code>Double.isNaN(x)</code> (ou <code>Float.isNaN(x)</code> si <code>x</code> est en simple précision).</p>
+
+  
+<h3><a name="VA_FORMAT_STRING_BAD_ARGUMENT">FS: Format string placeholder incompatible with passed argument (VA_FORMAT_STRING_BAD_ARGUMENT)</a></h3>
+
+
+<p>
+The format string placeholder is incompatible with the corresponding
+argument. For example,
+<code>
+  System.out.println("%d\n", "hello");
+</code>
+<p>The %d placeholder requires a numeric argument, but a string value is
+passed instead.
+A runtime exception will occur when
+this statement is executed.
+</p>
+
+     
+<h3><a name="VA_FORMAT_STRING_BAD_CONVERSION">FS: The type of a supplied argument doesn't match format specifier (VA_FORMAT_STRING_BAD_CONVERSION)</a></h3>
+
+
+<p>
+One of the arguments is uncompatible with the corresponding format string specifier.
+As a result, this will generate a runtime exception when executed.
+For example, <code>String.format("%d", "1")</code> will generate an exception, since
+the String "1" is incompatible with the format specifier %d.
+</p>
+
+     
+<h3><a name="VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED">FS: MessageFormat supplied where printf style format expected (VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED)</a></h3>
+
+
+<p>
+A method is called that expects a Java printf format string and a list of arguments.
+However, the format string doesn't contain any format specifiers (e.g., %s) but
+does contain message format elements (e.g., {0}).  It is likely
+that the code is supplying a MessageFormat string when a printf-style format string
+is required. At runtime, all of the arguments will be ignored
+and the format string will be returned exactly as provided without any formatting.
+</p>
+
+     
+<h3><a name="VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED">FS: More arguments are passed than are actually used in the format string (VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED)</a></h3>
+
+
+<p>
+A format-string method with a variable number of arguments is called,
+but more arguments are passed than are actually used by the format string.
+This won't cause a runtime exception, but the code may be silently omitting
+information that was intended to be included in the formatted string.
+</p>
+
+     
+<h3><a name="VA_FORMAT_STRING_ILLEGAL">FS: Illegal format string (VA_FORMAT_STRING_ILLEGAL)</a></h3>
+
+
+<p>
+The format string is syntactically invalid,
+and a runtime exception will occur when
+this statement is executed.
+</p>
+
+     
+<h3><a name="VA_FORMAT_STRING_MISSING_ARGUMENT">FS: Format string references missing argument (VA_FORMAT_STRING_MISSING_ARGUMENT)</a></h3>
+
+
+<p>
+Not enough arguments are passed to satisfy a placeholder in the format string.
+A runtime exception will occur when
+this statement is executed.
+</p>
+
+     
+<h3><a name="VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT">FS: No previous argument for format string (VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT)</a></h3>
+
+
+<p>
+The format string specifies a relative index to request that the argument for the previous format specifier
+be reused. However, there is no previous argument.
+For example,
+</p>
+<p><code>formatter.format("%&lt;s %s", "a", "b")</code>
+</p>
+<p>would throw a MissingFormatArgumentException when executed.
+</p>
+
+     
+<h3><a name="GC_UNRELATED_TYPES">GC: No relationship between generic parameter and method argument (GC_UNRELATED_TYPES)</a></h3>
+
+     
+     <p> This call to a generic collection method contains an argument
+     with an incompatible class from that of the collection's parameter
+    (i.e., the type of the argument is neither a supertype nor a subtype
+        of the corresponding generic type argument).
+     Therefore, it is unlikely that the collection contains any objects
+    that are equal to the method argument used here.
+    Most likely, the wrong value is being passed to the method.</p>
+    <p>In general, instances of two unrelated classes are not equal.
+    For example, if the <code>Foo</code> and <code>Bar</code> classes
+    are not related by subtyping, then an instance of <code>Foo</code>
+        should not be equal to an instance of <code>Bar</code>.
+    Among other issues, doing so will likely result in an equals method
+    that is not symmetrical. For example, if you define the <code>Foo</code> class
+    so that a <code>Foo</code> can be equal to a <code>String</code>,
+    your equals method isn't symmetrical since a <code>String</code> can only be equal
+    to a <code>String</code>.
+    </p>
+    <p>In rare cases, people do define nonsymmetrical equals methods and still manage to make
+    their code work. Although none of the APIs document or guarantee it, it is typically
+    the case that if you check if a <code>Collection&lt;String&gt;</code> contains
+    a <code>Foo</code>, the equals method of argument (e.g., the equals method of the
+    <code>Foo</code> class) used to perform the equality checks.
+    </p>
+     
+    
+<h3><a name="HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS">HE: Signature declares use of unhashable class in hashed construct (HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS)</a></h3>
+
+
+  <p> A method, field or class declares a generic signature where a non-hashable class
+is used in context where a hashable class is required.
+A class that declares an equals method but inherits a hashCode() method
+from Object is unhashable, since it doesn't fulfill the requirement that
+equal objects have equal hashCodes.
+</p>
+
+    
+<h3><a name="HE_USE_OF_UNHASHABLE_CLASS">HE: Use of class without a hashCode() method in a hashed data structure (HE_USE_OF_UNHASHABLE_CLASS)</a></h3>
+
+
+  <p> A class defines an equals(Object)  method but not a hashCode() method,
+and thus doesn't fulfill the requirement that equal objects have equal hashCodes.
+An instance of this class is used in a hash data structure, making the need to
+fix this problem of highest importance.
+
+    
+<h3><a name="ICAST_INT_2_LONG_AS_INSTANT">ICAST: int value converted to long and used as absolute time (ICAST_INT_2_LONG_AS_INSTANT)</a></h3>
+
+
+<p>
+This code converts a 32-bit int value to a 64-bit long value, and then
+passes that value for a method parameter that requires an absolute time value.
+An absolute time value is the number
+of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT.
+For example, the following method, intended to convert seconds since the epoc into a Date, is badly
+broken:</p>
+<pre>
+Date getDate(int seconds) { return new Date(seconds * 1000); }
+</pre>
+<p>The multiplication is done using 32-bit arithmetic, and then converted to a 64-bit value.
+When a 32-bit value is converted to 64-bits and used to express an absolute time
+value, only dates in December 1969 and January 1970 can be represented.</p>
+
+<p>Correct implementations for the above method are:</p>
+
+<pre>
+// Fails for dates after 2037
+Date getDate(int seconds) { return new Date(seconds * 1000L); }
+
+// better, works for all dates
+Date getDate(long seconds) { return new Date(seconds * 1000); }
+</pre>
+
+    
+<h3><a name="ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL">ICAST: Valeur entière transtypée en nombre flottant passée à Math.ceil (ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL)</a></h3>
+
+
+<p>Ce code convertit une valeur entière en nombre flottant à double précision et passe le résultat à la méthode <code>Math.ceil()</code>, qui arrondit un nombre flottant à sa valeur entière immédiatement supérieure. Cette opération n'a pas de raison d'être, puisque le transtypage d'un entier en double donne un nombre sans valeur après la virgule. Il est vraissemblable que l'opération qui a créé la valeur pour la passer à <code>Math.ceil</code> visait l'utilisation de l'arithmétique sur un nombre flottant en double précision.</p>
+
+  
+<h3><a name="ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND">ICAST: Valeur entière transtypée en flottant puis transmise à Math.round (ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND)</a></h3>
+
+
+<p>Ce code converti une valeur entière en flottant simple précision puis la passe à la méthode <code>Math.round()</code> qui renvoi l'<code>int</code> ou le <code>long</code> le plus proche de son paramètre. Cette opération doit toujours revenir à ne rien faire, puisque le transtypage d'un entier en un flottant devrait systématiquement donner un flottant sans partie décimale. Il est probable que l'opération gérant la valeur passée à <code>Math.round()</code> devrait être effectuée en arithmétique flottante.</p>
+
+  
+<h3><a name="IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD">IJU: JUnit assertion in run method will not be noticed by JUnit (IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD)</a></h3>
+
+
+<p> A JUnit assertion is performed in a run method. Failed JUnit assertions
+just result in exceptions being thrown.
+Thus, if this exception occurs in a thread other than the thread that invokes
+the test method, the exception will terminate the thread but not result
+in the test failing.
+</p>
+
+    
+<h3><a name="IJU_BAD_SUITE_METHOD">IJU: TestCase declares a bad suite method  (IJU_BAD_SUITE_METHOD)</a></h3>
+
+
+<p> Class is a JUnit TestCase and defines a suite() method.
+However, the suite method needs to be declared as either</p>
+<pre>public static junit.framework.Test suite()</pre>
+or
+<pre>public static junit.framework.TestSuite suite()</pre>
+
+    
+<h3><a name="IJU_NO_TESTS">IJU: TestCase sans tests (IJU_NO_TESTS)</a></h3>
+
+
+<p>La classe JUnit <code>TestCase</code> n'implémente aucune méthode de test.</p>
+
+  
+<h3><a name="IJU_SETUP_NO_SUPER">IJU: Une classe dérivant de TestCase implémente setUp() sans appeler super.setUp() (IJU_SETUP_NO_SUPER)</a></h3>
+
+
+<p>La classe dérive de la classe <code>TestCase</code> de JUnit est implémente la méthode <code>setUp()</code>. La méthode <code>setUp()</code> devrait appeler <code>super.setUp()</code>, mais ne le fait pas.</p>
+
+  
+<h3><a name="IJU_SUITE_NOT_STATIC">IJU: Une classe dérivant de TestCase implémente une méthode suite() non statique (IJU_SUITE_NOT_STATIC)</a></h3>
+
+
+<p>La classe dérive de <code>TestCase</code> de JUnit et implémente une méthode <code>suite()</code>. La méthode <code>suite()</code> devrait-être déclarée comme étant <code>static</code>, ce qui n'est pas fait.</p>
+
+  
+<h3><a name="IJU_TEARDOWN_NO_SUPER">IJU: Une classe dérivant de TestCase implémente tearDown() sans appeler super.tearDown() (IJU_TEARDOWN_NO_SUPER)</a></h3>
+
+
+<p>La classe dérive de la classe <code>TestCase</code> de JUnit et implémente la méthode <code>tearDown()</code>. La méthode <code>tearDown()</code> devrait appeler <code>super.tearDown()</code>, mais ne le fait pas.</p>
+
+  
+<h3><a name="IL_CONTAINER_ADDED_TO_ITSELF">IL: Un conteneur est ajouté à lui-même (IL_CONTAINER_ADDED_TO_ITSELF)</a></h3>
+
+
+<p>Un conteneur est ajouté à lui-même. Il en résulte que le calcul du code de hachage de cet ensemble provequera une <code>StackOverflowEception</code>.</p>
+
+  
+<h3><a name="IL_INFINITE_LOOP">IL: Boucle apparemment inifinie (IL_INFINITE_LOOP)</a></h3>
+
+
+<p>Cette boucle ne semble pas avoir un moyen de se terminer (autrement que, peut être, en déclenchant une exception).</p>
+
+  
+<h3><a name="IL_INFINITE_RECURSIVE_LOOP">IL: Boucle récursive infinie (IL_INFINITE_RECURSIVE_LOOP)</a></h3>
+
+
+<p>Cette méthode s'appelle elle-même sans condition. Cela semble indiquer une boucle récursive infinie qui se terminera sur un débordement de la pile.</p>
+
+  
+<h3><a name="IM_MULTIPLYING_RESULT_OF_IREM">IM: Multiplication d'un entier avec le résulat entier d'un modulo (IM_MULTIPLYING_RESULT_OF_IREM)</a></h3>
+
+
+<p>Ce code mutilplie le résultat d'un modulo avec une constante entière. Faîtes attention à la précédence des opérateurs. Par exemple, <code>i % 60 * 1000</code> correspond à <code>(i % 60) * 1000</code>, non à <code>i % (60 * 1000)</code>.</p>
+
+  
+<h3><a name="INT_BAD_COMPARISON_WITH_INT_VALUE">INT: Bad comparison of int value with long constant (INT_BAD_COMPARISON_WITH_INT_VALUE)</a></h3>
+
+
+<p> This code compares an int value with a long constant that is outside
+the range of values that can be represented as an int value.
+This comparison is vacuous and possibily to be incorrect.
+</p>
+
+    
+<h3><a name="INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE">INT: Bad comparison of nonnegative value with negative constant (INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE)</a></h3>
+
+
+<p> This code compares a value that is guaranteed to be non-negative with a negative constant.
+</p>
+
+    
+<h3><a name="INT_BAD_COMPARISON_WITH_SIGNED_BYTE">INT: Bad comparison of signed byte (INT_BAD_COMPARISON_WITH_SIGNED_BYTE)</a></h3>
+
+
+<p> Signed bytes can only have a value in the range -128 to 127. Comparing
+a signed byte with a value outside that range is vacuous and likely to be incorrect.
+To convert a signed byte <code>b</code> to an unsigned value in the range 0..255,
+use <code>0xff &amp; b</code>
+</p>
+
+    
+<h3><a name="IO_APPENDING_TO_OBJECT_OUTPUT_STREAM">IO: Doomed attempt to append to an object output stream (IO_APPENDING_TO_OBJECT_OUTPUT_STREAM)</a></h3>
+
+      
+      <p>
+     This code opens a file in append mode and then wraps the result in an object output stream.
+     This won't allow you to append to an existing object output stream stored in a file. If you want to be
+     able to append to an object output stream, you need to keep the object output stream open.
+      </p>
+      <p>The only situation in which opening a file in append mode and the writing an object output stream
+      could work is if on reading the file you plan to open it in random access mode and seek to the byte offset
+      where the append started.
+      </p>
+
+      <p>
+      TODO: example.
+      </p>
+      
+    
+<h3><a name="IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN">IP: Un paramètre est ré-écrit avant d'être utilisé (IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN)</a></h3>
+
+
+<p>La valeur initiale de ce paramètre est ignorée, et le paramètre est écrasé. Ceci indique généralement une erreur provenant de la croyance infondée qu'une écriture sur ce paramètre sera transmise à l'appelant.</p>
+
+  
+<h3><a name="MF_CLASS_MASKS_FIELD">MF: La classe définit un champ qui masque un champ d'une classe mère (MF_CLASS_MASKS_FIELD)</a></h3>
+
+
+<p>Cette classe définit un champ avec le même nom qu'un champ visible d'instance d'une classe mère. C'est ambigu et peut entraîner une erreur si des méthodes mettent à jour ou accèdent à un des champs alors qu'elles souhaitaient utiliser l'autre.</p>
+
+  
+<h3><a name="MF_METHOD_MASKS_FIELD">MF: La méthode définit une variable qui masque un champ (MF_METHOD_MASKS_FIELD)</a></h3>
+
+
+<p>Cette méthode définit une variable locale ayant le même nom qu'un champ de la classe ou d'une classe mère. Ceci peut pousser la méthode à lire une valeur non initialisée dans le champs, à le laisser non initialisé ou les deux.</p>
+
+  
+<h3><a name="NP_ALWAYS_NULL">NP: Déréférencement d'un pointeur null dans la méthode (NP_ALWAYS_NULL)</a></h3>
+
+
+<p>Un pointeur à <code>null</code> est déréférencé ici. Ceci va mener à une <code>NullPointerException</code> quand le code sera exécuté.</p>
+
+  
+<h3><a name="NP_ALWAYS_NULL_EXCEPTION">NP: Déréférencement d'un pointeur null dans le chemin d'exception d'une méthode (NP_ALWAYS_NULL_EXCEPTION)</a></h3>
+
+
+<p>Un pointeur à <code>null</code> dans le chemin d'exception est déréférencé ici. Cela va mener à une <code>NullPointerException</code> quand le code sera exécuté. Notez que puisque FindBugs ne détecte pas les chemins d'exception irréalisables, il est possible que cette alarme soit injustifiée.</p>
+<p>Notez aussi que FindBugs considère le choix par défaut d'un <code>switch</code> comme étant dans le chemin d'exception, puisque ce choix est souvent irréalisable.</p>
+
+  
+<h3><a name="NP_ARGUMENT_MIGHT_BE_NULL">NP: Méthode ne testant pas les paramètres à null (NP_ARGUMENT_MIGHT_BE_NULL)</a></h3>
+
+
+<p>Un paramètre de cette méthode a été identifié comme une valeur pouvant être à <code>null</code>, mais qui est déréférencée sans test de nullité.</p>
+
+  
+<h3><a name="NP_CLOSING_NULL">NP: close() invoked on a value that is always null (NP_CLOSING_NULL)</a></h3>
+
+
+<p> close() is being invoked on a value that is always null. If this statement is executed,
+a null pointer exception will occur. But the big risk here you never close
+something that should be closed.
+
+    
+<h3><a name="NP_GUARANTEED_DEREF">NP: Null déréférencé (NP_GUARANTEED_DEREF)</a></h3>
+
+
+<p>Cette méthode contient une valeur à <code>null</code> qui est déréférencée (sauf dans les chemins impliquant une RuntimeException).</p>
+
+  
+<h3><a name="NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH">NP: Value is null and guaranteed to be dereferenced on exception path (NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH)</a></h3>
+
+          
+              <p>
+              There is a statement or branch on an exception path
+                that if executed guarantees that
+              a value is null at this point, and that
+              value that is guaranteed to be dereferenced
+              (except on forward paths involving runtime exceptions).
+              </p>
+          
+      
+<h3><a name="NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP: Nonnull field is not initialized (NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR)</a></h3>
+
+       
+       <p> The field is marked as nonnull, but isn't written to by the constructor.
+    The field might be initialized elsewhere during constructor, or might always
+    be initialized before use.
+       </p>
+       
+       
+<h3><a name="NP_NONNULL_PARAM_VIOLATION">NP: Appel de méthode transmettant null à un paramètre déclaré @NonNull (NP_NONNULL_PARAM_VIOLATION)</a></h3>
+
+
+<p>Cette méthode passe une valeur à <code>null</code> en paramètre d'une méthode qui a déclaré ce paramètre comme <code>@NonNull</code>.</p>
+<p>Notez que la méthode avec l'annotation <code>@NonNull</code> peut être dans une sous-classe de l'objet appelé.</p>
+
+  
+<h3><a name="NP_NONNULL_RETURN_VIOLATION">NP: Méthode renvoyer null mais déclarée @NonNull (NP_NONNULL_RETURN_VIOLATION)</a></h3>
+
+
+<p>Cette méthode peut renvoyer une valeur à <code>null</code> alors que cette méthode (ou une méthode dérivée d'une de ses classes mère) est déclarée comme renvoyant <code>@NonNull</code>.</p>
+
+  
+<h3><a name="NP_NULL_INSTANCEOF">NP: A known null value is checked to see if it is an instance of a type (NP_NULL_INSTANCEOF)</a></h3>
+
+
+<p>
+This instanceof test will always return false, since the value being checked is guaranteed to be null.
+Although this is safe, make sure it isn't
+an indication of some misunderstanding or some other logic error.
+</p>
+
+    
+<h3><a name="NP_NULL_ON_SOME_PATH">NP: Possible déréférencement d'un pointeur null dans une méthode (NP_NULL_ON_SOME_PATH)</a></h3>
+
+
+<p>Une valeur par référence déréférencée ici peut-être à <code>null</code> à l'exécution. Cela peut conduire à une <code>NullPointerException</code> quand le code est exécuté.</p>
+
+  
+<h3><a name="NP_NULL_ON_SOME_PATH_EXCEPTION">NP: Possible déréférencement d'un pointeur null dans le chemin d'exception d'une méthode (NP_NULL_ON_SOME_PATH_EXCEPTION)</a></h3>
+
+
+<p>Une valeur par référence qui est à <code>null</code> dans un des chemins d'exception est déréférencée ici. Ceci peut conduire à une <code>NullPointerException</code> à l'exécution du code. Notez que comme FindBugs ne repère pas les chemins d'exception irréalisables, il est possible que cette alarme soit injustifiée.</p>
+<p>Notez également que FindBugs considère le cas par défaut d'un <code>switch</code> comme faisant partie du chemin d'exception puisque ce cas est souvent inattendu.</p>
+
+  
+<h3><a name="NP_NULL_PARAM_DEREF">NP: Méthode passant null à un paramètre déréférencé inconditionnellement (NP_NULL_PARAM_DEREF)</a></h3>
+
+
+<p>Cet appel de méthode envoie <code>null</code> à une méthode qui peut déréférencer ce paramètre de façon inconditionnelle.</p>
+
+  
+<h3><a name="NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS">NP: Appel de méthode passant null à un paramètre déréférencé inconditionnellement (NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS)</a></h3>
+
+
+<p>Une valeur pouvant être à <code>null</code> est passée lors d'un appel alors que toutes les méthodes cibles possibles le déréférence inconditionnellement. Cela a de fortes chances de provoquer une <code>NullPointerException</code>.</p>
+
+  
+<h3><a name="NP_NULL_PARAM_DEREF_NONVIRTUAL">NP: Appel à une méthode non virtuelle passant null à un paramètre déréférencé de façon inconditionnelle (NP_NULL_PARAM_DEREF_NONVIRTUAL)</a></h3>
+
+
+<p>Une valeur pouvant être à <code>null</code> est passée à une méthode qui déréférence ce paramètre de façon inconditionnelle. Cela peut se terminer en <code>NullPointerException</code>.</p>
+
+  
+<h3><a name="NP_OPTIONAL_RETURN_NULL">NP: Method with Optional return type returns explicit null (NP_OPTIONAL_RETURN_NULL)</a></h3>
+
+       
+       <p>
+    The usage of Optional return type always mean that explicit null returns were not desired by design.
+    Returning a null value in such case is a contract violation and will most likely break clients code.
+       </p>
+       
+       
+<h3><a name="NP_STORE_INTO_NONNULL_FIELD">NP: Stocke une valeur null dans un champ annoté NonNull (NP_STORE_INTO_NONNULL_FIELD)</a></h3>
+
+
+<p>Une valeur qui pourrait être à <code>null</code> est stockée dans un champ qui a été annoté comme <code>NonNull</code>.</p>
+
+  
+<h3><a name="NP_UNWRITTEN_FIELD">NP: Lecture d'un champ jamais écrit (NP_UNWRITTEN_FIELD)</a></h3>
+
+
+<p>Le programme déréférence un champ qui ne semble jamais alimenté par une valeur non nulle. Déréférencer cette valeur provoquera une <code>NullPointerException</code>.</p>
+
+  
+<h3><a name="NM_BAD_EQUAL">Nm: La classe définit equal() ; ne devrait-ce pas être equals() ? (NM_BAD_EQUAL)</a></h3>
+
+
+<p>Cette classe définit une méthode <code>equal(Object)</code>. Cette méthode ne surcharge pas la méthode <code>equals(Object)</code> de <code>java.lang.Object</code>, surchage qui était pourtant sans doute le but visé.</p>
+
+  
+<h3><a name="NM_LCASE_HASHCODE">Nm: La classe définit hashcode() ; ne devrait-ce pas être hashCode() ? (NM_LCASE_HASHCODE)</a></h3>
+
+
+<p>Cette classe définit une méthode nommée <code>hashcode()</code>. Cette méthode ne surcharge pas la méthode <code>hashCode()</code> de <code>java.lang.Object</code>, surchage qui était pourtant sans doute le but visé.</p>
+
+  
+<h3><a name="NM_LCASE_TOSTRING">Nm: La classe définit tostring() ; ne devrait-ce pas être toString() ? (NM_LCASE_TOSTRING)</a></h3>
+
+
+<p>Cette classe définit une méthode appelée <code>tostring()</code>. Cette méthode ne surcharge pas la méthode <code>toString()</code> de <code>java.lang.Object</code>, surchage qui était pourtant sans doute le but visé.</p>
+
+  
+<h3><a name="NM_METHOD_CONSTRUCTOR_CONFUSION">Nm: Confusion apparente entre une méthode et un constructeur (NM_METHOD_CONSTRUCTOR_CONFUSION)</a></h3>
+
+
+<p>Cette méthode a le même nom que la classe dans laquelle elle est déclarée. Il est probable qu'elle devait être un constructeur.
+Si c'est bien le cas, retirez la déclaration d'une valeur de retour.</p>
+
+  
+<h3><a name="NM_VERY_CONFUSING">Nm: Noms de méthodes très ambigus (NM_VERY_CONFUSING)</a></h3>
+
+
+<p>Les méthodes indiquées ont des noms qui ne diffèrent que par les majuscules. C'est d'autant plus ambigu que les classes comportant ces méthodes sont liées par héritage.</p>
+
+  
+<h3><a name="NM_WRONG_PACKAGE">Nm: Method doesn't override method in superclass due to wrong package for parameter (NM_WRONG_PACKAGE)</a></h3>
+
+
+  <p> The method in the subclass doesn't override a similar method in a superclass because the type of a parameter doesn't exactly match
+the type of the corresponding parameter in the superclass. For example, if you have:</p>
+
+<blockquote>
+<pre>
+import alpha.Foo;
+public class A {
+  public int f(Foo x) { return 17; }
+}
+----
+import beta.Foo;
+public class B extends A {
+  public int f(Foo x) { return 42; }
+}
+</pre>
+</blockquote>
+
+<p>The <code>f(Foo)</code> method defined in class <code>B</code> doesn't
+override the
+<code>f(Foo)</code> method defined in class <code>A</code>, because the argument
+types are <code>Foo</code>'s from different packages.
+</p>
+
+    
+<h3><a name="QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT">QBA: Méthode assignant une valeur boléenne fixe dans une expression booléenne (QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT)</a></h3>
+
+
+<p>Cette méthode assigne une valeur booléenne fixe (<code>true</code> ou <code>false</code>) à une variable booléenne dans une expression <code>if</code> ou <code>while</code>. Il est probable que le but était d'effectuer une comparaison booléenne utilisant <code>==</code> et non pas une affectation avec <code>=</code>.</p>
+
+  
+<h3><a name="RC_REF_COMPARISON">RC: Comparaison de références suspecte (RC_REF_COMPARISON)</a></h3>
+
+
+<p>Cette méthode compare deux références avec l'opérateur <code>==</code> ou <code>!=</code>, alors que la façon correcte de comparer les instances de ce type est généralement d'utiliser la méthode <code>equals()</code>. Des exemples de classes qui ne doivent généralement pas être comparées par référence sont <code>java.lang.Integer</code>, <code>java.lang.Float</code>, etc...</p>
+
+  
+<h3><a name="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE">RCN: Test de nullité d'une valeur préalablement déréférencée (RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE)</a></h3>
+
+
+<p>Une valeur est testée ici pour savoir si elle est à <code>null</code> alors que cette valeur ne peut pas être à <code>null</code> puisqu'elle a été déréférencée et qu'une <code>NullPointerException</code> se serait alors produite à ce moment. Ce code est en contradiction avec le déréférencement préalable au sujet de la capacité de cette valeur d'être à <code>null</code>. Soit le test est redondant, soit le déréférencement préalable est erroné.</p>
+
+  
+<h3><a name="RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION">RE: Syntaxe d'expression régulière invalide (RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION)</a></h3>
+
+
+<p>Le code utilise une expression régulière qui est invalide selon la syntaxe des expressions régulières. Lors de l'exécution, une exception <code>PatternSyntaxException</code> sera lancée.</p>
+
+  
+<h3><a name="RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION">RE: File.separator used for regular expression (RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION)</a></h3>
+
+
+<p>
+The code here uses <code>File.separator</code>
+where a regular expression is required. This will fail on Windows
+platforms, where the <code>File.separator</code> is a backslash, which is interpreted in a
+regular expression as an escape character. Amoung other options, you can just use
+<code>File.separatorChar=='\\' ? "\\\\" : File.separator</code> instead of
+<code>File.separator</code>
+
+</p>
+
+    
+<h3><a name="RE_POSSIBLE_UNINTENDED_PATTERN">RE: "." utilisé dans une expression régulière (RE_POSSIBLE_UNINTENDED_PATTERN)</a></h3>
+
+
+<p>Une fonction <code>String</code> attendant une expression régulière reçoit "." en paramètre. Est-ce voulu ? Par exemple, <code>s.replaceAll(".", "/")</code> renverra une chaine dont <b>chaque</b> caractère aura été remplacé par le caractère '/'.</p>
+
+  
+<h3><a name="RV_01_TO_INT">RV: Les valeurs aléatoires entre 0 et 1 sont réduites à l'entier 0 (RV_01_TO_INT)</a></h3>
+
+
+<p>Une valeur aléatoire comprise entre 0 et 1 est réduite à la valeur entière 0. Vous souhaitez probablement multiplier cette valeur aléatoire par quelque chose avant de la réduire à un entier, ou utiliser la méthode <code>Random.nextInt(n)</code>.</p>
+
+  
+<h3><a name="RV_ABSOLUTE_VALUE_OF_HASHCODE">RV: Bad attempt to compute absolute value of signed 32-bit hashcode  (RV_ABSOLUTE_VALUE_OF_HASHCODE)</a></h3>
+
+
+<p> This code generates a hashcode and then computes
+the absolute value of that hashcode.  If the hashcode
+is <code>Integer.MIN_VALUE</code>, then the result will be negative as well (since
+<code>Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE</code>).
+</p>
+<p>One out of 2^32 strings have a hashCode of Integer.MIN_VALUE,
+including "polygenelubricants" "GydZG_" and ""DESIGNING WORKHOUSES".
+</p>
+
+    
+<h3><a name="RV_ABSOLUTE_VALUE_OF_RANDOM_INT">RV: Bad attempt to compute absolute value of signed random integer (RV_ABSOLUTE_VALUE_OF_RANDOM_INT)</a></h3>
+
+
+<p> This code generates a random signed integer and then computes
+the absolute value of that random integer.  If the number returned by the random number
+generator is <code>Integer.MIN_VALUE</code>, then the result will be negative as well (since
+<code>Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE</code>). (Same problem arised for long values as well).
+</p>
+
+    
+<h3><a name="RV_CHECK_COMPARETO_FOR_SPECIFIC_RETURN_VALUE">RV: Code checks for specific values returned by compareTo (RV_CHECK_COMPARETO_FOR_SPECIFIC_RETURN_VALUE)</a></h3>
+
+
+   <p> This code invoked a compareTo or compare method, and checks to see if the return value is a specific value,
+such as 1 or -1. When invoking these methods, you should only check the sign of the result, not for any specific
+non-zero value. While many or most compareTo and compare methods only return -1, 0 or 1, some of them
+will return other values.
+
+    
+<h3><a name="RV_EXCEPTION_NOT_THROWN">RV: Exception created and dropped rather than thrown (RV_EXCEPTION_NOT_THROWN)</a></h3>
+
+
+   <p> This code creates an exception (or error) object, but doesn't do anything with it. For example,
+something like </p>
+<blockquote>
+<pre>
+if (x &lt; 0)
+  new IllegalArgumentException("x must be nonnegative");
+</pre>
+</blockquote>
+<p>It was probably the intent of the programmer to throw the created exception:</p>
+<blockquote>
+<pre>
+if (x &lt; 0)
+  throw new IllegalArgumentException("x must be nonnegative");
+</pre>
+</blockquote>
+
+    
+<h3><a name="RV_RETURN_VALUE_IGNORED">RV: La méthode ignore une valeur de retour (RV_RETURN_VALUE_IGNORED)</a></h3>
+
+
+<p>La valeur renvoyée par cette méthode devrait-être vérifiée. Une cause habituelle de cette alarme est d'invoquer une méthode sur un objet constant en pensant que cela modifiera l'objet. Par exemple :</p>
+<blockquote>
+<pre>
+String dateString = getHeaderField(name);
+dateString.trim();
+</pre>
+</blockquote>
+<p>Le programmeur semble croire que la méthode <code>trim()</code> mettra à jour l'objet <code>String</code> référencé par <code>dateString</code>. Mais, les objets <code>String</code> étant constants, la fonction renvoi une nouvelle valeur qui est ici ignorée. Le code devrait être corrigé en :</p>
+<blockquote>
+<pre>
+String dateString = getHeaderField(name);
+dateString = dateString.trim();
+</pre>
+</blockquote>
+
+  
+<h3><a name="RpC_REPEATED_CONDITIONAL_TEST">RpC: Repeated conditional tests (RpC_REPEATED_CONDITIONAL_TEST)</a></h3>
+
+
+<p>The code contains a conditional test is performed twice, one right after the other
+(e.g., <code>x == 0 || x == 0</code>). Perhaps the second occurrence is intended to be something else
+(e.g., <code>x == 0 || y == 0</code>).
+</p>
+
+    
+<h3><a name="SA_FIELD_SELF_ASSIGNMENT">SA: Auto-alimentation d'un champs (SA_FIELD_SELF_ASSIGNMENT)</a></h3>
+
+
+<p>Cette méthode contient un champ s'auto-alimentant; par exemple :</p>
+<pre>
+int x;
+public void foo() {
+  x = x;
+}
+</pre>
+<p>De telles affectations sont inutiles et peuvent indiquer une faute de frappe ou une erreur logique.</p>
+
+  
+<h3><a name="SA_FIELD_SELF_COMPARISON">SA: Self comparison of field with itself (SA_FIELD_SELF_COMPARISON)</a></h3>
+
+
+<p> This method compares a field with itself, and may indicate a typo or
+a logic error.  Make sure that you are comparing the right things.
+</p>
+
+    
+<h3><a name="SA_FIELD_SELF_COMPUTATION">SA: Nonsensical self computation involving a field (e.g., x & x) (SA_FIELD_SELF_COMPUTATION)</a></h3>
+
+
+<p> This method performs a nonsensical computation of a field with another
+reference to the same field (e.g., x&x or x-x). Because of the nature
+of the computation, this operation doesn't seem to make sense,
+and may indicate a typo or
+a logic error.  Double check the computation.
+</p>
+
+    
+<h3><a name="SA_LOCAL_SELF_ASSIGNMENT_INSTEAD_OF_FIELD">SA: Self assignment of local rather than assignment to field (SA_LOCAL_SELF_ASSIGNMENT_INSTEAD_OF_FIELD)</a></h3>
+
+
+<p> This method contains a self assignment of a local variable, and there
+is a field with an identical name.
+assignment appears to have been ; e.g.</p>
+<pre>
+  int foo;
+  public void setFoo(int foo) {
+    foo = foo;
+  }
+</pre>
+<p>The assignment is useless. Did you mean to assign to the field instead?</p>
+
+    
+<h3><a name="SA_LOCAL_SELF_COMPARISON">SA: Self comparison of value with itself (SA_LOCAL_SELF_COMPARISON)</a></h3>
+
+
+<p> This method compares a local variable with itself, and may indicate a typo or
+a logic error.  Make sure that you are comparing the right things.
+</p>
+
+    
+<h3><a name="SA_LOCAL_SELF_COMPUTATION">SA: Nonsensical self computation involving a variable (e.g., x & x) (SA_LOCAL_SELF_COMPUTATION)</a></h3>
+
+
+<p> This method performs a nonsensical computation of a local variable with another
+reference to the same variable (e.g., x&x or x-x). Because of the nature
+of the computation, this operation doesn't seem to make sense,
+and may indicate a typo or
+a logic error.  Double check the computation.
+</p>
+
+    
+<h3><a name="SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH">SF: Dead store due to switch statement fall through (SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH)</a></h3>
+
+
+  <p> A value stored in the previous switch case is overwritten here due to a switch fall through. It is likely that
+    you forgot to put a break or return at the end of the previous case.
+</p>
+
+    
+<h3><a name="SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW">SF: Dead store due to switch statement fall through to throw (SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW)</a></h3>
+
+
+  <p> A value stored in the previous switch case is ignored here due to a switch fall through to a place where
+    an exception is thrown. It is likely that
+    you forgot to put a break or return at the end of the previous case.
+</p>
+
+    
+<h3><a name="SIC_THREADLOCAL_DEADLY_EMBRACE">SIC: Deadly embrace of non-static inner class and thread local (SIC_THREADLOCAL_DEADLY_EMBRACE)</a></h3>
+
+
+  <p> This class is an inner class, but should probably be a static inner class.
+  As it is, there is a serious danger of a deadly embrace between the inner class
+  and the thread local in the outer class. Because the inner class isn't static,
+  it retains a reference to the outer class.
+  If the thread local contains a reference to an instance of the inner
+  class, the inner and outer instance will both be reachable
+  and not eligible for garbage collection.
+</p>
+
+    
+<h3><a name="SIO_SUPERFLUOUS_INSTANCEOF">SIO: Vérification de type inutile avec l'opérateur instanceof (SIO_SUPERFLUOUS_INSTANCEOF)</a></h3>
+
+
+<p>Vérification de type effectuée avec l'opérateur <code>instanceof</code> alors que cela pourrait-être déterminé statiquement.</p>
+
+  
+<h3><a name="SQL_BAD_PREPARED_STATEMENT_ACCESS">SQL: Méthode essayant au paramêtre d'indice 0 d'un PreparedStatement (SQL_BAD_PREPARED_STATEMENT_ACCESS)</a></h3>
+
+
+<p>Un appel  à une méthode <code>setXXX</code> d'un <code>PreparedStatement</code> est réalisé sur l'indice 0. Puisque les indices des paramêtres d'un <code>PreparedStatement</code> commencent à 1, c'est toujours une erreur.</p>
+
+  
+<h3><a name="SQL_BAD_RESULTSET_ACCESS">SQL: Méthode essayant d'accèder à un champ de ResultSet d'indice 0 (SQL_BAD_RESULTSET_ACCESS)</a></h3>
+
+
+<p>Un appel à une méthode <code>getXXX</code> ou <code>updateXXX</code> d'un <code>ResultSet</code> est réalisé pour l'indice 0. Puisque les indices de <code>ResultSet</code> commencent à 1, c'est toujours une erreur.</p>
+
+  
+<h3><a name="STI_INTERRUPTED_ON_CURRENTTHREAD">STI: Utilisation superflue d'un appel à currentThread() pour appeler interrupted() (STI_INTERRUPTED_ON_CURRENTTHREAD)</a></h3>
+
+
+<p>Cette méthode invoque <code>Thread.currentThread()</code> juste pour appeler la méthode <code>interrupted()</code>. Comme <code>interrupted()</code> est une méthode statique, il est plus simple et facile d'utiliser <code>Thread.interrupted()</code>.</p>
+
+  
+<h3><a name="STI_INTERRUPTED_ON_UNKNOWNTHREAD">STI: Thread.interrupted() appelée par erreur sur un objet Thread arbitraire (STI_INTERRUPTED_ON_UNKNOWNTHREAD)</a></h3>
+
+
+<p>Cette méthode invoque <code>Thread.interrupted()</code> sur un objet <code>Thread</code> qui n'est pas le thread actif. Pusique la méthode <code>interrupted()</code> est statique, la méthode <code>interrupted()</code> sera appelée sur un objet différent de celui auquel l'auteur du code pensait.</p>
+
+  
+<h3><a name="SE_METHOD_MUST_BE_PRIVATE">Se: Méthode devant être privée pour que la sérialisation fonctionne (SE_METHOD_MUST_BE_PRIVATE)</a></h3>
+
+
+<p>Cette classe implémente l'interface <code>Serializable</code> et défini une méthode pour personnaliser la sérialisation/désérialisation. Mais cette méthode n'étant pas déclarée privée elle sera ignorée silencieusement par les API de sérialisation/désérialisation.</p>
+
+  
+<h3><a name="SE_READ_RESOLVE_IS_STATIC">Se: The readResolve method must not be declared as a static method.   (SE_READ_RESOLVE_IS_STATIC)</a></h3>
+
+
+  <p> In order for the readResolve method to be recognized by the serialization
+mechanism, it must not be declared as a static method.
+</p>
+
+    
+<h3><a name="TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED">TQ: Value annotated as carrying a type qualifier used where a value that must not carry that qualifier is required (TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED)</a></h3>
+
+      
+        <p>
+        A value specified as carrying a type qualifier annotation is
+        consumed in a location or locations requiring that the value not
+        carry that annotation.
+        </p>
+
+        <p>
+        More precisely, a value annotated with a type qualifier specifying when=ALWAYS
+        is guaranteed to reach a use or uses where the same type qualifier specifies when=NEVER.
+        </p>
+
+        <p>
+        For example, say that @NonNegative is a nickname for
+        the type qualifier annotation @Negative(when=When.NEVER).
+        The following code will generate this warning because
+        the return statement requires a @NonNegative value,
+        but receives one that is marked as @Negative.
+        </p>
+        <blockquote>
+<pre>
+public @NonNegative Integer example(@Negative Integer value) {
+    return value;
+}
+</pre>
+        </blockquote>
+      
+    
+<h3><a name="TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS">TQ: Comparing values with incompatible type qualifiers (TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS)</a></h3>
+
+      
+        <p>
+        A value specified as carrying a type qualifier annotation is
+        compared with a value that doesn't ever carry that qualifier.
+        </p>
+
+        <p>
+        More precisely, a value annotated with a type qualifier specifying when=ALWAYS
+        is compared with a value that where the same type qualifier specifies when=NEVER.
+        </p>
+
+        <p>
+        For example, say that @NonNegative is a nickname for
+        the type qualifier annotation @Negative(when=When.NEVER).
+        The following code will generate this warning because
+        the return statement requires a @NonNegative value,
+        but receives one that is marked as @Negative.
+        </p>
+        <blockquote>
+<pre>
+public boolean example(@Negative Integer value1, @NonNegative Integer value2) {
+    return value1.equals(value2);
+}
+</pre>
+        </blockquote>
+      
+    
+<h3><a name="TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK">TQ: Value that might not carry a type qualifier is always used in a way requires that type qualifier (TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK)</a></h3>
+
+      
+      <p>
+      A value that is annotated as possibility not being an instance of
+    the values denoted by the type qualifier, and the value is guaranteed to be used
+    in a way that requires values denoted by that type qualifier.
+      </p>
+      
+    
+<h3><a name="TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK">TQ: Value that might carry a type qualifier is always used in a way prohibits it from having that type qualifier (TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK)</a></h3>
+
+      
+      <p>
+      A value that is annotated as possibility being an instance of
+    the values denoted by the type qualifier, and the value is guaranteed to be used
+    in a way that prohibits values denoted by that type qualifier.
+      </p>
+      
+    
+<h3><a name="TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED">TQ: Value annotated as never carrying a type qualifier used where value carrying that qualifier is required (TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED)</a></h3>
+
+      
+        <p>
+        A value specified as not carrying a type qualifier annotation is guaranteed
+        to be consumed in a location or locations requiring that the value does
+        carry that annotation.
+        </p>
+
+        <p>
+        More precisely, a value annotated with a type qualifier specifying when=NEVER
+        is guaranteed to reach a use or uses where the same type qualifier specifies when=ALWAYS.
+        </p>
+
+        <p>
+        TODO: example
+        </p>
+      
+    
+<h3><a name="TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED">TQ: Value without a type qualifier used where a value is required to have that qualifier (TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED)</a></h3>
+
+      
+        <p>
+        A value is being used in a way that requires the value be annotation with a type qualifier.
+    The type qualifier is strict, so the tool rejects any values that do not have
+    the appropriate annotation.
+        </p>
+
+        <p>
+        To coerce a value to have a strict annotation, define an identity function where the return value is annotated
+    with the strict annotation.
+    This is the only way to turn a non-annotated value into a value with a strict type qualifier annotation.
+        </p>
+
+      
+    
+<h3><a name="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS">UMAC: Méthode non appelable définie dans une classe anonyme (UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS)</a></h3>
+
+
+<p>Cette classe anonyme définie une méthode qui n'est pas directement appelée et qui ne surcharge pas une méthode de la classe mère. Puisque les méthodes des autres classes ne peuvent pas directement invoquer les méthodes des classes anonymes, il apparaît que cette méthode est inaccessible. Cette méthode est probablement du code mort, mais il est aussi possible qu'elle essaye de surcharger une méthode déclarée dans la classe mère et échoue à le faire en raison d'une erreur de type ou autre.</p>
+
+  
+<h3><a name="UR_UNINIT_READ">UR: Lecture d'un champ non initialisé dans un constructeur (UR_UNINIT_READ)</a></h3>
+
+
+<p>Ce constructeur lit un champ qui n'a pas encore été initialisé. Une des causes les plus fréquentes est l'utilisation accidentelle par le développeur du champ au lieu d'un des paramètres du constructeur.</p>
+
+  
+<h3><a name="UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR">UR: Uninitialized read of field method called from constructor of superclass (UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR)</a></h3>
+
+
+  <p> This method is invoked in the constructor of of the superclass. At this point,
+    the fields of the class have not yet initialized.</p>
+<p>To make this more concrete, consider the following classes:</p>
+<pre>abstract class A {
+  int hashCode;
+  abstract Object getValue();
+  A() {
+    hashCode = getValue().hashCode();
+    }
+  }
+class B extends A {
+  Object value;
+  B(Object v) {
+    this.value = v;
+    }
+  Object getValue() {
+    return value;
+  }
+  }</pre>
+<p>When a <code>B</code> is constructed,
+the constructor for the <code>A</code> class is invoked
+<em>before</em> the constructor for <code>B</code> sets <code>value</code>.
+Thus, when the constructor for <code>A</code> invokes <code>getValue</code>,
+an uninitialized value is read for <code>value</code>
+</p>
+
+    
+<h3><a name="DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY">USELESS_STRING: Invocation of toString on an unnamed array (DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY)</a></h3>
+
+
+<p>
+The code invokes toString on an (anonymous) array.  Calling toString on an array generates a fairly useless result
+such as [C@16f0472. Consider using Arrays.toString to convert the array into a readable
+String that gives the contents of the array. See Programming Puzzlers, chapter 3, puzzle 12.
+</p>
+
+    
+<h3><a name="DMI_INVOKING_TOSTRING_ON_ARRAY">USELESS_STRING: Invocation de toString sur un tableau (DMI_INVOKING_TOSTRING_ON_ARRAY)</a></h3>
+
+
+<p>Le code invoque <code>toString</code> sur un tableau, ce qui va générer un résultat assez inutile du genre <code>[C@16f0472</code>. Envisagez d'utiliser <code>String.valueOf</code> pour convertir un tableau en une chaine lisible contenant les valeurs du tableau. Cf Programming Puzzlers, chapitre 3, problème 12.</p>
+
+  
+<h3><a name="VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY">USELESS_STRING: Array formatted in useless way using format string (VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY)</a></h3>
+
+
+<p>
+One of the arguments being formatted with a format string is an array. This will be formatted
+using a fairly useless format, such as [I@304282, which doesn't actually show the contents
+of the array.
+Consider wrapping the array using <code>Arrays.asList(...)</code> before handling it off to a formatted.
+</p>
+
+     
+<h3><a name="UWF_NULL_FIELD">UwF: Champ uniquement mis à null (UWF_NULL_FIELD)</a></h3>
+
+
+<p>Ce champ est uniquement alimenté par la constante <code>null</code> et donc toutes les lectures de ce champ renverront <code>null</code>. Vérifiez si c'est une erreur ou alors supprimez ce champ qui est inutile.</p>
+
+  
+<h3><a name="UWF_UNWRITTEN_FIELD">UwF: Champ jamais écrit (UWF_UNWRITTEN_FIELD)</a></h3>
+
+
+<p>Ce champ n'est jamais alimenté. Toutes les lectures vont renvoyer sa valeur par défaut. Recherchez les erreurs (devrait-il avoir été initialisé ?) ou supprimez le s'il est inutile.</p>
+
+  
+<h3><a name="VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG">VA: Tableau de primitives passé à une fonction attendant un nombre variable d'objets en argument (VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG)</a></h3>
+
+
+<p>Ce code envoie un tableau de primitives à une fonction qui attend un nombre variable d'objets en arguments. Ceci créé un tableau de longueur 1 pour contenir le tableau de primitives puis le passe à la fonction.</p>
+
+  
+<h3><a name="LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE">LG: Potential lost logger changes due to weak reference in OpenJDK (LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE)</a></h3>
+
+          
+<p>OpenJDK introduces a potential incompatibility.
+ In particular, the java.util.logging.Logger behavior has
+  changed. Instead of using strong references, it now uses weak references
+  internally. That's a reasonable change, but unfortunately some code relies on
+  the old behavior - when changing logger configuration, it simply drops the
+  logger reference. That means that the garbage collector is free to reclaim
+  that memory, which means that the logger configuration is lost. For example,
+consider:
+</p>
+
+<pre>public static void initLogging() throws Exception {
+ Logger logger = Logger.getLogger("edu.umd.cs");
+ logger.addHandler(new FileHandler()); // call to change logger configuration
+ logger.setUseParentHandlers(false); // another call to change logger configuration
+}</pre>
+
+<p>The logger reference is lost at the end of the method (it doesn't
+escape the method), so if you have a garbage collection cycle just
+after the call to initLogging, the logger configuration is lost
+(because Logger only keeps weak references).</p>
+
+<pre>public static void main(String[] args) throws Exception {
+ initLogging(); // adds a file handler to the logger
+ System.gc(); // logger configuration lost
+ Logger.getLogger("edu.umd.cs").info("Some message"); // this isn't logged to the file as expected
+}</pre>
+<p><em>Ulf Ochsenfahrt and Eric Fellheimer</em></p>
+          
+      
+<h3><a name="OBL_UNSATISFIED_OBLIGATION">OBL: Method may fail to clean up stream or resource (OBL_UNSATISFIED_OBLIGATION)</a></h3>
+
+          
+          <p>
+          This method may fail to clean up (close, dispose of) a stream,
+          database object, or other
+          resource requiring an explicit cleanup operation.
+          </p>
+
+          <p>
+          In general, if a method opens a stream or other resource,
+          the method should use a try/finally block to ensure that
+          the stream or resource is cleaned up before the method
+          returns.
+          </p>
+
+          <p>
+          This bug pattern is essentially the same as the
+          OS_OPEN_STREAM and ODR_OPEN_DATABASE_RESOURCE
+          bug patterns, but is based on a different
+          (and hopefully better) static analysis technique.
+          We are interested is getting feedback about the
+          usefulness of this bug pattern.
+          To send feedback, either:
+          </p>
+          <ul>
+            <li>send email to findbugs@cs.umd.edu</li>
+            <li>file a bug report: <a href="http://findbugs.sourceforge.net/reportingBugs.html">http://findbugs.sourceforge.net/reportingBugs.html</a></li>
+          </ul>
+
+          <p>
+          In particular,
+          the false-positive suppression heuristics for this
+          bug pattern have not been extensively tuned, so
+          reports about false positives are helpful to us.
+          </p>
+
+          <p>
+          See Weimer and Necula, <i>Finding and Preventing Run-Time Error Handling Mistakes</i>, for
+          a description of the analysis technique.
+          </p>
+          
+      
+<h3><a name="OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE">OBL: Method may fail to clean up stream or resource on checked exception (OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE)</a></h3>
+
+          
+          <p>
+          This method may fail to clean up (close, dispose of) a stream,
+          database object, or other
+          resource requiring an explicit cleanup operation.
+          </p>
+
+          <p>
+          In general, if a method opens a stream or other resource,
+          the method should use a try/finally block to ensure that
+          the stream or resource is cleaned up before the method
+          returns.
+          </p>
+
+          <p>
+          This bug pattern is essentially the same as the
+          OS_OPEN_STREAM and ODR_OPEN_DATABASE_RESOURCE
+          bug patterns, but is based on a different
+          (and hopefully better) static analysis technique.
+          We are interested is getting feedback about the
+          usefulness of this bug pattern.
+          To send feedback, either:
+          </p>
+          <ul>
+            <li>send email to findbugs@cs.umd.edu</li>
+            <li>file a bug report: <a href="http://findbugs.sourceforge.net/reportingBugs.html">http://findbugs.sourceforge.net/reportingBugs.html</a></li>
+          </ul>
+
+          <p>
+          In particular,
+          the false-positive suppression heuristics for this
+          bug pattern have not been extensively tuned, so
+          reports about false positives are helpful to us.
+          </p>
+
+          <p>
+          See Weimer and Necula, <i>Finding and Preventing Run-Time Error Handling Mistakes</i>, for
+          a description of the analysis technique.
+          </p>
+          
+      
+<h3><a name="DM_CONVERT_CASE">Dm: La méthode appelle les String.toUpperCase() ou String.toLowerCase ; utilisez plutôt la version paramètrée par une Locale (DM_CONVERT_CASE)</a></h3>
+
+
+<p>Une chaîne est mise en majuscules ou minuscules en fonction de jeu de caractères par défaut de la machine. Ceci peut entraîner des conversions erronées sur les caractères internationaux. Utilisez <code>String.toUpperCase(Locale l)</code> ou <code>String.toLowerCase(Locale l)</code> à la place.</p>
+
+  
+<h3><a name="DM_DEFAULT_ENCODING">Dm: Reliance on default encoding (DM_DEFAULT_ENCODING)</a></h3>
+
+
+<p> Found a call to a method which will perform a byte to String (or String to byte) conversion, and will assume that the default platform encoding is suitable. This will cause the application behaviour to vary between platforms. Use an alternative API and specify a charset name or Charset object explicitly.  </p>
+
+      
+<h3><a name="DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED">DP: Les chargeurs de classes ne doivent être créés qu'à partir de block doPrivileged (DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED)</a></h3>
+
+
+<p>Ce code créé un chargeur de classes, ce qui nécessite un test de sécurité. Même si ce code possède des droits suffisants, la création du chargeur de classes devrait être effectuée dans un block <code>doPrivileged</code> au cas ou il serait appelé par du code ne possédant pas les droits requis.</p>
+
+  
+<h3><a name="DP_DO_INSIDE_DO_PRIVILEGED">DP: Méthode invoquée alors qu'elle ne devrait l'être qu'à partir d'un block doPrivileged (DP_DO_INSIDE_DO_PRIVILEGED)</a></h3>
+
+
+<p>Ce code invoque une méthode qui nécessite un test de sécurité sur les permissions. Si ce code, bien qu'ayant les droits suffisants, peut être invoqué par du code n'ayant pas les droits requis l'appel doit alors être effectué à l'intérieur d'un block <code>doPrivileged</code>.</p>
+
+  
+<h3><a name="EI_EXPOSE_REP">EI: Une méthode peut exposer sa représentation interne en renvoyant une référence à un objet modifiable (EI_EXPOSE_REP)</a></h3>
+
+
+<p>Renvoyer une référence à un objet modifiable stocké dans les champs d'un objet expose la représentation interne de l'objet. Si des instances sont accédées par du code non fiable, et que des modifications non vérifiées peuvent compromettre la sécurité ou d'autres propriétés importantes, vous devez faire autre chose. Renvoyer une nouvelle copie de l'objet est une meilleur approche dans de nombreuses situations.</p>
+
+  
+<h3><a name="EI_EXPOSE_REP2">EI2: Une méthode expose sa représentation interne en incorporant une référence à un objet modifiable (EI_EXPOSE_REP2)</a></h3>
+
+
+<p>Ce code stocke une référence à un objet externe modifiable dans la représentation interne de l'objet. Si des instances sont accédées par du code non fiable, et que des modifications non vérifiées peuvent compromettre la sécurité ou d'autres propriétés importantes, vous devez faire autre chose. Stocker une copie de l'objet est une meilleur approche dans de nombreuses situations.</p>
+
+  
+<h3><a name="FI_PUBLIC_SHOULD_BE_PROTECTED">FI: Un finaliseur devrait être protégé, pas public (FI_PUBLIC_SHOULD_BE_PROTECTED)</a></h3>
+
+
+<p>La méthode <code>finalize()</code> d'une classe devrait avoir un accès protégé, pas public.</p>
+
+  
+<h3><a name="EI_EXPOSE_STATIC_REP2">MS: Une méthode peut exposer un état interne statique en stockant un objet modifiable dans un champs statique (EI_EXPOSE_STATIC_REP2)</a></h3>
+
+
+<p>Ce code stocke une référence à un objet modifiable externe dans un champs statique. Si des modifications non vérifiées de l'objet modifiable peuvent compromettre la sécurité ou d'autres propriétés importantes, vous devez faire autre chose. Stocker une copie de l'objet est souvent une meilleur approche.</p>
+
+  
+<h3><a name="MS_CANNOT_BE_FINAL">MS: Un champ n'est pas final et ne peut pas être protégé face à du code malveillant (MS_CANNOT_BE_FINAL)</a></h3>
+
+
+<p>Un champ statique modifiable peut-être modifié par accident ou par du code malveillant. Malheureusement, la façon dont ce champ est utilisé ne permet une correction aisée de ce problème.</p>
+
+  
+<h3><a name="MS_EXPOSE_REP">MS: Une méthode statique publique risque d'exposer une représentation interne en renvoyant un tableau (MS_EXPOSE_REP)</a></h3>
+
+
+<p>Une méthode statique publique renvoit une référence à un tableau faisant partie de l'état statique de la classe. Tout code appelant cette méthode peut librement modifier le tableau sous-jacent. Une correction possible serait de renvoyer une copie du tableau.</p>
+
+  
+<h3><a name="MS_FINAL_PKGPROTECT">MS: Le champ devrait être à la fois final et package protected (MS_FINAL_PKGPROTECT)</a></h3>
+
+
+<p>Un champ statique modifiable peut-être changé par accident ou par du code malveillant d'un autre paquetage. Le champ devrait être package protected et/ou final pour éviter cette vulnérabilité.</p>
+
+  
+<h3><a name="MS_MUTABLE_ARRAY">MS: Un champ est un tableau modifiable (MS_MUTABLE_ARRAY)</a></h3>
+
+
+<p>Le champ est une référence final static à un tableau et peut-être modifié par accident ou par du code malveillant d'un autre paquetage. Ce code peut librement modifier le contenu du tableau.</p>
+
+  
+<h3><a name="MS_MUTABLE_HASHTABLE">MS: Un champ modifiable est une Hashtable (MS_MUTABLE_HASHTABLE)</a></h3>
+
+
+<p>Le champ est une référence final static à une <code>Hashtable</code> et peut-être modifié par accident ou par du code malveillant d'un autre paquetage. Ce code peut librement modifier le contenu de la <code>Hashtable</code>.</p>
+
+  
+<h3><a name="MS_OOI_PKGPROTECT">MS: Le champ devrait être sorti de l'interface et mis en package protected (MS_OOI_PKGPROTECT)</a></h3>
+
+
+<p>Un champ final static défini dans une interface référence un objet modifiable tel qu'un tableau ou une table de hachage. Cet objet pourrait être modifié par accident ou par du code sournois d'un autre paquetage. Pour résoudre cela et éviter cette vulnérabilité, le champ doit être intégré dans une classe et sa visibilité modifiée en package protected.</p>
+
+  
+<h3><a name="MS_PKGPROTECT">MS: Un champ devrait être package protected (MS_PKGPROTECT)</a></h3>
+
+
+<p>Un champ statique modifiable peut-être changé par accident ou par du code malveillant d'un autre paquetage. Le champ devrait être package protected pour éviter cette vulnérabilité.</p>
+
+  
+<h3><a name="MS_SHOULD_BE_FINAL">MS: Un champ n'est pas final alors qu'il devrait l'être (MS_SHOULD_BE_FINAL)</a></h3>
+
+
+<p>Un champ statique modifiable peut-être changé par accident ou par du code malveillant d'un autre paquetage. Le champ devrait être final pour éviter cette vulnérabilité.</p>
+
+  
+<h3><a name="MS_SHOULD_BE_REFACTORED_TO_BE_FINAL">MS: Field isn't final but should be refactored to be so (MS_SHOULD_BE_REFACTORED_TO_BE_FINAL)</a></h3>
+
+
+   <p>
+This static field public but not final, and
+could be changed by malicious code or
+by accident from another package.
+The field could be made final to avoid
+this vulnerability. However, the static initializer contains more than one write
+to the field, so doing so will require some refactoring.
+</p>
+
+    
+<h3><a name="AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION">AT: Sequence of calls to concurrent abstraction may not be atomic (AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION)</a></h3>
+
+          
+        <p>This code contains a sequence of calls to a concurrent  abstraction
+            (such as a concurrent hash map).
+            These calls will not be executed atomically.
+          
+      
+<h3><a name="DC_DOUBLECHECK">DC: Possible double vérification d'un champ (DC_DOUBLECHECK)</a></h3>
+
+
+<p>Cette méthode contient peut-être une instance de verrou par double vérification. Cet idiome n'est pas correct vis-à-vis de la sémantique du modèle de mémoire Java. Pour plus d'informations, cf. la page <a href="http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html">http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html</a>.</p>
+
+  
+<h3><a name="DL_SYNCHRONIZATION_ON_BOOLEAN">DL: Synchronization on Boolean (DL_SYNCHRONIZATION_ON_BOOLEAN)</a></h3>
+
+      
+  <p> The code synchronizes on a boxed primitive constant, such as an Boolean.</p>
+<pre>
+private static Boolean inited = Boolean.FALSE;
+...
+  synchronized(inited) {
+    if (!inited) {
+       init();
+       inited = Boolean.TRUE;
+       }
+     }
+...
+</pre>
+<p>Since there normally exist only two Boolean objects, this code could be synchronizing on the same object as other, unrelated code, leading to unresponsiveness
+and possible deadlock</p>
+<p>See CERT <a href="https://www.securecoding.cert.org/confluence/display/java/CON08-J.+Do+not+synchronize+on+objects+that+may+be+reused">CON08-J. Do not synchronize on objects that may be reused</a> for more information.</p>
+
+    
+<h3><a name="DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE">DL: Synchronization on boxed primitive (DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE)</a></h3>
+
+      
+  <p> The code synchronizes on a boxed primitive constant, such as an Integer.</p>
+<pre>
+private static Integer count = 0;
+...
+  synchronized(count) {
+     count++;
+     }
+...
+</pre>
+<p>Since Integer objects can be cached and shared,
+this code could be synchronizing on the same object as other, unrelated code, leading to unresponsiveness
+and possible deadlock</p>
+<p>See CERT <a href="https://www.securecoding.cert.org/confluence/display/java/CON08-J.+Do+not+synchronize+on+objects+that+may+be+reused">CON08-J. Do not synchronize on objects that may be reused</a> for more information.</p>
+
+    
+<h3><a name="DL_SYNCHRONIZATION_ON_SHARED_CONSTANT">DL: Synchronization on interned String  (DL_SYNCHRONIZATION_ON_SHARED_CONSTANT)</a></h3>
+
+
+  <p> The code synchronizes on interned String.</p>
+<pre>
+private static String LOCK = "LOCK";
+...
+  synchronized(LOCK) { ...}
+...
+</pre>
+<p>Constant Strings are interned and shared across all other classes loaded by the JVM. Thus, this could
+is locking on something that other code might also be locking. This could result in very strange and hard to diagnose
+blocking and deadlock behavior. See <a href="http://www.javalobby.org/java/forums/t96352.html">http://www.javalobby.org/java/forums/t96352.html</a> and <a href="http://jira.codehaus.org/browse/JETTY-352">http://jira.codehaus.org/browse/JETTY-352</a>.
+</p>
+<p>See CERT <a href="https://www.securecoding.cert.org/confluence/display/java/CON08-J.+Do+not+synchronize+on+objects+that+may+be+reused">CON08-J. Do not synchronize on objects that may be reused</a> for more information.</p>
+
+    
+<h3><a name="DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE">DL: Synchronization on boxed primitive values (DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE)</a></h3>
+
+      
+  <p> The code synchronizes on an apparently unshared boxed primitive,
+such as an Integer.</p>
+<pre>
+private static final Integer fileLock = new Integer(1);
+...
+  synchronized(fileLock) {
+     .. do something ..
+     }
+...
+</pre>
+<p>It would be much better, in this code, to redeclare fileLock as</p>
+<pre>
+private static final Object fileLock = new Object();
+</pre>
+<p>
+The existing code might be OK, but it is confusing and a
+future refactoring, such as the "Remove Boxing" refactoring in IntelliJ,
+might replace this with the use of an interned Integer object shared
+throughout the JVM, leading to very confusing behavior and potential deadlock.
+</p>
+
+    
+<h3><a name="DM_MONITOR_WAIT_ON_CONDITION">Dm: Wait() appelé sur une Condition (DM_MONITOR_WAIT_ON_CONDITION)</a></h3>
+
+
+<p>Cette méthode appelle <code>wait()</code> sur un objet <code>java.util.concurrent.locks.Condition</code>. L'attente d'une <code>Condition</code> devrait être faite en utilisant l'une des méthodes <code>await()</code> définies dans l'interface <code>Condition</code>.</p>
+
+  
+<h3><a name="DM_USELESS_THREAD">Dm: Thread créé avec la méthode run vide par défaut (DM_USELESS_THREAD)</a></h3>
+
+
+<p>Cette méthode crée un thread sans spécifier de méthode <code>run</code>, soit par dérivation de la classe <code>Thread</code>, soit en transmettant un objet <code>Runnable</code>. Ce thread ne fait donc rien sauf perdre du temps.</p>
+
+  
+<h3><a name="ESync_EMPTY_SYNC">ESync: Bloc synchronisé vide (ESync_EMPTY_SYNC)</a></h3>
+
+
+<p>Présence d'un bloc synchronisé vide:</p>
+<pre>
+synchronized() {}
+</pre>
+<p>L'utilisation de blocs synchronisés vides est bien plus subtile et dure à réaliser correctement que bien des gens ne le reconnaissent, et de plus ne correspond que rarement à la meilleure des solutions.</p>
+
+  
+<h3><a name="IS2_INCONSISTENT_SYNC">IS: Synchronisation incohérente (IS2_INCONSISTENT_SYNC)</a></h3>
+
+
+<p>Les champs de cette classe semblent être accédés de façon incohérente vis-à-vis de la synchronisation. Le détecteur de bogue juge que :</p>
+<ol>
+  <li>la classe contient un mélange d'accès verrouillés et non verrouillés,</li>
+  <li>au moins un des accès verrouillés est effectué par une des propres méthodes de la classe,</li>
+  <li>le nombre d'accès (lectures et écritures) non synchronisés ne représente pas plus d'un tiers de tous les accès, avec plus de deux fois plus d'écritures que de lectures.</li>
+</ol>
+<p>Un bogue typique déclenchant ce détecteur est l'oubli de la synchronisation sur l'une des méthodes d'une classe qui essaye d'être sûre vis-à-vis des threads.</p>
+<p>Vous pouvez sélectionner les noeuds nommés "Accès non synchronisés" pour avoir la position exacte dans le code où le détecteur pense qu'un champ est accédé sans synchronisation.</p>
+<p>Notez qu'il y a diverses sources d'inexactitude dans ce détecteur ; par exemple, le détecteur ne peut pas repérer statiquement toutes les situations dans lesquelles un verrou est obtenu. En fait, même lorsque le détecteur repère effectivement des accès avec et sans verrou, le code concerné peut quand même être correct.</p>
+<p>Cette description se réfère à la version "IS2" du détecteur, qui est plus précise pour détecter les accès avec et sans verrous que l'ancien détecteur "IS".</p>
+
+  
+<h3><a name="IS_FIELD_NOT_GUARDED">IS: Champ non protégé contre les accès concurrents (IS_FIELD_NOT_GUARDED)</a></h3>
+
+
+<p>Ce champ est annoté avec <code>net.jcip.annotations.GuardedBy</code>, mais peut être utilisé d'une façon qui contredit l'annotation.</p>
+
+  
+<h3><a name="JLM_JSR166_LOCK_MONITORENTER">JLM: Synchronisation effectuée sur un Lock java.util.concurrent (JLM_JSR166_LOCK_MONITORENTER)</a></h3>
+
+
+<p>Cette méthode se synchronise au moyen d'une implémentation de <code>java.util.concurrent.locks.Lock</code>. Vous devriez plutôt utiliser les méthodes <code>lock()</code> et <code>unlock()</code>.</p>
+
+  
+<h3><a name="JLM_JSR166_UTILCONCURRENT_MONITORENTER">JLM: Synchronization performed on util.concurrent instance (JLM_JSR166_UTILCONCURRENT_MONITORENTER)</a></h3>
+
+
+<p> This method performs synchronization an object that is an instance of
+a class from the java.util.concurrent package (or its subclasses). Instances
+of these classes have their own concurrency control mechanisms that are orthogonal to
+the synchronization provided by the Java keyword <code>synchronized</code>. For example,
+synchronizing on an <code>AtomicBoolean</code> will not prevent other threads
+from modifying the  <code>AtomicBoolean</code>.</p>
+<p>Such code may be correct, but should be carefully reviewed and documented,
+and may confuse people who have to maintain the code at a later date.
+</p>
+
+
+<h3><a name="JML_JSR166_CALLING_WAIT_RATHER_THAN_AWAIT">JLM: Using monitor style wait methods on util.concurrent abstraction (JML_JSR166_CALLING_WAIT_RATHER_THAN_AWAIT)</a></h3>
+
+
+<p> This method calls
+<code>wait()</code>,
+<code>notify()</code> or
+<code>notifyAll()()</code>
+on an object that also provides an
+<code>await()</code>,
+<code>signal()</code>,
+<code>signalAll()</code> method (such as util.concurrent Condition objects).
+This probably isn't what you want, and even if you do want it, you should consider changing
+your design, as other developers will find it exceptionally confusing.
+</p>
+
+
+<h3><a name="LI_LAZY_INIT_STATIC">LI: Initialisation paresseuse incorrecte d'un champ statique (LI_LAZY_INIT_STATIC)</a></h3>
+
+
+<p>Cette méthode contient une initialisation paresseuse non synchronisée d'un champ statique non <code>volatile</code>. Comme le compilateur ou le processeur peuvent réordonner les instructions, les threads ne sont pas certains de voir un objet complètement initialisé, <em>si la méthode peut-être appelée par de multiples threads</em>. Vous pouvez rendre le champs <code>volatile</code> pour corriger le problème. Pour plus d'informations, cf. <a href="http://www.cs.umd.edu/~pugh/java/memoryModel/">site Web sur le modèle mémoire de Java</a>.</p>
+
+  
+<h3><a name="LI_LAZY_INIT_UPDATE_STATIC">LI: Incorrect lazy initialization and update of static field (LI_LAZY_INIT_UPDATE_STATIC)</a></h3>
+
+
+<p> This method contains an unsynchronized lazy initialization of a static field.
+After the field is set, the object stored into that location is further updated or accessed.
+The setting of the field is visible to other threads as soon as it is set. If the
+futher accesses in the method that set the field serve to initialize the object, then
+you have a <em>very serious</em> multithreading bug, unless something else prevents
+any other thread from accessing the stored object until it is fully initialized.
+</p>
+<p>Even if you feel confident that the method is never called by multiple
+threads, it might be better to not set the static field until the value
+you are setting it to is fully populated/initialized.
+
+    
+<h3><a name="ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD">ML: Synchronization on field in futile attempt to guard that field (ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD)</a></h3>
+
+
+  <p> This method synchronizes on a field in what appears to be an attempt
+to guard against simultaneous updates to that field. But guarding a field
+gets a lock on the referenced object, not on the field. This may not
+provide the mutual exclusion you need, and other threads might
+be obtaining locks on the referenced objects (for other purposes). An example
+of this pattern would be:</p>
+<pre>
+private Long myNtfSeqNbrCounter = new Long(0);
+private Long getNotificationSequenceNumber() {
+     Long result = null;
+     synchronized(myNtfSeqNbrCounter) {
+         result = new Long(myNtfSeqNbrCounter.longValue() + 1);
+         myNtfSeqNbrCounter = new Long(result.longValue());
+     }
+     return result;
+ }
+</pre>
+
+    
+<h3><a name="ML_SYNC_ON_UPDATED_FIELD">ML: La méthode se synchronise sur un champ mis à jour (ML_SYNC_ON_UPDATED_FIELD)</a></h3>
+
+
+<p>Cette méthode se synchronise sur le champ modifiable d'une référence objet. Il y a peu de chances que cela ait un sens puisque les différents threads se synchroniserons par rapport à différents objets.</p>
+
+  
+<h3><a name="MSF_MUTABLE_SERVLET_FIELD">MSF: Mutable servlet field (MSF_MUTABLE_SERVLET_FIELD)</a></h3>
+
+
+<p>A web server generally only creates one instance of servlet or jsp class (i.e., treats
+the class as a Singleton),
+and will
+have multiple threads invoke methods on that instance to service multiple
+simultaneous requests.
+Thus, having a mutable instance field generally creates race conditions.
+
+    
+<h3><a name="MWN_MISMATCHED_NOTIFY">MWN: notify() non appareillé (MWN_MISMATCHED_NOTIFY)</a></h3>
+
+
+<p>Cette méthode appelle <code>Object.notify()</code> ou <code>Object.notifyAll()</code> sans détenir, visiblement, de verrou sur l'objet. Appeler <code>notify()</code> ou <code>notifyAll()</code> sans détenir de verrou entraîne le déclenchement d'une <code>IllegalMonitorStateException</code>.</p>
+
+  
+<h3><a name="MWN_MISMATCHED_WAIT">MWN: wait() non appareillé (MWN_MISMATCHED_WAIT)</a></h3>
+
+
+<p>Cette méthode appelle <code>Object.wait()</code> sans détenir, visiblement, de verrou sur l'objet. Appeler <code>wait()</code> sans détenir de verrou entraîne le déclenchement d'une <code>IllegalMonitorStateException</code>.</p>
+
+  
+<h3><a name="NN_NAKED_NOTIFY">NN: Appel notify() isolé dans une méthode (NN_NAKED_NOTIFY)</a></h3>
+
+
+<p>Un appel à <code>notify()</code> ou <code>notifyAll()</code> est effectué sans aucun changement (apparent) de l'état d'un objet modifiable. En général, appeler une méthode <code>notify()</code> dans un moniteur est effectué parce qu'une condition quelconque attendue par un autre thread est devenue vraie. Dans tous les cas, pour que la condition ait un sens, elle doit porter sur un objet visible des deux threads.</p>
+<p>Ce bogue n'indique pas nécessairement une erreur puisque la modification de l'état de l'objet peut avoir eu lieu dans une méthode qui appelle la méthode contenant la notification.</p>
+
+  
+<h3><a name="NP_SYNC_AND_NULL_CHECK_FIELD">NP: Synchronize and null check on the same field. (NP_SYNC_AND_NULL_CHECK_FIELD)</a></h3>
+
+
+<p>Since the field is synchronized on, it seems not likely to be null.
+If it is null and then synchronized on a NullPointerException will be
+thrown and the check would be pointless. Better to synchronize on
+another field.</p>
+
+
+     
+<h3><a name="NO_NOTIFY_NOT_NOTIFYALL">No: Utilisation de notify() plutôt que notifyAll() dans une méthode (NO_NOTIFY_NOT_NOTIFYALL)</a></h3>
+
+
+<p>Cette méthode appelle <code>notify()</code> plutôt que <code>notifyAll()</code>. Le moniteur Java est souvent utilisé pour de multiples conditions. Appeler <code>notify()</code> ne réveille qu'un thread, ce qui signifie que le thread réveillé peut ne pas être celui qui attend la condition que l'appelant vient de remplir.</p>
+
+  
+<h3><a name="RS_READOBJECT_SYNC">RS: Seule la méthode readObject() est synchronisée (RS_READOBJECT_SYNC)</a></h3>
+
+
+<p>Cette classe <code>Serializable</code> définit une méthode <code>readObject()</code> qui est synchronisée. Par définition, un objet créé par désérialisation n'est accessible que par un unique thread, donc il n'y a aucun intérêt à synchroniser <code>readObject()</code>. Si la méthode <code>readObject()</code> en elle-même rend l'objet visible d'un autre thread, vous avez un exemple de style de code très douteux.</p>
+
+  
+<h3><a name="RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED">RV: Return value of putIfAbsent ignored, value passed to putIfAbsent reused (RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED)</a></h3>
+
+          
+        The <code>putIfAbsent</code> method is typically used to ensure that a
+        single value is associated with a given key (the first value for which put
+        if absent succeeds).
+        If you ignore the return value and retain a reference to the value passed in,
+        you run the risk of retaining a value that is not the one that is associated with the key in the map.
+        If it matters which one you use and you use the one that isn't stored in the map,
+        your program will behave incorrectly.
+          
+      
+<h3><a name="RU_INVOKE_RUN">Ru: Invocation de run() sur un thread (Vouliez-vous plutôt dire start() ?) (RU_INVOKE_RUN)</a></h3>
+
+
+<p>Cette méthode appelle explicitement <code>run()</code> sur un objet. En général, les classes implémentent l'interface <code>Runnable</code> parce qu'elles vont avoir leur méthode <code>run()</code> invoquée dans un nouveau thread, auquel cas <code>Thread.start()</code> est la bonne méthode à appeler.</p>
+
+  
+<h3><a name="SC_START_IN_CTOR">SC: Un constructeur invoque Thread.start() (SC_START_IN_CTOR)</a></h3>
+
+
+<p>Le constructeur lance un thread. Il y a de fortes chances que ce soit une erreur si cette classe est un jour dérivée ou étendue puisque que le thread sera alors lancé avant que le constructeur de la classe dérivée ne soit appelé.</p>
+
+  
+<h3><a name="SP_SPIN_ON_FIELD">SP: Méthode bouclant sur un champ (SP_SPIN_ON_FIELD)</a></h3>
+
+
+<p>Cette méthode tourne en rond sur une boucle qui lit un champ. Le compilateur est autorisé à sortir la lecture de la boucle, créant ainsi une boucle infinie. La classe devrait être modifiée afin d'être correctement synchronisée (avec des appels à <code>wait()</code> et <code>notify()</code>).</p>
+
+  
+<h3><a name="STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE">STCAL: Call to static Calendar (STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE)</a></h3>
+
+
+<p>Even though the JavaDoc does not contain a hint about it, Calendars are inherently unsafe for multihtreaded use.
+The detector has found a call to an instance of Calendar that has been obtained via a static
+field. This looks suspicous.</p>
+<p>For more information on this see <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6231579">Sun Bug #6231579</a>
+and <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6178997">Sun Bug #6178997</a>.</p>
+
+
+<h3><a name="STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE">STCAL: Call to static DateFormat (STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE)</a></h3>
+
+
+<p>As the JavaDoc states, DateFormats are inherently unsafe for multithreaded use.
+The detector has found a call to an instance of DateFormat that has been obtained via a static
+field. This looks suspicous.</p>
+<p>For more information on this see <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6231579">Sun Bug #6231579</a>
+and <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6178997">Sun Bug #6178997</a>.</p>
+
+
+<h3><a name="STCAL_STATIC_CALENDAR_INSTANCE">STCAL: Static Calendar field (STCAL_STATIC_CALENDAR_INSTANCE)</a></h3>
+
+
+<p>Even though the JavaDoc does not contain a hint about it, Calendars are inherently unsafe for multihtreaded use.
+Sharing a single instance across thread boundaries without proper synchronization will result in erratic behavior of the
+application. Under 1.4 problems seem to surface less often than under Java 5 where you will probably see
+random ArrayIndexOutOfBoundsExceptions or IndexOutOfBoundsExceptions in sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate().</p>
+<p>You may also experience serialization problems.</p>
+<p>Using an instance field is recommended.</p>
+<p>For more information on this see <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6231579">Sun Bug #6231579</a>
+and <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6178997">Sun Bug #6178997</a>.</p>
+
+
+<h3><a name="STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE">STCAL: Static DateFormat (STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE)</a></h3>
+
+
+<p>As the JavaDoc states, DateFormats are inherently unsafe for multithreaded use.
+Sharing a single instance across thread boundaries without proper synchronization will result in erratic behavior of the
+application.</p>
+<p>You may also experience serialization problems.</p>
+<p>Using an instance field is recommended.</p>
+<p>For more information on this see <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6231579">Sun Bug #6231579</a>
+and <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6178997">Sun Bug #6178997</a>.</p>
+
+
+<h3><a name="SWL_SLEEP_WITH_LOCK_HELD">SWL: Appel de la méthode Thread.sleep() avec un verrou (SWL_SLEEP_WITH_LOCK_HELD)</a></h3>
+
+
+<p>Cette méthode appelle <code>Thread.sleep()</code> en tenant un verrou. Ceci peut résulter en de faibles performances, peu de capacité à monter en charge ou un inter-blocage puisque d'autres processus pourraient être en attente du verrou. C'est une meilleure idée d'appeler <code>wait()</code> sur le verrou, afin de le libérer et de permettre à d'autre processus de tourner.</p>
+
+  
+<h3><a name="TLW_TWO_LOCK_WAIT">TLW: wait() avec deux verrous en attente (TLW_TWO_LOCK_WAIT)</a></h3>
+
+
+<p>Attendre sur on moniteur alors que deux verrous sont détenus peut entraîner un blocage fatal (deadlock). Exécuter un <code>wait()</code> ne libère que le verrou sur l'objet accueillant le <code>wait()</code>, mais aucun autre verrou. Ce n'est pas obligatoirement un bogue, mais il vaut mieux examiner ça en détails.</p>
+
+  
+<h3><a name="UG_SYNC_SET_UNSYNC_GET">UG: Méthode getXXX non synchronisée, méthode setXXX synchronisée (UG_SYNC_SET_UNSYNC_GET)</a></h3>
+
+
+<p>Cette classe contient des méthodes <code>getXXX</code> et <code>setXXX</code> similaires dont la méthode <code>setXXX</code> est synchronisée tandis que la méthode <code>getXXX</code> ne l'est pas. Ceci peut entraîner un comportement incorrect à l'exécution car l'appelant de la méthode <code>getXXX</code> ne verra pas obligatoirement l'objet dans un état consistant. La méthode <code>getXXX</code> devrait être synchronisée.</p>
+
+  
+<h3><a name="UL_UNRELEASED_LOCK">UL: La méthode ne libère pas un verrou dans tous les chemins d'exécution (UL_UNRELEASED_LOCK)</a></h3>
+
+
+<p>Cette méthode acquière un verrou JSR-166 (<code>java.util.concurrent</code>), mais ne le libère pas dans tous les chemins d'exécution. En général, l'idiome correct pour utiliser un verrou JSR-166 est :</p>
+<pre>
+Lock l = ...;
+l.lock();
+try {
+    // do something
+} finally {
+    l.unlock();
+}
+</pre>
+
+  
+<h3><a name="UL_UNRELEASED_LOCK_EXCEPTION_PATH">UL: La méthode ne libère pas un verrou dans tous les chemins d'exception (UL_UNRELEASED_LOCK_EXCEPTION_PATH)</a></h3>
+
+
+<p>Cette méthode acquière un verrou JSR-166 (<code>java.util.concurrent</code>), mais ne le libère pas dans tous les chemins d'exception. En général, l'idiome correct pour utiliser un verrou JSR-166 est :</p>
+<pre>
+Lock l = ...;
+l.lock();
+try {
+    // do something
+} finally {
+    l.unlock();
+}
+</pre>
+
+  
+<h3><a name="UW_UNCOND_WAIT">UW: Méthode contenant un wait() non conditionné (UW_UNCOND_WAIT)</a></h3>
+
+
+<p>Cette méthode contient un appel à <code>java.lang.Object.wait()</code> qui n'est pas protégé par une condition. Si la condition que la méthode essaye d'attendre a déjà été remplie, le thread risque d'attendre indéfiniment.</p>
+
+  
+<h3><a name="VO_VOLATILE_INCREMENT">VO: An increment to a volatile field isn't atomic (VO_VOLATILE_INCREMENT)</a></h3>
+
+
+<p>This code increments a volatile field. Increments of volatile fields aren't
+atomic. If more than one thread is incrementing the field at the same time,
+increments could be lost.
+</p>
+
+    
+<h3><a name="VO_VOLATILE_REFERENCE_TO_ARRAY">VO: Une référence volatile à un tableau ne traite pas les éléments du tableau comme volatiles (VO_VOLATILE_REFERENCE_TO_ARRAY)</a></h3>
+
+
+<p>Ceci déclare une référence volatile à un tableau, ce qui n'est peut-être pas ce que vous voulez. Avec une référence volatile à un tableau, les lectures et écritures de la référence au tableau sont traitées comme volatiles, mais les éléments ne sont pas volatiles. Pour obtenir des éléments volatiles, vous devez utiliser l'une des classes de tableaux atomiques de <code>java.util.concurrent</code> (inclus dans Java 5.0).</p>
+
+  
+<h3><a name="WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL">WL: Synchronization on getClass rather than class literal (WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL)</a></h3>
+
+      
+      <p>
+     This instance method synchronizes on <code>this.getClass()</code>. If this class is subclassed,
+     subclasses will synchronize on the class object for the subclass, which isn't likely what was intended.
+     For example, consider this code from java.awt.Label:</p>
+     <pre>
+     private static final String base = "label";
+     private static int nameCounter = 0;
+     String constructComponentName() {
+        synchronized (getClass()) {
+            return base + nameCounter++;
+        }
+     }
+     </pre>
+     <p>Subclasses of <code>Label</code> won't synchronize on the same subclass, giving rise to a datarace.
+     Instead, this code should be synchronizing on <code>Label.class</code></p>
+      <pre>
+     private static final String base = "label";
+     private static int nameCounter = 0;
+     String constructComponentName() {
+        synchronized (Label.class) {
+            return base + nameCounter++;
+        }
+     }
+     </pre>
+      <p>Bug pattern contributed by Jason Mehrens</p>
+      
+    
+<h3><a name="WS_WRITEOBJECT_SYNC">WS: Seule la méthode writeObject() est synchronisée (WS_WRITEOBJECT_SYNC)</a></h3>
+
+
+<p>Cette classe a une méthode <code>writeObject()</code> qui est synchronisée ; mais aucune autre méthode de cette classe n'est synchronisée.</p>
+
+  
+<h3><a name="WA_AWAIT_NOT_IN_LOOP">Wa: Condition.await() en dehors d'une boucle (WA_AWAIT_NOT_IN_LOOP)</a></h3>
+
+
+<p>Cette méthode contient un appel à <code>java.util.concurrent.await()</code> (ou une variante) qui n'est pas dans une boucle. Si cet objet est utilisé pour de multiples conditions, la condition que l'appelant espère réveiller pourra être ou ne pas être celle qui le sera effectivement.</p>
+
+  
+<h3><a name="WA_NOT_IN_LOOP">Wa: Méthode contenant un wait() en dehors d'une boucle (WA_NOT_IN_LOOP)</a></h3>
+
+
+<p>Cette méthode contient un appel à <code>java.lang.Object.wait()</code> qui n'est pas dans une boucle. Si le moniteur est utilisé pour des conditions multiples, la condition que l'appelant attend peut ne pas être celle qui s'est réellement déclenchée.</p>
+
+  
+<h3><a name="BX_BOXING_IMMEDIATELY_UNBOXED">Bx: Primitive value is boxed and then immediately unboxed (BX_BOXING_IMMEDIATELY_UNBOXED)</a></h3>
+
+
+  <p>A primitive is boxed, and then immediately unboxed. This probably is due to a manual
+    boxing in a place where an unboxed value is required, thus forcing the compiler
+to immediately undo the work of the boxing.
+</p>
+
+    
+<h3><a name="BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION">Bx: Primitive value is boxed then unboxed to perform primitive coercion (BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION)</a></h3>
+
+
+  <p>A primitive boxed value constructed and then immediately converted into a different primitive type
+(e.g., <code>new Double(d).intValue()</code>). Just perform direct primitive coercion (e.g., <code>(int) d</code>).</p>
+
+    
+<h3><a name="BX_UNBOXING_IMMEDIATELY_REBOXED">Bx: Boxed value is unboxed and then immediately reboxed (BX_UNBOXING_IMMEDIATELY_REBOXED)</a></h3>
+
+
+  <p>A boxed value is unboxed and then immediately reboxed.
+</p>
+
+    
+<h3><a name="DM_BOXED_PRIMITIVE_FOR_PARSING">Bx: Boxing/unboxing to parse a primitive (DM_BOXED_PRIMITIVE_FOR_PARSING)</a></h3>
+
+
+  <p>A boxed primitive is created from a String, just to extract the unboxed primitive value.
+  It is more efficient to just call the static parseXXX method.</p>
+
+    
+<h3><a name="DM_BOXED_PRIMITIVE_TOSTRING">Bx: Méthode allouant une primitive boxed pour appeler toString (DM_BOXED_PRIMITIVE_TOSTRING)</a></h3>
+
+
+<p>Une primitive "boxed" est allouée juste pour appeler <code>toString()</code>. Il est plus efficace de simplement utiliser la forme statique de <code>toString</code> qui accepte la valeur primitive. Donc,</p>
+  <table>
+     <tr><th>Remplacer...</th><th>Avec...</th></tr>
+     <tr><td><code>new Integer(1).toString()</code></td><td><code>Integer.toString(1)</code></td></tr>
+     <tr><td><code>new Long(1).toString()</code></td><td><code>Long.toString(1)</code></td></tr>
+     <tr><td><code>new Float(1.0).toString()</code></td><td><code>Float.toString(1.0)</code></td></tr>
+     <tr><td><code>new Double(1.0).toString()</code></td><td><code>Double.toString(1.0)</code></td></tr>
+     <tr><td><code>new Byte(1).toString()</code></td><td><code>Byte.toString(1)</code></td></tr>
+     <tr><td><code>new Short(1).toString()</code></td><td><code>Short.toString(1)</code></td></tr>
+     <tr><td><code>Boolean.valueOf(true).toString()</code></td><td><code>Boolean.toString(true)</code></td></tr>
+  </table>
+
+  
+<h3><a name="DM_FP_NUMBER_CTOR">Bx: Method invokes inefficient floating-point Number constructor; use static valueOf instead (DM_FP_NUMBER_CTOR)</a></h3>
+
+      
+      <p>
+      Using <code>new Double(double)</code> is guaranteed to always result in a new object whereas
+      <code>Double.valueOf(double)</code> allows caching of values to be done by the compiler, class library, or JVM.
+      Using of cached values avoids object allocation and the code will be faster.
+      </p>
+      <p>
+      Unless the class must be compatible with JVMs predating Java 1.5,
+      use either autoboxing or the <code>valueOf()</code> method when creating instances of <code>Double</code> and <code>Float</code>.
+      </p>
+      
+    
+<h3><a name="DM_NUMBER_CTOR">Bx: Method invokes inefficient Number constructor; use static valueOf instead (DM_NUMBER_CTOR)</a></h3>
+
+      
+      <p>
+      Using <code>new Integer(int)</code> is guaranteed to always result in a new object whereas
+      <code>Integer.valueOf(int)</code> allows caching of values to be done by the compiler, class library, or JVM.
+      Using of cached values avoids object allocation and the code will be faster.
+      </p>
+      <p>
+      Values between -128 and 127 are guaranteed to have corresponding cached instances
+      and using <code>valueOf</code> is approximately 3.5 times faster than using constructor.
+      For values outside the constant range the performance of both styles is the same.
+      </p>
+      <p>
+      Unless the class must be compatible with JVMs predating Java 1.5,
+      use either autoboxing or the <code>valueOf()</code> method when creating instances of
+      <code>Long</code>, <code>Integer</code>, <code>Short</code>, <code>Character</code>, and <code>Byte</code>.
+      </p>
+      
+    
+<h3><a name="DMI_BLOCKING_METHODS_ON_URL">Dm: The equals and hashCode methods of URL are blocking (DMI_BLOCKING_METHODS_ON_URL)</a></h3>
+
+
+  <p> The equals and hashCode
+method of URL perform domain name resolution, this can result in a big performance hit.
+See <a href="http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html">http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html</a> for more information.
+Consider using <code>java.net.URI</code> instead.
+   </p>
+
+    
+<h3><a name="DMI_COLLECTION_OF_URLS">Dm: Maps and sets of URLs can be performance hogs (DMI_COLLECTION_OF_URLS)</a></h3>
+
+
+  <p> This method or field is or uses a Map or Set of URLs. Since both the equals and hashCode
+method of URL perform domain name resolution, this can result in a big performance hit.
+See <a href="http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html">http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html</a> for more information.
+Consider using <code>java.net.URI</code> instead.
+   </p>
+
+    
+<h3><a name="DM_BOOLEAN_CTOR">Dm: La méthode invoque le constructeur inutile Boolean() ; utilisez Boolean.valueOf(...) à la place (DM_BOOLEAN_CTOR)</a></h3>
+
+
+<p>Créer de nouvelles instances de <code>java.lang.Boolean</code> gaspille la mémoire puisque les objets <code>Boolean</code> sont immuables et qu'il n'y a que deux valeurs utiles de ce type. Utilisez à la place la méthode <code>Boolean.valueOf()</code> pour créer des objets <code>Boolean</code>.</p>
+
+  
+<h3><a name="DM_GC">Dm: Ramasse-miettes explicite ; extrêmement douteux sauf dans du code de banc d'essai (DM_GC)</a></h3>
+
+
+<p>Le code appelle explicitement le ramasse-miettes. Mis à part l'emploi spécifique dans un banc d'essai, c'est très douteux.</p>
+<p>Dans le passé, les cas où des personnes ont explicitement invoqué le ramasse-miettes dans des méthodes telles que <code>close()</code> ou <code>finalize()</code> ont creusés des gouffres dans les performances. Le ramasse-miettes peut-être très coûteux. Toute situation qui force des centaines ou des milliers de ramasse-miettes mettra à genoux une machine.</p>
+
+  
+<h3><a name="DM_NEW_FOR_GETCLASS">Dm: Méthode allouant un objet juste pour obtenir la classe (DM_NEW_FOR_GETCLASS)</a></h3>
+
+
+<p>Cette méthode alloue un objet juste pour appeler sa méthode <code>getClass()</code> afin d'obtenir l'objet <code>Class</code> correspondant. Il est plus simple d'accèder directement à la propriété <code>.class</code> de la classe.</p>
+
+  
+<h3><a name="DM_NEXTINT_VIA_NEXTDOUBLE">Dm: Utiliser la méthode nextInt de Random plutôt que nextDouble pour générer un entier aléatoire (DM_NEXTINT_VIA_NEXTDOUBLE)</a></h3>
+
+
+<p>Si <code>r</code> est un <code>java.util.Random</code>, vous pouvez générer un nombre aléatoire entre 0 et n-1 en utilisant <code>r.nextInt(n)</code> plutôt que <code>(int)(r.nextDouble() * n)</code>.</p>
+
+  
+<h3><a name="DM_STRING_CTOR">Dm: La méthode invoque le constructeur inutile String(String) ; utilisez juste l'argument (DM_STRING_CTOR)</a></h3>
+
+
+<p>Utiliser le constructeur <code>java.lang.String(String)</code> gaspille de la mémoire puisque l'objet ainsi construit serait fonctionnellement identique à la chaîne passée en paramètre. Utilisez juste la chaîne en argument directement.</p>
+
+  
+<h3><a name="DM_STRING_TOSTRING">Dm: La méthode appel toString() sur un objet String ; utilisez directement l'objet String (DM_STRING_TOSTRING)</a></h3>
+
+
+<p>Appeler <code>String.toString()</code> est juste une opération redondante. Utilisez directement l'objet <code>String</code>.</p>
+
+  
+<h3><a name="DM_STRING_VOID_CTOR">Dm: La méthode invoque le constructeur inutile String() ; utilisez juste "" (DM_STRING_VOID_CTOR)</a></h3>
+
+
+<p>Créer un nouveau objet <code>java.lang.String</code> en utilisant le constructeur sans argument gaspille de la mémoire parce que l'objet ainsi créé serait fonctionnellement identique à la constante de chaîne vide "". Java garantie que les chaînes constantes identiques seront représentées par le même objet <code>String</code>. C'est pourquoi vous devriez directement utiliser la constante de chaîne vide.</p>
+
+  
+<h3><a name="HSC_HUGE_SHARED_STRING_CONSTANT">HSC: Huge string constants is duplicated across multiple class files (HSC_HUGE_SHARED_STRING_CONSTANT)</a></h3>
+
+      
+      <p>
+    A large String constant is duplicated across multiple class files.
+    This is likely because a final field is initialized to a String constant, and the Java language
+    mandates that all references to a final field from other classes be inlined into
+that classfile. See <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6447475">JDK bug 6447475</a>
+    for a description of an occurrence of this bug in the JDK and how resolving it reduced
+    the size of the JDK by 1 megabyte.
+</p>
+      
+   
+<h3><a name="IIO_INEFFICIENT_INDEX_OF">IIO: Inefficient use of String.indexOf(String) (IIO_INEFFICIENT_INDEX_OF)</a></h3>
+
+
+<p> This code passes a constant string of length 1 to String.indexOf().
+It is more efficient to use the integer implementations of String.indexOf().
+f. e. call <code>myString.indexOf('.')</code> instead of <code>myString.indexOf(".")</code></p>
+
+    
+<h3><a name="IIO_INEFFICIENT_LAST_INDEX_OF">IIO: Inefficient use of String.lastIndexOf(String) (IIO_INEFFICIENT_LAST_INDEX_OF)</a></h3>
+
+
+<p> This code passes a constant string of length 1 to String.lastIndexOf().
+It is more efficient to use the integer implementations of String.lastIndexOf().
+f. e. call <code>myString.lastIndexOf('.')</code> instead of <code>myString.lastIndexOf(".")</code></p>
+
+    
+<h3><a name="ITA_INEFFICIENT_TO_ARRAY">ITA: La méthode utilise toArray() avec un tableau vide en paramètre (ITA_INEFFICIENT_TO_ARRAY)</a></h3>
+
+
+<p>Cette méthode utilise la méthode <code>toArray()</code> d'une classe dérivant de <code>Collection</code>, en lui passant en paramètre un tableau vide. Il est plus efficace d'utiliser <code>myCollection.toArray(new Foo[myCollection.size()])</code>. Si le tableau transmis est assez grand pour stocker tous les éléments de la collection, alors il est alimenté et renvoyé directement. Ceci évite la nécessité de créer un nouveau tableau (par réflexion) pour renvoyer le résultat.</p>
+
+  
+<h3><a name="SBSC_USE_STRINGBUFFER_CONCATENATION">SBSC: La méthode concatène des chaînes au moyen de + en boucle (SBSC_USE_STRINGBUFFER_CONCATENATION)</a></h3>
+
+
+<p>Cette méthode semble construire une <ocde>String</code> en utilisant une concaténation en boucle. A chaque itération, l'objet <code>String</code> est converti en <code>StringBuffer</code>/<code>StringBuilder</code>, complété, puis de nouveau converti en <code>String</code>. Ceci a un coût exponentiel en fonction du nombre d'itérations, puisque la chaîne est recopiée à chaque itération.</p>
+<p>De meilleurs performances peuvent être obtenues en utilisant explicitement <code>StringBuffer</code> (ou <code>StringBuilder</code> en Java 5).</p>
+<p>Par exemple :</p>
+<pre>
+// C'est mal !
+String s = "";
+for (int i = 0; i &lt; field.length; ++i) {
+  s = s + field[i];
+}
+
+// C'est mieux...
+StringBuffer buf = new StringBuffer();
+for (int i = 0; i &lt; field.length; ++i) {
+  buf.append(field[i]);
+}
+String s = buf.toString();
+</pre>
+
+  
+<h3><a name="SIC_INNER_SHOULD_BE_STATIC">SIC: Devrait être une classe interne statique (SIC_INNER_SHOULD_BE_STATIC)</a></h3>
+
+
+<p>Cette classe est une classe interne, mais n'utilise pas sa référence vers l'objet qui l'a créée. Cette référence rend les instances de cette classe plus grosses et peut garder active la référence à l'objet créateur plus longtemps que nécessaire. Si possible, la classe devrait être transformée en classe interne <code>static</code>.</p>
+
+  
+<h3><a name="SIC_INNER_SHOULD_BE_STATIC_ANON">SIC: Peut-être transformée en classe interne statique nommée (SIC_INNER_SHOULD_BE_STATIC_ANON)</a></h3>
+
+
+<p>Cette classe est une classe interne qui n'utilise pas sa référence vers l'objet qui l'a créée. Cette référence rend l'objet plus gros et peut garder active la référence de l'objet créateur plus longtemps que nécessaire. Si possible, la classe devrait être transformée en classe interne <code>static</code>. Puisque les classes anonymes ne peuvent pas être marquées comme <code>static</code>, il faudrait également nommer cette classe.</p>
+
+  
+<h3><a name="SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS">SIC: Pourrait-être transformée en classe interne statique (SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS)</a></h3>
+
+
+<p>Cette classe est une classe interne mais elle n'utilise pas sa référence vers l'objet qui l'a créée, à part durant la création de l'objet interne. Cette référence rend les instances de cette classe plus grosses et peut forcer à garder active la référence de l'objet créateur plus longtemps que nécessaire. Si possible, la classe devrait-être transformée en classe interne <code>static</code>. Puisque la référence à l'objet créateur est requise durant la construction de la classe interne, le constructeur de celle-ci devrait-être modifié afin d'accepter en argument cette référence.</p>
+
+  
+<h3><a name="SS_SHOULD_BE_STATIC">SS: Champ non lu : devrait-il être statique ? (SS_SHOULD_BE_STATIC)</a></h3>
+
+
+<p>Cette classe contient un champ d'instance <code>final</code> qui est initialisé par une valeur statique déterminée à la compilation. Envisagez de rendre ce champ <code>static</code>.</p>
+
+  
+<h3><a name="UM_UNNECESSARY_MATH">UM: Appel d'une méthode statique de la classe Math sur une valeur constante (UM_UNNECESSARY_MATH)</a></h3>
+
+
+<p>Cette méthode utilise une méthode statique de <code>java.lang.Math</code> sur une valeur constante. Dans ce cas, le résultat de cet appel peut être déterminé statiquement, ce qui est plus rapide et souvent plus précis. Les méthodes détectées sont :</p>
+<table>
+<tr><th>Méthode</th><th>Paramètre</th></tr>
+<tr><td>abs</td><td>-tous-</td></tr>
+<tr><td>acos</td><td>0.0 ou 1.0</td></tr>
+<tr><td>asin</td><td>0.0 ou 1.0</td></tr>
+<tr><td>atan</td><td>0.0 ou 1.0</td></tr>
+<tr><td>atan2</td><td>0.0</td></tr>
+<tr><td>cbrt</td><td>0.0 ou 1.0</td></tr>
+<tr><td>ceil</td><td>-tous-</td></tr>
+<tr><td>cos</td><td>0.0</td></tr>
+<tr><td>cosh</td><td>0.0</td></tr>
+<tr><td>exp</td><td>0.0 ou 1.0</td></tr>
+<tr><td>expm1</td><td>0.0</td></tr>
+<tr><td>floor</td><td>-tous-</td></tr>
+<tr><td>log</td><td>0.0 ou 1.0</td></tr>
+<tr><td>log10</td><td>0.0 ou 1.0</td></tr>
+<tr><td>rint</td><td>-tous-</td></tr>
+<tr><td>round</td><td>-tous-</td></tr>
+<tr><td>sin</td><td>0.0</td></tr>
+<tr><td>sinh</td><td>0.0</td></tr>
+<tr><td>sqrt</td><td>0.0 ou 1.0</td></tr>
+<tr><td>tan</td><td>0.0</td></tr>
+<tr><td>tanh</td><td>0.0</td></tr>
+<tr><td>toDegrees</td><td>0.0 ou 1.0</td></tr>
+<tr><td>toRadians</td><td>0.0</td></tr>
+</table>
+
+  
+<h3><a name="UPM_UNCALLED_PRIVATE_METHOD">UPM: Méthode privée jamais appelée (UPM_UNCALLED_PRIVATE_METHOD)</a></h3>
+
+
+<p>Cette méthode privée n'est jamais appelée. Bien qu'il soit possible que cette méthode soit appelée par réflexion, il y a plus de chances qu'elle ne soit jamais utilisée et qu'elle puisse être supprimée.</p>
+
+  
+<h3><a name="URF_UNREAD_FIELD">UrF: Champ inutilisé (URF_UNREAD_FIELD)</a></h3>
+
+
+<p>Ce champ n'est jamais lu. Envisagez de le supprimer de la classe.</p>
+
+  
+<h3><a name="UUF_UNUSED_FIELD">UuF: Champ inutilisé (UUF_UNUSED_FIELD)</a></h3>
+
+
+<p>Ce champ n'est jamais utilisé. Envisagez de le supprimer de la classe.</p>
+
+  
+<h3><a name="WMI_WRONG_MAP_ITERATOR">WMI: Utilisation inefficace d'un itérateur sur keySet au lieu de entrySet (WMI_WRONG_MAP_ITERATOR)</a></h3>
+
+
+<p>Cette méthode accède à la valeur d'une entrée de <code>Map</code> au moyen d'une clé provenant d'un itérateur sur <code>keySet</code>. Il est plus efficace d'utiliser un itérateur sur l'<code>entrySet</code> de la <code>Map</code>, pour éviter la recherche par <code>Map.get(clé)</code>.</p>
+
+  
+<h3><a name="DMI_CONSTANT_DB_PASSWORD">Dm: Hardcoded constant database password (DMI_CONSTANT_DB_PASSWORD)</a></h3>
+
+      
+    <p>This code creates a database connect using a hardcoded, constant password. Anyone with access to either the source code or the compiled code can
+    easily learn the password.
+</p>
+
+
+    
+<h3><a name="DMI_EMPTY_DB_PASSWORD">Dm: Empty database password (DMI_EMPTY_DB_PASSWORD)</a></h3>
+
+      
+    <p>This code creates a database connect using a blank or empty password. This indicates that the database is not protected by a password.
+</p>
+
+
+    
+<h3><a name="HRS_REQUEST_PARAMETER_TO_COOKIE">HRS: HTTP cookie formed from untrusted input (HRS_REQUEST_PARAMETER_TO_COOKIE)</a></h3>
+
+      
+    <p>This code constructs an HTTP Cookie using an untrusted HTTP parameter. If this cookie is added to an HTTP response, it will allow a HTTP response splitting
+vulnerability. See <a href="http://en.wikipedia.org/wiki/HTTP_response_splitting">http://en.wikipedia.org/wiki/HTTP_response_splitting</a>
+for more information.</p>
+<p>FindBugs looks only for the most blatant, obvious cases of HTTP response splitting.
+If FindBugs found <em>any</em>, you <em>almost certainly</em> have more
+vulnerabilities that FindBugs doesn't report. If you are concerned about HTTP response splitting, you should seriously
+consider using a commercial static analysis or pen-testing tool.
+</p>
+
+
+    
+<h3><a name="HRS_REQUEST_PARAMETER_TO_HTTP_HEADER">HRS: HTTP Response splitting vulnerability (HRS_REQUEST_PARAMETER_TO_HTTP_HEADER)</a></h3>
+
+            
+    <p>This code directly writes an HTTP parameter to an HTTP header, which allows for a HTTP response splitting
+vulnerability. See <a href="http://en.wikipedia.org/wiki/HTTP_response_splitting">http://en.wikipedia.org/wiki/HTTP_response_splitting</a>
+for more information.</p>
+<p>FindBugs looks only for the most blatant, obvious cases of HTTP response splitting.
+If FindBugs found <em>any</em>, you <em>almost certainly</em> have more
+vulnerabilities that FindBugs doesn't report. If you are concerned about HTTP response splitting, you should seriously
+consider using a commercial static analysis or pen-testing tool.
+</p>
+
+
+        
+<h3><a name="PT_ABSOLUTE_PATH_TRAVERSAL">PT: Absolute path traversal in servlet (PT_ABSOLUTE_PATH_TRAVERSAL)</a></h3>
+
+
+    <p>The software uses an HTTP request parameter to construct a pathname that should be within a restricted directory,
+but it does not properly neutralize absolute path sequences such as "/abs/path" that can resolve to a location that is outside of that directory.
+
+See <a href="http://cwe.mitre.org/data/definitions/36.html">http://cwe.mitre.org/data/definitions/36.html</a>
+for more information.</p>
+<p>FindBugs looks only for the most blatant, obvious cases of absolute path traversal.
+If FindBugs found <em>any</em>, you <em>almost certainly</em> have more
+vulnerabilities that FindBugs doesn't report. If you are concerned about absolute path traversal, you should seriously
+consider using a commercial static analysis or pen-testing tool.
+</p>
+
+
+    
+<h3><a name="PT_RELATIVE_PATH_TRAVERSAL">PT: Relative path traversal in servlet (PT_RELATIVE_PATH_TRAVERSAL)</a></h3>
+
+
+    <p>The software uses an HTTP request parameter to construct a pathname that should be within a restricted directory, but it does not properly neutralize sequences such as ".." that can resolve to a location that is outside of that directory.
+
+See <a href="http://cwe.mitre.org/data/definitions/23.html">http://cwe.mitre.org/data/definitions/23.html</a>
+for more information.</p>
+<p>FindBugs looks only for the most blatant, obvious cases of relative path traversal.
+If FindBugs found <em>any</em>, you <em>almost certainly</em> have more
+vulnerabilities that FindBugs doesn't report. If you are concerned about relative path traversal, you should seriously
+consider using a commercial static analysis or pen-testing tool.
+</p>
+
+
+    
+<h3><a name="SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE">SQL: Une chaîne non constante est passée à la méthode execute d'une commande SQL (SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE)</a></h3>
+
+
+<p>Cette méthode invoque la méthode <code>execute</code> d'une commande SQL (statement) avec une chaîne qui semble générée dynamiquement. Préférer la préparation de la commande avec un <code>PreparedStatement</code>, c'est plus efficace et bien moins vulnérable aux attaques par injection SQL (insertion de code SQL malveillant au sein d'une requête).</p>
+
+  
+<h3><a name="SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING">SQL: Une requète est préparée à partir d'une chaine non constante (SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING)</a></h3>
+
+
+<p>Ce code créé une requète SQL préparée à partir d'une chaine non constante. Les données qui permettent de construire cette chaine venant de l'utilisateur, elles pourraient, sans vérification, servir à faire de l'injection de SQL et ainsi modifier la requète afin qu'elle produise des résultats inattendus et indésirables.</p>
+
+  
+<h3><a name="XSS_REQUEST_PARAMETER_TO_JSP_WRITER">XSS: JSP reflected cross site scripting vulnerability (XSS_REQUEST_PARAMETER_TO_JSP_WRITER)</a></h3>
+
+
+    <p>This code directly writes an HTTP parameter to JSP output, which allows for a cross site scripting
+vulnerability. See <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">http://en.wikipedia.org/wiki/Cross-site_scripting</a>
+for more information.</p>
+<p>FindBugs looks only for the most blatant, obvious cases of cross site scripting.
+If FindBugs found <em>any</em>, you <em>almost certainly</em> have more cross site scripting
+vulnerabilities that FindBugs doesn't report. If you are concerned about cross site scripting, you should seriously
+consider using a commercial static analysis or pen-testing tool.
+</p>
+
+    
+<h3><a name="XSS_REQUEST_PARAMETER_TO_SEND_ERROR">XSS: Servlet reflected cross site scripting vulnerability in error page (XSS_REQUEST_PARAMETER_TO_SEND_ERROR)</a></h3>
+
+
+    <p>This code directly writes an HTTP parameter to a Server error page (using HttpServletResponse.sendError). Echoing this untrusted input allows
+for a reflected cross site scripting
+vulnerability. See <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">http://en.wikipedia.org/wiki/Cross-site_scripting</a>
+for more information.</p>
+<p>FindBugs looks only for the most blatant, obvious cases of cross site scripting.
+If FindBugs found <em>any</em>, you <em>almost certainly</em> have more cross site scripting
+vulnerabilities that FindBugs doesn't report. If you are concerned about cross site scripting, you should seriously
+consider using a commercial static analysis or pen-testing tool.
+</p>
+
+
+    
+<h3><a name="XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER">XSS: Servlet reflected cross site scripting vulnerability (XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER)</a></h3>
+
+
+    <p>This code directly writes an HTTP parameter to Servlet output, which allows for a reflected cross site scripting
+vulnerability. See <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">http://en.wikipedia.org/wiki/Cross-site_scripting</a>
+for more information.</p>
+<p>FindBugs looks only for the most blatant, obvious cases of cross site scripting.
+If FindBugs found <em>any</em>, you <em>almost certainly</em> have more cross site scripting
+vulnerabilities that FindBugs doesn't report. If you are concerned about cross site scripting, you should seriously
+consider using a commercial static analysis or pen-testing tool.
+</p>
+
+
+    
+<h3><a name="BC_BAD_CAST_TO_ABSTRACT_COLLECTION">BC: Transtypage douteux d'un type Collection vers une classe abstraite (BC_BAD_CAST_TO_ABSTRACT_COLLECTION)</a></h3>
+
+
+<p>Ce code transtype un object de type <code>Collection</code> vers un type de collection abstrait (tel que <code>Collection</code>). Assurez vous que l'objet est bien du type précisé. Si vous désirez par exemple faire une itération sur une collection, le transtypage vers <code>Set</code> ou <code>List</code> est inutile.</p>
+
+  
+<h3><a name="BC_BAD_CAST_TO_CONCRETE_COLLECTION">BC: Transtypage douteux vers une collection concrète (BC_BAD_CAST_TO_CONCRETE_COLLECTION)</a></h3>
+
+
+<p>Ce code transtype une collection abstraite (telles que <code>Collection</code>, <code>List</code>, ou <code>Set</code>) vers une implémentation concrète spécifique (telles que <code>ArrayList</code> ou <code>HashSet</code>). Ceci n'est pas forcément correct, et peut rendre votre code plus fragile, puisqu'il un éventuel refactoring futur avec une autre implémentation concrète plus difficile. A défaut d'une raison valable, l'utilisation des classes abstraites est recommandée.</p>
+
+  
+<h3><a name="BC_UNCONFIRMED_CAST">BC: Transtypage non vérifié/non confirmé (BC_UNCONFIRMED_CAST)</a></h3>
+
+
+<p>La faisablité du transtypage n'est pas vérifiée, et tous les objets candidats au transtypage ne sont pas légitimes. Assurez vous que la logique du programme est correcte et que le transtypage n'échouera pas.</p>
+
+  
+<h3><a name="BC_UNCONFIRMED_CAST_OF_RETURN_VALUE">BC: Unchecked/unconfirmed cast of return value from method (BC_UNCONFIRMED_CAST_OF_RETURN_VALUE)</a></h3>
+
+
+<p>
+This code performs an unchecked cast of the return value of a method.
+The code might be calling the method in such a way that the cast is guaranteed to be
+safe, but FindBugs is unable to verify that the cast is safe.  Check that your program logic ensures that this
+cast will not fail.
+</p>
+
+    
+<h3><a name="BC_VACUOUS_INSTANCEOF">BC: instanceof renverra toujours vrai (BC_VACUOUS_INSTANCEOF)</a></h3>
+
+
+<p>Ce test <code>instanceof</code> renverra toujours vrai. Même s'il est sûr, assurez-vous qu'il ne s'agit pas d'une erreur logique ou d'une mauvaise compréhension.</p>
+
+  
+<h3><a name="ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT">BSHIFT: Décalage à droite non signé et transtypage short/byte (ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT)</a></h3>
+
+
+<p>Le code effectue un décalage à droite non signé, dont le résultat est transtypé vers un <code>short</code> ou un <code>byte</code>, ce qui élimine les bits supérieurs du résultat. Puisque les bits supérieurs sont éliminés, il peut ne pas y avoir de différence entre un décalage à droite signé ou non signé (ceci dépend de la taille du décalage)</p>
+
+  
+<h3><a name="CI_CONFUSED_INHERITANCE">CI: Classe finale déclarant un champ protégé (CI_CONFUSED_INHERITANCE)</a></h3>
+
+
+<p>Cette classe est déclarée <code>final</code> mais comporte des champs <code>protected</code>. Cette classe étant finale, elle ne pourra jamais être dérivée et donc l'utilisation de <code>protected</code> est troublante. Le modificateur d'accès devrait être modifié à <code>private</code> ou <code>public</code> pour mettre en évidence la véritable utilisation du champ.</p>
+
+  
+<h3><a name="DB_DUPLICATE_BRANCHES">DB: Méthode utilsant le même code pour deux branches (DB_DUPLICATE_BRANCHES)</a></h3>
+
+
+<p>Cette méthode utilise le même code pour implémenter deux branches d'une condition. Vérifiez pour vous assurer que ce n'est pas une erreur de codage.</p>
+
+  
+<h3><a name="DB_DUPLICATE_SWITCH_CLAUSES">DB: Méthode utilisant le même code pour deux clauses switch (DB_DUPLICATE_SWITCH_CLAUSES)</a></h3>
+
+
+<p>Cette méthode utilise le même code pour implémenter deux cas différents d'un <code>switch</code>. Ce peut être normal mais il vaut mieux vérifier que ce n'est pas une erreur de codage.</p>
+
+  
+<h3><a name="DLS_DEAD_LOCAL_STORE">DLS: Alimentation à perte d'une variable locale (DLS_DEAD_LOCAL_STORE)</a></h3>
+
+
+<p>Cette instruction assigne une valeur à une variable locale mais cette variable n'est pas lue par la suite. Ceci indique souvent une erreur puisque la valeur calculée n'est jamais utilisée.</p>
+<p>Notez que le compilateur javac de Sun génère fréquemment ce genre d'affectations à perte. FindBugs analysant le byte-code généré, il n'y a pas de façon simple d'éliminer ces fausses alarmes.</p>
+
+  
+<h3><a name="DLS_DEAD_LOCAL_STORE_IN_RETURN">DLS: Useless assignment in return statement (DLS_DEAD_LOCAL_STORE_IN_RETURN)</a></h3>
+
+      
+<p>
+This statement assigns to a local variable in a return statement. This assignment
+has effect. Please verify that this statement does the right thing.
+</p>
+
+    
+<h3><a name="DLS_DEAD_LOCAL_STORE_OF_NULL">DLS: Alimentation à null d'une variable (DLS_DEAD_LOCAL_STORE_OF_NULL)</a></h3>
+
+
+<p>Le code alimente une variable locale avec null, la valeur n'étant jamais lue par la suite. Cette alimentation a pu être introduite pour faciliter le travail du ramasse-miettes, mais cela n'a plus aucun intérêt avec Java SE 6.</p>
+
+  
+<h3><a name="DLS_DEAD_LOCAL_STORE_SHADOWS_FIELD">DLS: Dead store to local variable that shadows field (DLS_DEAD_LOCAL_STORE_SHADOWS_FIELD)</a></h3>
+
+
+<p>
+This instruction assigns a value to a local variable,
+but the value is not read or used in any subsequent instruction.
+Often, this indicates an error, because the value computed is never
+used. There is a field with the same name as the local variable. Did you
+mean to assign to that variable instead?
+</p>
+
+    
+<h3><a name="DMI_HARDCODED_ABSOLUTE_FILENAME">DMI: Chemin absolu codé en dur dans le code (DMI_HARDCODED_ABSOLUTE_FILENAME)</a></h3>
+
+
+<p>Ce code construit un objet <code>File</code> en utilisant un chemin absolu de fichier codé en dur (Ex. : <code>new File("/home/dannyc/workspace/j2ee/src/share/com/sun/enterprise/deployment");)</code>.</p>
+
+  
+<h3><a name="DMI_NONSERIALIZABLE_OBJECT_WRITTEN">DMI: Objet non sérialisable écrit dans un ObjectOutput (DMI_NONSERIALIZABLE_OBJECT_WRITTEN)</a></h3>
+
+
+<p>Ce code semble transmettre un objet non sérialisable à la méthode <code>ObjectOutput.writeObject</code>. Une erreur se produira si cet objet est effectivement non sérialisable.</p>
+
+  
+<h3><a name="DMI_USELESS_SUBSTRING">DMI: Appel de substring(0) qui retourne la valeur originale (DMI_USELESS_SUBSTRING)</a></h3>
+
+
+<p>Ce code appelle <code>substring(0)</code> sur une chaine, ce qui renvoit la valeur originale.</p>
+
+  
+<h3><a name="DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED">Dm: Thread passed where Runnable expected (DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED)</a></h3>
+
+
+  <p> A Thread object is passed as a parameter to a method where
+a Runnable is expected. This is rather unusual, and may indicate a logic error
+or cause unexpected behavior.
+   </p>
+
+    
+<h3><a name="EQ_DOESNT_OVERRIDE_EQUALS">Eq: Class doesn't override equals in superclass (EQ_DOESNT_OVERRIDE_EQUALS)</a></h3>
+
+
+  <p> This class extends a class that defines an equals method and adds fields, but doesn't
+define an equals method itself. Thus, equality on instances of this class will
+ignore the identity of the subclass and the added fields. Be sure this is what is intended,
+and that you don't need to override the equals method. Even if you don't need to override
+the equals method, consider overriding it anyway to document the fact
+that the equals method for the subclass just return the result of
+invoking super.equals(o).
+  </p>
+
+    
+<h3><a name="EQ_UNUSUAL">Eq: Unusual equals method  (EQ_UNUSUAL)</a></h3>
+
+
+  <p> This class doesn't do any of the patterns we recognize for checking that the type of the argument
+is compatible with the type of the <code>this</code> object. There might not be anything wrong with
+this code, but it is worth reviewing.
+</p>
+
+    
+<h3><a name="FE_FLOATING_POINT_EQUALITY">FE: Test d'égalité en virgule flottante. (FE_FLOATING_POINT_EQUALITY)</a></h3>
+
+
+<p>Cette opération teste l'égalité de deux valeurs en virgule flottante. Les calculs en virgule flottante pouvant introduire des arrondis, les valeurs flottantes ou doubles peuvent être imprécises. Pour les valeurs qui doivent être précises, telles que les valeurs monétaires, pensez à utiliser un type à précision fixe tel qu'un <code>BigDecimal</code>. Pour les valeurs qui n'ont pas besoin d'être précises, pensez à tester l'égalité sur une portée quelconque, par exemple : <code>if ( Math.abs(x - y) &lt; .0000001 )</code>. Cf section 4.2.4 des spécifications du langage Java.</p>
+
+  
+<h3><a name="VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN">FS: Non-Boolean argument formatted using %b format specifier (VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN)</a></h3>
+
+
+<p>
+An argument not of type Boolean is being formatted with a %b format specifier. This won't throw an
+exception; instead, it will print true for any nonnull value, and false for null.
+This feature of format strings is strange, and may not be what you intended.
+</p>
+
+     
+<h3><a name="IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD">IA: Appel ambigu d'une méthode hérité ou externe (IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD)</a></h3>
+
+
+<p>Une classe interne invoque une méthode qui peut être résolue comme une méthode héritée ou comme une méthode définie dans une classe externe. La sémantique de Java fait qu'elle sera résolue en invoquant la méthode héritée, mais ce n'est peut être pas votre intention. Si vous souhaitez réellement invoquer la méthode héritée, faite le en utilisant <code>super</code> (Ex : appelé <code>super.foo(17)</code>) ce qui clarifiera votre code pour les autres lecteurs et pour FindBugs.</p>
+
+  
+<h3><a name="IC_INIT_CIRCULARITY">IC: Initialisation circulaire (IC_INIT_CIRCULARITY)</a></h3>
+
+
+<p>Une initialisation circulaire a été détectée dans les initialisations de variables statiques de deux classes référencées par l'instance en erreur. De nombreuses sortes de comportements inattendus peuvent surgir d'une telle situation.</p>
+
+  
+<h3><a name="ICAST_IDIV_CAST_TO_DOUBLE">ICAST: Résultat d'une division entière transtypé en nombre flottant (ICAST_IDIV_CAST_TO_DOUBLE)</a></h3>
+
+
+<p>Ce code transtype le résultat d'une division entière en un nombre flottant à double précision. Effectuer une division sur des nombres entiers n'est pas précis. Le fait que le résultat soit transtypé en <code>double</code> suggère que cette précision était voulue dès le départ. Peut être l'un ou l'autre des opérandes, ou les deux opérandes, auraient du être transtypé avant d'effectuer la division. Voici un exemple :</p>
+<blockquote>
+<pre>
+int x = 2;
+int y = 5;
+// Faux: renvoi 0.0
+double value1 =  x / y;
+
+// Juste: renvoi 0.4
+double value2 =  x / (double) y;
+</pre>
+</blockquote>
+
+  
+<h3><a name="ICAST_INTEGER_MULTIPLY_CAST_TO_LONG">ICAST: Résultat d'une multiplication entière transtypée en long (ICAST_INTEGER_MULTIPLY_CAST_TO_LONG)</a></h3>
+
+
+<p>Ce code effectue des multiplications entières et transtype le résultat en <code>long</code>, comme dans :
+<code>long convertDaysToMilliseconds(int days) { return 1000*3600*24*days; }</code>. Si la multiplication était réalisée en utilisant l'arithmétique <code>long</code>, vous pourriez éviter le risque de débordement de capacité du calcul. Vous pouvez par exemple corriger le code précédent par : <code>long convertDaysToMilliseconds(int days) { return 1000L*3600*24*days; }</code> ou <code><pre>
+static final long MILLISECONDS_PER_DAY = 24L*3600*1000;
+long convertDaysToMilliseconds(int days) { return days * MILLISECONDS_PER_DAY; } 
+</pre></code></p>
+
+  
+<h3><a name="IM_AVERAGE_COMPUTATION_COULD_OVERFLOW">IM: Possibilité de débordement du calcul d'une moyenne (IM_AVERAGE_COMPUTATION_COULD_OVERFLOW)</a></h3>
+
+
+<p>Le code calcule la moyenne de deux entiers au moyen d'une division ou d'un décalage signé vers la droite, puis utilise le résultat comme indice d'un tableau. Si les valeurs moyennées sont très grandes, le calcul peut déborder (résultant en un très grand négatif). En supposant que le résultat doive toujours être positif, vous devriez plutôt utiliser un décalage à droite non signé. En d'autres termes, utilisez plutôt  <code>(low+high) &gt;&gt;&gt; 1</code> au lieu de <code>(low+high)/2</code>.</p>
+<p>Le bug existe dans de nombreuses implémentations des recherches binaires et des tris fusion. Martin Buchholz <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6412541"> l'a recherché et corrigé </a> dans les librairies du JDK et Joshua Bloch <a href="http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html"> a largement publié ce modèle de bug</a>.</p>
+
+  
+<h3><a name="IM_BAD_CHECK_FOR_ODD">IM: Test d'impaire ne fonctionnant pas avec les négatifs (IM_BAD_CHECK_FOR_ODD)</a></h3>
+
+
+<p>Le code utilise <code>x % 2 == 1</code> pour véifier si une valeur est impaire, mais cela ne fonctionera pas avec une valeur négative (Ex. : <code>(-5) % 2 == -1</code>). Si ce code doit tester si une valeur est impaire, envisagez d'utiliser <code>x & 1 == 1</code> ou <code>x % 2 != 0</code>.</p>
+
+  
+<h3><a name="INT_BAD_REM_BY_1">INT: Reste entier modulo 1 (INT_BAD_REM_BY_1)</a></h3>
+
+
+<p>Cette expression (Ex. : <code>exp % 1</code>) est assurée de toujours renvoyer 0. Vouliez-vous plutot dire <code>(exp & 1)</code> ou <code>(exp % 2)</code> ?</p>
+
+  
+<h3><a name="INT_VACUOUS_BIT_OPERATION">INT: Vacuous bit mask operation on integer value (INT_VACUOUS_BIT_OPERATION)</a></h3>
+
+
+<p> This is an integer bit operation (and, or, or exclusive or) that doesn't do any useful work
+(e.g., <code>v & 0xffffffff</code>).
+
+</p>
+
+    
+<h3><a name="INT_VACUOUS_COMPARISON">INT: Comparaison inutile de valeurs entières (INT_VACUOUS_COMPARISON)</a></h3>
+
+
+<p>Il y a une comparaison entière qui renvoie toujours la même valeur (Ex. : <code>x <= Integer.MAX_VALUE</code>).</p>
+
+  
+<h3><a name="MTIA_SUSPECT_SERVLET_INSTANCE_FIELD">MTIA: La classe hérite de Servlet et utilise les variables de l'instance. (MTIA_SUSPECT_SERVLET_INSTANCE_FIELD)</a></h3>
+
+
+<p>Cette classe hérite de la classe <code>Servlet</code>, et utilise une variable de l'instance. Puisqu'une seule instance d'une classe <code>Servlet</code> est créée par le cadre de travail J2EE, et est utilisée dans un environnement multitâche, ce paradigme est très fortement découragé et très certainement problématique. Considérer l'emploi seul de variables propres à la méthode.</p>
+
+  
+<h3><a name="MTIA_SUSPECT_STRUTS_INSTANCE_FIELD">MTIA: La classe hérite d'une classe action Struts et utilise les variables de l'instance. (MTIA_SUSPECT_STRUTS_INSTANCE_FIELD)</a></h3>
+
+
+<p>Cette classe hérite d'une classe <code>Action</code> Struts, et utilise une variable de cette instance. Puisqu'une seule instance de la classe <code>Action</code> Struts est créée par le cadre de travail Struts, et est utilisée dans un environnement multitâche, ce paradigme est très fortement découragé et très certainement problématique. Considérer l'emploi seul de variables propres à la méthode.</p>
+
+  
+<h3><a name="NP_DEREFERENCE_OF_READLINE_VALUE">NP: Dereference of the result of readLine() without nullcheck (NP_DEREFERENCE_OF_READLINE_VALUE)</a></h3>
+
+
+  <p> The result of invoking readLine() is dereferenced without checking to see if the result is null. If there are no more lines of text
+to read, readLine() will return null and dereferencing that will generate a null pointer exception.
+</p>
+
+    
+<h3><a name="NP_IMMEDIATE_DEREFERENCE_OF_READLINE">NP: Déréférencement immédiat du résultat d'un readLine() (NP_IMMEDIATE_DEREFERENCE_OF_READLINE)</a></h3>
+
+
+<p>Le résultat d'un appel à <code>readLine()</code> est immédiatement déréférencé. S'il n'y a plus d'autre lignes de texte à lire, <code>readLine()</code> retournera <code>null</code> ce qui provoquera une <code>NullPointerException</code> lors du déréférencement.</p>
+
+  
+<h3><a name="NP_LOAD_OF_KNOWN_NULL_VALUE">NP: Chargement d'une valeur connue pour être à null (NP_LOAD_OF_KNOWN_NULL_VALUE)</a></h3>
+
+
+<p>La variable référencée est connue pour être à <code>null</code> suite à une vérification précédente. Bien que cela soit valide, ce peut être une erreur (peut-être vouliez-vous référencer une autre valeur ou le test précédent aurait-il due vérifier non-null plutôt que null).</p>
+
+  
+<h3><a name="NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION">NP: Method tightens nullness annotation on parameter (NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION)</a></h3>
+
+        <p>
+        A method should always implement the contract of a method it overrides. Thus, if a method takes a parameter
+    that is marked as @Nullable, you shouldn't override that method in a subclass with a method where that parameter is @Nonnull.
+    Doing so violates the contract that the method should handle a null parameter.
+        </p>
+      
+<h3><a name="NP_METHOD_RETURN_RELAXING_ANNOTATION">NP: Method relaxes nullness annotation on return value (NP_METHOD_RETURN_RELAXING_ANNOTATION)</a></h3>
+
+        <p>
+        A method should always implement the contract of a method it overrides. Thus, if a method takes is annotated
+    as returning a @Nonnull value,
+    you shouldn't override that method in a subclass with a method annotated as returning a @Nullable or @CheckForNull value.
+    Doing so violates the contract that the method shouldn't return null.
+        </p>
+      
+<h3><a name="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE">NP: Pointeur à null renvoyé par une méthode qui risque d'être déréférencé (NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE)</a></h3>
+
+
+<p>La valeur renvoyée par une méthode est déréférencée alors que cette méthode peut renvoyer <code>null</code>. Ceci peut conduire à une <code>NullPointerException</code> quand le code sera exécuté.</p>
+
+  
+<h3><a name="NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE">NP: Possible null pointer dereference on branch that might be infeasible (NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE)</a></h3>
+
+
+<p> There is a branch of statement that, <em>if executed,</em>  guarantees that
+a null value will be dereferenced, which
+would generate a <code>NullPointerException</code> when the code is executed.
+Of course, the problem might be that the branch or statement is infeasible and that
+the null pointer exception can't ever be executed; deciding that is beyond the ability of FindBugs.
+Due to the fact that this value had been previously tested for nullness,
+this is a definite possibility.
+</p>
+
+    
+<h3><a name="NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE">NP: Parameter must be nonnull but is marked as nullable (NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE)</a></h3>
+
+
+<p> This parameter is always used in a way that requires it to be nonnull,
+but the parameter is explicitly annotated as being Nullable. Either the use
+of the parameter or the annotation is wrong.
+</p>
+
+    
+<h3><a name="NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD">NP: Read of unwritten public or protected field (NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD)</a></h3>
+
+
+  <p> The program is dereferencing a public or protected
+field that does not seem to ever have a non-null value written to it.
+Unless the field is initialized via some mechanism not seen by the analysis,
+dereferencing this value will generate a null pointer exception.
+</p>
+
+    
+<h3><a name="NS_DANGEROUS_NON_SHORT_CIRCUIT">NS: Potentially dangerous use of non-short-circuit logic (NS_DANGEROUS_NON_SHORT_CIRCUIT)</a></h3>
+
+
+  <p> This code seems to be using non-short-circuit logic (e.g., &amp;
+or |)
+rather than short-circuit logic (&amp;&amp; or ||). In addition,
+it seem possible that, depending on the value of the left hand side, you might not
+want to evaluate the right hand side (because it would have side effects, could cause an exception
+or could be expensive.</p>
+<p>
+Non-short-circuit logic causes both sides of the expression
+to be evaluated even when the result can be inferred from
+knowing the left-hand side. This can be less efficient and
+can result in errors if the left-hand side guards cases
+when evaluating the right-hand side can generate an error.
+</p>
+
+<p>See <a href="http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.22.2">the Java
+Language Specification</a> for details
+
+</p>
+
+    
+<h3><a name="NS_NON_SHORT_CIRCUIT">NS: Utilisation discutable de logique binaire (NS_NON_SHORT_CIRCUIT)</a></h3>
+
+
+<p>Ce code semble utiliser de la logique binaire (Ex. : <code>&amp;</code> ou <code>|</code>) plutôt que les opérateurs booléens (<code>&amp;&amp;</code> ou <code>||</code>). La logique binaire entraîne l'évaluation systématique de toute l'expression, même quand le résultat pourrait être immédiatement déduit. Ceci est moins performant et peut provoquer des erreurs lorsque la partie gauche de l'expression masque des cas de la partie droite.</p>
+
+  
+<h3><a name="PZLA_PREFER_ZERO_LENGTH_ARRAYS">PZLA: Envisagez de renvoyer un tableau vide plutôt que null (PZLA_PREFER_ZERO_LENGTH_ARRAYS)</a></h3>
+
+
+<p>Renvoyer un tableau vide constitue souvent une meilleure approche plutôt que de renvoyer une référence à <code>null</code> pour signaler qu'il n'y a pas de résultat (c'est-à-dire, une liste vide de résultats). De cette façon, aucune vérification explicite du <code>null</code> n'est nécessaire dans les méthodes clientes.</p>
+<p>D'un autre côté, utiliser <code>null</code> signifie "il n'y a pas de réponse à cette question". Cela peut donc être approprié. Par exemple, <code>File.listFiles()</code> renvoi une liste vide si un répertoire donné ne contient pas de fichiers, et renvoi <code>null</code> si le fichier n'est pas un répertoire.</p>
+
+  
+<h3><a name="QF_QUESTIONABLE_FOR_LOOP">QF: Incrémentation compliquée, subtile au incorrecte dans une boucle for (QF_QUESTIONABLE_FOR_LOOP)</a></h3>
+
+
+<p>Etes vous certain que cette boucle incrémente la variable voulue ? Il sembleraît qu'une autre variable est initialisée et vérifiée par la boucle.</p>
+
+  
+<h3><a name="RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE">RCN: Comparaison redondante d'une valeur non nulle avec null (RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE)</a></h3>
+
+
+<p>Cette méthode contient une comparaison entre une référence connue pour être non nulle avec une autre référence connue pour être à <code>null</code>.</p>
+
+  
+<h3><a name="RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES">RCN: Comparaison redondante de deux valeurs nulles (RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES)</a></h3>
+
+
+<p>Cette méthode contient une comparaison redondante entre deux références connues pour être obligatoirement à <code>null</code>.</p>
+
+  
+<h3><a name="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE">RCN: Test de nullité redondant sur une valeur non nulle (RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE)</a></h3>
+
+
+<p>Cette méthode contient un test redondant de nullité sur une valeur connue pour être non nulle.</p>
+
+  
+<h3><a name="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE">RCN: Test de nullité redondant sur une valeur connue pour être à null (RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE)</a></h3>
+
+
+<p>Cette méthode contient un test redondant de nullité sur une valeur ne pouvant qu'être à <code>null</code>.</p>
+
+  
+<h3><a name="REC_CATCH_EXCEPTION">REC: java.lang.Exception est intercepté alors qu'Exception n'est jamais lancé (REC_CATCH_EXCEPTION)</a></h3>
+
+
+<p>Cette méthode utilise un block <code>try-catch</code> qui intercepte les objets <code>Exception</code>, mais <code>Exception</code> n'est jamais déclenché dans ce bloc, et <code>RuntimeException</code> n'est pas explicitement intercepté.  C'est une erreur commune de dire que <code>try / catch (Exception e)</code> est identique à plusieurs <code>try / catch</code>, mais cette tournure intercepte également les <code>RuntimeException</code>, masquant des bugs potentiels.</p>
+
+  
+<h3><a name="RI_REDUNDANT_INTERFACES">RI: Classe implémentant la même interface que sa super-classe (RI_REDUNDANT_INTERFACES)</a></h3>
+
+
+<p>Cette classe déclare implémenter une interface qui est aussi implémentée par une de ses classes mères. Ceci est redondant : dès qu'une super-classe implémente une interface, toutes les sous-classes le font aussi par défaut. Cela peut indiquer que la hiérarchie d'héritage a changé depuis la création de cette classe et la cible de l'implémentation de l'interface doit peut-être être reprise en considération.</p>
+
+  
+<h3><a name="RV_CHECK_FOR_POSITIVE_INDEXOF">RV: Méthode vérifiant que le résultat d'un String.indexOf() est positif (RV_CHECK_FOR_POSITIVE_INDEXOF)</a></h3>
+
+
+<p>La méthode appelle <code>String.indexOf()</code> et vérifie si le résultat est strictement positif ou pas. Il est plus habituel de vérifier si le résultat est négatif. Il n'est strictement positif que lorsque la sous-chaine recherchée apparaît ailleurs qu'au début de la chaine.</p>
+
+  
+<h3><a name="RV_DONT_JUST_NULL_CHECK_READLINE">RV: Méthode ignorant le résultat d'un readLine() après avoir vérifié qu'il est non nul (RV_DONT_JUST_NULL_CHECK_READLINE)</a></h3>
+
+
+<p>La valeur renvoyée par <code>readLine()</code> est ignorée après avoir vérifié s'il n'est pas à <code>null</code>. Dans quasiment tous les cas, si le résultat n'est pas à <code>null</code>, vous souhaiterez utiliser cette valeur. Appeler de nouveau <code>readLine()</code> vous renverra une ligne différente.</p>
+
+  
+<h3><a name="RV_REM_OF_HASHCODE">RV: Reste d'un hashCode pouvant être négatif (RV_REM_OF_HASHCODE)</a></h3>
+
+
+<p>Ce code calcule le code de hachage, puis son reste modulo une certaine valeur. Puisque le code de hachage peut être négatif, le reste peut également l'être.</p>
+<p>En supposant que vous vouliez garantir que le résultat de votre opération ne soit pas négatif, vous devriez modifier votre code. Si le diviseur est une puissance de 2, vous pourriez utiliser un décalage binaire à la place (c'est-à-dire <code>x.hashCode()&amp;(n-1)</code> au lieu de <code>x.hashCode()%n</code>). Cela est probablement plus rapide que de calculer le reste. Si le diviseur n'est pas une puissance de 2, vous devriez prendre la valeur absolue du reste (<code>Math.abs(x.hashCode()%n)</code>).</p>
+
+  
+<h3><a name="RV_REM_OF_RANDOM_INT">RV: Reste d'un entier signé 32 bits aléeatoire (RV_REM_OF_RANDOM_INT)</a></h3>
+
+
+<p>Ce code génère un entier signé aléatoire puis calcule le reste de cette valeur modulo une autre valeur. Puisque ce nombre aléatoire peut être négatif, le reste de l'opération peut également l'être. Soyez sûr que c'est voulu, et envisagez d'utiliser à la place la méthode <code>Random.nextInt(int)</code>.</p>
+
+  
+<h3><a name="RV_RETURN_VALUE_IGNORED_INFERRED">RV: Method ignores return value, is this OK? (RV_RETURN_VALUE_IGNORED_INFERRED)</a></h3>
+
+
+<p>This code calls a method and ignores the return value. The return value
+is the same type as the type the method is invoked on, and from our analysis it looks
+like the return value might be important (e.g., like ignoring the
+return value of <code>String.toLowerCase()</code>).
+</p>
+<p>We are guessing that ignoring the return value might be a bad idea just from
+a simple analysis of the body of the method. You can use a @CheckReturnValue annotation
+to instruct FindBugs as to whether ignoring the return value of this method
+is important or acceptable.
+</p>
+<p>Please investigate this closely to decide whether it is OK to ignore the return value.
+</p>
+
+    
+<h3><a name="SA_FIELD_DOUBLE_ASSIGNMENT">SA: Double assignment of field (SA_FIELD_DOUBLE_ASSIGNMENT)</a></h3>
+
+
+<p> This method contains a double assignment of a field; e.g.
+</p>
+<pre>
+  int x,y;
+  public void foo() {
+    x = x = 17;
+  }
+</pre>
+<p>Assigning to a field twice is useless, and may indicate a logic error or typo.</p>
+
+    
+<h3><a name="SA_LOCAL_DOUBLE_ASSIGNMENT">SA: Double assignment of local variable  (SA_LOCAL_DOUBLE_ASSIGNMENT)</a></h3>
+
+
+<p> This method contains a double assignment of a local variable; e.g.
+</p>
+<pre>
+  public void foo() {
+    int x,y;
+    x = x = 17;
+  }
+</pre>
+<p>Assigning the same value to a variable twice is useless, and may indicate a logic error or typo.</p>
+
+    
+<h3><a name="SA_LOCAL_SELF_ASSIGNMENT">SA: Auto-alimentation d'une variable locale (SA_LOCAL_SELF_ASSIGNMENT)</a></h3>
+
+
+<p>Cette méthode contient une auto-alimentation d'une variable locale, par exemple :</p>
+<pre>
+public vida foo() {
+  int x = 3;
+  x = x;
+}
+</pre>
+<p>De telles affectations sont inutiles et peuvent indiquer une faute de frappe ou une erreur de logique.</p>
+
+  
+<h3><a name="SF_SWITCH_FALLTHROUGH">SF: Un switch comporte un cas qui déborde sur le suivant (SF_SWITCH_FALLTHROUGH)</a></h3>
+
+
+<p>Cette méthode contient un <code>switch</code> dont l'un des cas déborde sur le suivant. Normalement, vous devez terminer chaque cas avec une instruction <code>break</code> ou <code>return</code>.</p>
+
+  
+<h3><a name="SF_SWITCH_NO_DEFAULT">SF: Switch statement found where default case is missing (SF_SWITCH_NO_DEFAULT)</a></h3>
+
+
+  <p> This method contains a switch statement where default case is missing.
+  Usually you need to provide a default case.</p>
+  <p>Because the analysis only looks at the generated bytecode, this warning can be incorrect triggered if
+the default case is at the end of the switch statement and doesn't end with a break statement.
+
+    
+<h3><a name="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD">ST: Ecriture d'un champ statique depuis la méthode d'une instance (ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD)</a></h3>
+
+
+<p>La méthode de l'instance écrit la valeur d'un champ statique. Cela peut être difficile à gérer si plusieurs instances ont la possibilité d'écrire cette valeur et cela ressemble surtout à une mauvaise pratique.</p>
+
+  
+<h3><a name="SE_PRIVATE_READ_RESOLVE_NOT_INHERITED">Se: Private readResolve method not inherited by subclasses (SE_PRIVATE_READ_RESOLVE_NOT_INHERITED)</a></h3>
+
+
+  <p> This class defines a private readResolve method. Since it is private, it won't be inherited by subclasses.
+This might be intentional and OK, but should be reviewed to ensure it is what is intended.
+</p>
+
+    
+<h3><a name="SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS">Se: Transient field of class that isn't Serializable.  (SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS)</a></h3>
+
+
+  <p> The field is marked as transient, but the class isn't Serializable, so marking it as transient
+has absolutely no effect.
+This may be leftover marking from a previous version of the code in which the class was transient, or
+it may indicate a misunderstanding of how serialization works.
+</p>
+
+    
+<h3><a name="TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK">TQ: Value required to have type qualifier, but marked as unknown (TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK)</a></h3>
+
+      
+      <p>
+      A value is used in a way that requires it to be always be a value denoted by a type qualifier, but
+    there is an explicit annotation stating that it is not known where the value is required to have that type qualifier.
+    Either the usage or the annotation is incorrect.
+      </p>
+      
+    
+<h3><a name="TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK">TQ: Value required to not have type qualifier, but marked as unknown (TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK)</a></h3>
+
+      
+      <p>
+      A value is used in a way that requires it to be never be a value denoted by a type qualifier, but
+    there is an explicit annotation stating that it is not known where the value is prohibited from having that type qualifier.
+    Either the usage or the annotation is incorrect.
+      </p>
+      
+    
+<h3><a name="UCF_USELESS_CONTROL_FLOW">UCF: Instruction de contrôle du flux inutile (UCF_USELESS_CONTROL_FLOW)</a></h3>
+
+
+<p>Cette méthode contient une instruction de contrôle du flux inutile. Ceci est souvent provoqué par inadvertance, en utilisant un paragraphe vide comme corps d'une condition. Exemple :</p>
+<pre>
+if (argv.length == 1);
+    System.out.println("Hello, " + argv[0]);
+</pre>
+
+  
+<h3><a name="UCF_USELESS_CONTROL_FLOW_NEXT_LINE">UCF: Useless control flow to next line (UCF_USELESS_CONTROL_FLOW_NEXT_LINE)</a></h3>
+
+
+<p> This method contains a useless control flow statement in which control
+flow follows to the same or following line regardless of whether or not
+the branch is taken.
+Often, this is caused by inadvertently using an empty statement as the
+body of an <code>if</code> statement, e.g.:</p>
+<pre>
+    if (argv.length == 1);
+        System.out.println("Hello, " + argv[0]);
+</pre>
+
+    
+<h3><a name="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD">UrF: Unread public/protected field (URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD)</a></h3>
+
+
+  <p> This field is never read.&nbsp;
+The field is public or protected, so perhaps
+    it is intended to be used with classes not seen as part of the analysis. If not,
+consider removing it from the class.</p>
+
+    
+<h3><a name="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD">UuF: Unused public or protected field (UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD)</a></h3>
+
+
+  <p> This field is never used.&nbsp;
+The field is public or protected, so perhaps
+    it is intended to be used with classes not seen as part of the analysis. If not,
+consider removing it from the class.</p>
+
+    
+<h3><a name="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">UwF: Champ non initialisé dans le constructeur (UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR)</a></h3>
+
+
+<p>Ce champ n'est jamais initialisé dans aucun constructeur, et est de ce fait <code>null</code> une fois l'objet initialisé. Soit il s'agit d'une erreur, soit il s'agit d'un design douteux puisque ce champ génèra une exception s'il est déréférencé avant toute initialisation.</p>
+
+  
+<h3><a name="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD">UwF: Unwritten public or protected field (UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD)</a></h3>
+
+
+  <p> No writes were seen to this public/protected field.&nbsp; All reads of it will return the default
+value. Check for errors (should it have been initialized?), or remove it if it is useless.</p>
+
+    
+<h3><a name="XFB_XML_FACTORY_BYPASS">XFB: Méthode instanciant directement une implémentation spécifique des interfaces XML (XFB_XML_FACTORY_BYPASS)</a></h3>
+
+
+<p>Cette méthode instancie une implémentation spécifique de l'interface XML. Il est préférable d'utiliser les classes 'Factory' fournies pour créer ces objets, ce qui permet de changer d'implémentation à l'exécution. Pour des détails, cf. :</p>
+<p>
+<ul>
+ <li>javax.xml.parsers.DocumentBuilderFactory</li>
+ <li>javax.xml.parsers.SAXParserFactory</li>
+ <li>javax.xml.transform.TransformerFactory</li>
+ <li>org.w3c.dom.Document.create<i>XXXX</i></li>
+</ul>
+</p>
+
+  
+
+
+<hr> <p> 
+<script language="JavaScript" type="text/javascript"> 
+<!---//hide script from old browsers 
+document.write( "Last updated "+ document.lastModified + "." ); 
+//end hiding contents ---> 
+</script> 
+<p> Send comments to <a class="sidebar" href="mailto:findbugs@cs.umd.edu">findbugs@cs.umd.edu</a> 
+<p> 
+<A href="http://sourceforge.net"><IMG src="http://sourceforge.net/sflogo.php?group_id=96405&amp;type=5" width="210" height="62" border="0" alt="SourceForge.net Logo" /></A>
+</td></tr></table>
+</body></html>
diff --git a/doc/bugDescriptions_ja.html b/doc/bugDescriptions_ja.html
new file mode 100644
index 0000000..31243ce
--- /dev/null
+++ b/doc/bugDescriptions_ja.html
@@ -0,0 +1,5188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html><head><title>FindBugs Bug Descriptions</title>
+<link rel="stylesheet" type="text/css" href="findbugs.css"/>
+<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
+</head><body>
+
+<table width="100%"><tr>
+
+<td bgcolor="#b9b9fe" valign="top" align="left" width="20%"> 
+<table width="100%" cellspacing="0" border="0"> 
+<tr><td><a class="sidebar" href="index.html"><img src="umdFindbugs.png" alt="FindBugs"></a></td></tr> 
+
+<tr><td>&nbsp;</td></tr>
+
+<tr><td><b>Docs and Info</b></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
+
+<tr><td>&nbsp;</td></tr>
+
+<tr><td><a class="sidebar" href="downloads.html"><b>Downloads</b></a></td></tr> 
+
+<tr><td>&nbsp;</td></tr>
+
+<tr><td><a class="sidebar" href="http://www.cafeshops.com/findbugs"><b>FindBugs Swag</b></a></td></tr>
+
+<tr><td>&nbsp;</td></tr>
+
+<tr><td><b>Development</b></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+</table> 
+</td>
+<td align="left" valign="top">
+<h1>FindBugs Bug Descriptions</h1>
+<p>This document lists the standard bug patterns reported by
+<a href="http://findbugs.sourceforge.net">FindBugs</a> version 3.0.0.</p>
+<h2>Summary</h2>
+<table width="100%">
+<tr bgcolor="#b9b9fe"><th>Description</th><th>Category</th></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS">BC: equals メソッドは引数の型を仮定するべきではない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_SIGNED_CHECK">BIT: ビット演算の符号をチェックする</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#CN_IDIOM">CN: Cloneable を実装したクラスが clone メソッドを定義していないか、使用していない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CN_IDIOM_NO_SUPER_CALL">CN: clone メソッドが super.clone() を呼び出していない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE">CN: Cloneable を実装していないクラスが clone メソッドを定義している</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CNT_ROUGH_CONSTANT_VALUE">CNT: 既知の定数の雑な値を見つける</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#CO_ABSTRACT_SELF">Co: 抽象クラスは共変な compareTo メソッドを定義している</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CO_SELF_NO_OBJECT">Co: 共変な compareTo メソッドの定義</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DE_MIGHT_DROP">DE: 例外を捨てているかもしれないメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DE_MIGHT_IGNORE">DE: 例外を無視しているかもしれないメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS">DMI: エントリセットの要素を加えることは、Entry オブジェクトの再利用のために失敗するかもしれない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_RANDOM_USED_ONLY_ONCE">DMI: Random オブジェクトが作成され1度しか使われない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION">DMI: コレクションを消去するために removeAll メソッドを使用しない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_EXIT">Dm: System.exit(...) を呼び出しているメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_RUN_FINALIZERS_ON_EXIT">Dm: 危険なメソッド runFinalizersOnExit を呼び出しているメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ES_COMPARING_PARAMETER_STRING_WITH_EQ">ES: String パラメータを == や != を使用して比較している</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ES_COMPARING_STRINGS_WITH_EQ">ES: String オブジェクトを == や != を使用して比較している</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_ABSTRACT_SELF">Eq: 抽象クラスは共変な equals メソッドを宣言している</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS">Eq: equals メソッドは互換性のないオペランドをチェックしている</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_COMPARETO_USE_OBJECT_EQUALS">Eq: compareTo(...) メソッドを定義して Object.equals() を使用しているクラス</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_GETCLASS_AND_CLASS_CONSTANT">Eq: equals メソッドはサブタイプのために失敗する</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_SELF_NO_OBJECT">Eq: 共変な equals メソッドの定義</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_EMPTY">FI: 空のファイナライザは削除するべき</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_EXPLICIT_INVOCATION">FI: ファイナライザの明示的な呼び出し</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_FINALIZER_NULLS_FIELDS">FI: ファイナライザはフィールドを null にする</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_FINALIZER_ONLY_NULLS_FIELDS">FI: ファイナライザはフィールドを null にするだけ</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_MISSING_SUPER_CALL">FI: ファイナライザはスーパークラスのファイナライザを呼び出していない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#FI_NULLIFY_SUPER">FI: ファイナライザはスーパークラスのファイナライザを無効にしている</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_USELESS">FI: ファイナライザはスーパークラスのファイナライザを呼び出しているだけ</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_USES_NEWLINE">FS: 書式文字列は \n よりも %n を使用するべき</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#GC_UNCHECKED_TYPE_IN_GENERIC_CALL">GC: 検査されない型への総称呼び出し</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_EQUALS_NO_HASHCODE">HE: equals メソッドは定義していますが hashCode メソッドは定義していないクラス</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_EQUALS_USE_HASHCODE">HE: equals メソッドを定義して Object.hashCode() を使用しているクラス</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_HASHCODE_NO_EQUALS">HE: hashCode メソッドを定義していますが equals メソッドは定義していないクラス</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_HASHCODE_USE_OBJECT_EQUALS">HE: hashCode メソッドを定義して Object.equals() を使用しているクラス</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_INHERITS_EQUALS_USE_HASHCODE">HE: equals メソッドを継承して Object.hashCode() を使用しているクラス</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION">IC: スーパークラスは初期化中にサブクラスを使用している</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IMSE_DONT_CATCH_IMSE">IMSE: 疑わしい IllegalMonitorStateException のキャッチ</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ISC_INSTANTIATE_STATIC_CLASS">ISC: static メソッドだけを提供するクラスの不必要なインスタンス化</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IT_NO_SUCH_ELEMENT">It: Iterator.next() が NoSuchElementException をスローできない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION">J2EE: HttpSession への非直列化可能オブジェクトの格納</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS">JCIP: 不変クラスのフィールドは final にすべき</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_BOOLEAN_RETURN_NULL">NP: 戻り型が Boolean のメソッドが明示的に null を返している</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_CLONE_COULD_RETURN_NULL">NP: null を返すかもしれない clone メソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT">NP: equals メソッドは null の引数をチェックしていない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_TOSTRING_COULD_RETURN_NULL">NP: null を返すかもしれない toString メソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_CLASS_NAMING_CONVENTION">Nm: クラス名は大文字から始めるべき</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_CLASS_NOT_EXCEPTION">Nm: 例外クラスのように命名されているが、クラスは Exception から派生されていない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_CONFUSING">Nm: 紛らわしい名前のメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_FIELD_NAMING_CONVENTION">Nm: フィールド名は小文字から始めるべき</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER">Nm: Java の後のバージョンのキーワードである識別子を使用している</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER">Nm: Java の後のバージョンのキーワードである識別子を使用している</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_METHOD_NAMING_CONVENTION">Nm: メソッド名は小文字から始めるべきです</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_SAME_SIMPLE_NAME_AS_INTERFACE">Nm: クラス名は実装されたインタフェースの単純名を遮るべきではない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_SAME_SIMPLE_NAME_AS_SUPERCLASS">Nm: クラス名はスーパークラスの単純名を遮るべきではない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_VERY_CONFUSING_INTENTIONAL">Nm: 非常に紛らわしい名前のメソッド (多分意図的)</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_WRONG_PACKAGE_INTENTIONAL">Nm: パラメータの間違ったパッケージのためにスーパークラスのメソッドをオーバーライドしていないメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ODR_OPEN_DATABASE_RESOURCE">ODR: データベースリソースのクローズに失敗するかもしれないメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH">ODR: 例外経路でデータベースリソースのクローズに失敗するかもしれないメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#OS_OPEN_STREAM">OS: ストリームのクローズに失敗するかもしれないメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#OS_OPEN_STREAM_EXCEPTION_PATH">OS: 例外経路でストリームのクローズに失敗するかもしれないメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS">PZ: 繰り返しでエントリオブジェクトを再利用しない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE">RC: 定数への疑わしい参照比較</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN">RC: Boolean 値の疑わしい参照比較</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RR_NOT_CHECKED">RR: InputStream.read() の戻り値を無視しているメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SR_NOT_CHECKED">RR: InputStream.skip() の戻り値を無視しているメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_NEGATING_RESULT_OF_COMPARETO">RV: compareTo()/compare() の結果を無効にする</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_RETURN_VALUE_IGNORED_BAD_PRACTICE">RV: 例外的戻り値を無視しているメソッド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SI_INSTANCE_BEFORE_FINALS_ASSIGNED">SI: スタティックイニシャライザは、すべての static final フィールドが代入される前にインスタンスを作成する</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SW_SWING_METHODS_INVOKED_IN_SWING_THREAD">SW: Swing メソッドは AWT イベントディスパッチスレッドから呼び出す必要がある</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_BAD_FIELD">Se: 直列化可能クラスの非 transient で非直列化可能なインスタンスフィールド</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_BAD_FIELD_INNER_CLASS">Se: 非直列化可能クラスに直列化可能な内部クラスがある</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_BAD_FIELD_STORE">Se: 非直列化可能な値を直列化可能クラスのインスタンスフィールドに格納している</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_COMPARATOR_SHOULD_BE_SERIALIZABLE">Se: Comparator は Serializable を実装していない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_INNER_CLASS">Se: 直列化可能な内部クラス</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NONFINAL_SERIALVERSIONID">Se: serialVersionUID が final ではない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NONLONG_SERIALVERSIONID">Se: serialVersionUID が long ではない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NONSTATIC_SERIALVERSIONID">Se: serialVersionUID が static ではない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR">Se: Serializable なクラスのスーパークラスで、引数なしコンストラクタを定義していない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION">Se: Externalizable なクラスが引数なしコンストラクタを定義していない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_READ_RESOLVE_MUST_RETURN_OBJECT">Se: readResolve メソッドの戻り値の型が Object で宣言されていない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_TRANSIENT_FIELD_NOT_RESTORED">Se: 直列化復元によって設定されない transient フィールド </a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_NO_SERIALVERSIONID">SnVI: Serializable なクラスが serialVersionUID を定義していない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UI_INHERITANCE_UNSAFE_GETRESOURCE">UI: クラスが拡張されるなら getResource の使い方は安全ではないかもしれない</a></td><td>Bad practice</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_CAST">BC: 不可能なキャスト</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_DOWNCAST">BC: 不可能なダウンキャスト</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY">BC: toArray メソッドの結果の不可能なダウンキャスト</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_IMPOSSIBLE_INSTANCEOF">BC: 常に false を返す instanceof</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_ADD_OF_SIGNED_BYTE">BIT: 符号付きバイト値のビット加算</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_AND">BIT: 互換性のないビットマスク</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_AND_ZZ">BIT: ((...) & 0) == 0 なのか確かめている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_IOR">BIT: 互換性のないビットマスク</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BIT_IOR_OF_SIGNED_BYTE">BIT: 符号付きバイト値のビット論理和</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BIT_SIGNED_CHECK_HIGH_BIT">BIT: ビット演算の符号をチェックする</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BOA_BADLY_OVERRIDDEN_ADAPTER">BOA: スーパークラスの Adapter で実装されるメソッドを誤ってオーバーライドしているクラス</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_BAD_SHIFT_AMOUNT">BSHIFT: 32ビット int の-31から31の範囲を超えた量によるシフト</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR">Bx: プリミティブ値が3項演算子のためにアンボクシングされて、型変換される</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CO_COMPARETO_RESULTS_MIN_VALUE">Co: compareTo()/compare() は Integer.MIN_VALUE を返す</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_DEAD_LOCAL_INCREMENT_IN_RETURN">DLS: return 文に役に立たないインクリメントがある</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DLS_DEAD_STORE_OF_CLASS_LITERAL">DLS: クラスリテラルの無効な代入</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_OVERWRITTEN_INCREMENT">DLS: 上書きされたインクリメント</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_ARGUMENTS_WRONG_ORDER">DMI: 逆にされた引数</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_BAD_MONTH">DMI: 月のための間違った定数値</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE">DMI: 正確に表されない double から構築された BigDecimal</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_CALLING_NEXT_FROM_HASNEXT">DMI: hasNext メソッドで next メソッドを呼び出している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES">DMI: コレクションは自分自身を含めるべきではない</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_DOH">DMI: D'oh! 無意味なメソッド呼び出し</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_INVOKING_HASHCODE_ON_ARRAY">DMI: 配列で hashCode メソッドを呼び出している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT">DMI: int に対して Double.longBitsToDouble() を呼び出している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_VACUOUS_SELF_COLLECTION_CALL">DMI: コレクションへの無意味な呼び出し</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION">Dm: ランタイムリテンションなしで、アノテーションの存在を調べるためにリフレクションを使用することはできない</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR">Dm: ScheduledThreadPoolExecutor の最大プールサイズを変えようとする無駄な試み</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS">Dm: コアプールサイズが0の ScheduledThreadPoolExecutor の作成</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD">Dm: EasyMock メソッドへの役に立たない/無意味な呼び出し</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_ARRAY_AND_NONARRAY">EC: equals メソッドを使用して配列と非配列を比較している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_BAD_ARRAY_COMPARE">EC: 配列の equals メソッド呼び出しは == と等価である</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_INCOMPATIBLE_ARRAY_COMPARE">EC: equals(...) メソッドを使用して互換性のない配列を比較している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_NULL_ARG">EC: equals(null) の呼び出し</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_CLASS_AND_INTERFACE">EC: equals メソッドを呼び出して無関係のクラスとインタフェースを比較している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_INTERFACES">EC: equals メソッドを呼び出して異なる型のインタフェースを比較している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EC_UNRELATED_TYPES">EC: equals メソッドを呼び出して異なる型を比較している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EC_UNRELATED_TYPES_USING_POINTER_EQUALITY">EC: 参照等価性を使用して異なる型を比較している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_ALWAYS_FALSE">Eq: equals メソッドは常に false を戻す</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_ALWAYS_TRUE">Eq: equals メソッドは常に true を返す</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_COMPARING_CLASS_NAMES">Eq: equals メソッドはクラスオブジェクトではなくクラス名を比較している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_DONT_DEFINE_EQUALS_FOR_ENUM">Eq: 列挙型は共変な equals メソッドを定義している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_OTHER_NO_OBJECT">Eq: equals(Object) メソッドをオーバーライドしていない equals メソッドの定義</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_OTHER_USE_OBJECT">Eq: Object.equals(Object) をオーバーライドしていない equals メソッドの定義</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC">Eq: equals メソッドはスーパークラスの equals メソッドをオーバーライドしているが、対称的ではないかもしれない</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_SELF_USE_OBJECT">Eq: 共変な equals メソッドを定義して、Object.equals(Object) を継承している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER">FE: NaN への等価性のための絶望的なテスト</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_BAD_ARGUMENT">FS: 書式指示子へ渡している引数に互換性がない</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_BAD_CONVERSION">FS: 与えられた引数の型は書式指示子に合致しません</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED">FS: printf スタイルの書式が期待されているところで MessageFormat が与えられている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED">FS: 書式文字列で実際に使われるより、多くの引数が渡されている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_ILLEGAL">FS: 無効な書式文字列</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_FORMAT_STRING_MISSING_ARGUMENT">FS: 書式文字列は足りない引数を参照している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT">FS: 書式文字列ための前の引数がない</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#GC_UNRELATED_TYPES">GC: 型パラメータとメソッド引数に関係がない</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS">HE: ハッシュ化された文脈でハッシュ化できないクラスの使用がシグネチャで宣言されている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HE_USE_OF_UNHASHABLE_CLASS">HE: ハッシュデータ構造で hashCode メソッドのないクラスを使用している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_INT_2_LONG_AS_INSTANT">ICAST: int 値を long に変換して絶対時間として使用している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL">ICAST: 整数値を double にキャストして Math.ceil() に渡している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND">ICAST: 整数値を float にキャストして Math.round() に渡している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD">IJU: run メソッドでの JUnit アサーションは JUnit によって通知されない</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_BAD_SUITE_METHOD">IJU: TestCase は suite メソッドの間違った宣言をしている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_NO_TESTS">IJU: TestCase はテストがない </a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_SETUP_NO_SUPER">IJU: TestCase は super.setup() を呼び出さない setUp メソッドを実装している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IJU_SUITE_NOT_STATIC">IJU: TestCase は 非 static な suite メソッドを実装している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IJU_TEARDOWN_NO_SUPER">IJU: TestCase は super.tearDown() を呼び出さない tearDown メソッドを実装している </a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IL_CONTAINER_ADDED_TO_ITSELF">IL: コレクションは自分自身を追加している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IL_INFINITE_LOOP">IL: 明らかな無限ループ</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IL_INFINITE_RECURSIVE_LOOP">IL: 明らかな無限再帰ループ</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IM_MULTIPLYING_RESULT_OF_IREM">IM: 整数剰余の結果の整数乗算</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_COMPARISON_WITH_INT_VALUE">INT: int 値と long 定数との間違った比較</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE">INT: 負でない値と負の定数との間違った比較</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_COMPARISON_WITH_SIGNED_BYTE">INT: 符号付きバイトの間違った比較</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IO_APPENDING_TO_OBJECT_OUTPUT_STREAM">IO: オブジェクト出力ストリームへの追加は失敗に終わる</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN">IP: メソッドで読み取られずに上書きされているパラメータ</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MF_CLASS_MASKS_FIELD">MF: スーパークラスのフィールドを隠すフィールドを定義しているクラス</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MF_METHOD_MASKS_FIELD">MF: フィールドを隠す変数を定義しているメソッド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_ALWAYS_NULL">NP: null 値を利用している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_ALWAYS_NULL_EXCEPTION">NP: null 値を例外経路で利用している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_ARGUMENT_MIGHT_BE_NULL">NP: null の引数をチェックしていないメソッド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_CLOSING_NULL">NP: 常に null 値のオブジェクトで close メソッドを呼び出している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_GUARANTEED_DEREF">NP: null 値を利用することが保証されている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH">NP: null 値を例外経路で利用することが保証されている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP: 非 null フィールドは初期化されていない</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NONNULL_PARAM_VIOLATION">NP: メソッド呼び出しは非 null パラメータに対して null を渡している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NONNULL_RETURN_VIOLATION">NP: null を返すかもしれないメソッドが @NonNull 宣言されている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_INSTANCEOF">NP: null とわかっている値をその型のインスタンスなのか確かめている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_ON_SOME_PATH">NP: null 値を利用している可能性がある</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_ON_SOME_PATH_EXCEPTION">NP: null 値を例外経路で利用している可能性がある</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_PARAM_DEREF">NP: メソッド呼び出しは非 null パラメータに対して null を渡している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS">NP: メソッド呼び出しは非 null パラメータに対して null を渡している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_PARAM_DEREF_NONVIRTUAL">NP: 非 null パラメータに null を渡している非仮想メソッドの呼び出し</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_OPTIONAL_RETURN_NULL">NP: Optional の戻り型を持つメソッドが明示的に null を返す</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_STORE_INTO_NONNULL_FIELD">NP: @NonNull でアノテートされたフィールドに null を格納している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_UNWRITTEN_FIELD">NP: 書き込まれていないフィールドの読み出し</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_BAD_EQUAL">Nm: クラスは equal(Object) を定義しています。equals(Object) にすべきですか?</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_LCASE_HASHCODE">Nm: クラスは hashcode() を定義しています。hashCode() にすべきですか?</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_LCASE_TOSTRING">Nm: クラスは tostring() を定義しています。toString() にすべきですか?</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_METHOD_CONSTRUCTOR_CONFUSION">Nm: 明らかなメソッドとコンストラクタの混乱</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NM_VERY_CONFUSING">Nm: 非常に紛らわしい名前のメソッド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NM_WRONG_PACKAGE">Nm: パラメータの間違ったパッケージのために、スーパークラスのメソッドをオーバーライドしていないメソッド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT">QBA: 論理式で boolean リテラル値を代入しているメソッド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RC_REF_COMPARISON">RC: 疑わしい参照比較</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE">RCN: すでに利用していた値の null チェック</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION">RE: 正規表現のための無効な構文</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION">RE: 正規表現のために使われている File.separator</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RE_POSSIBLE_UNINTENDED_PATTERN">RE: 正規表現のために使われている "." または "|"</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_01_TO_INT">RV: 0から1の乱数値は整数値0に丸められる</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_ABSOLUTE_VALUE_OF_HASHCODE">RV: 符号付き32ビットハッシュコードの絶対値を計算する間違った試み</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_ABSOLUTE_VALUE_OF_RANDOM_INT">RV: 符号付き整数の乱数の絶対値を計算する間違った試み</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_CHECK_COMPARETO_FOR_SPECIFIC_RETURN_VALUE">RV: compareTo によって返された特定の値のコードチェック</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_EXCEPTION_NOT_THROWN">RV: 作成した例外をスローするのではなく捨てている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_RETURN_VALUE_IGNORED">RV: 戻り値を無視しているメソッド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RpC_REPEATED_CONDITIONAL_TEST">RpC: 条件テストの繰り返し</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SA_FIELD_SELF_ASSIGNMENT">SA: フィールドの自己代入</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SA_FIELD_SELF_COMPARISON">SA: フィールドとそれ自身との自己比較</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SA_FIELD_SELF_COMPUTATION">SA: フィールドの無意味な自己演算 (たとえば、 x & x)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SA_LOCAL_SELF_ASSIGNMENT_INSTEAD_OF_FIELD">SA: フィールドへの代入ではなくローカル変数への自己代入</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SA_LOCAL_SELF_COMPARISON">SA: ローカル変数とそれ自身との自己比較</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SA_LOCAL_SELF_COMPUTATION">SA: 変数の無意味な自己演算 (たとえば、x & x)</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH">SF: switch 文のフォールスルーのために格納が無効になっている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW">SF: スローする switch 文のフォールスルーのために格納が無効になっている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SIC_THREADLOCAL_DEADLY_EMBRACE">SIC: 非 static 内部クラスとスレッドローカルのデッドロック</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SIO_SUPERFLUOUS_INSTANCEOF">SIO: instanceof 演算子を使用した不必要な型チェック</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SQL_BAD_PREPARED_STATEMENT_ACCESS">SQL: インデックスが0で PreparedStatement にアクセスしようとしているメソッド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SQL_BAD_RESULTSET_ACCESS">SQL: インデックスが0で ResultSet にアクセスしようとしているメソッド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#STI_INTERRUPTED_ON_CURRENTTHREAD">STI: interrupted メソッドを呼び出すために不要な currentThread メソッドを呼び出している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#STI_INTERRUPTED_ON_UNKNOWNTHREAD">STI: スレッドインスタンスで static Thread.interrupted() を呼び出している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_METHOD_MUST_BE_PRIVATE">Se: 直列化機構のために private にしなければならないメソッド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_READ_RESOLVE_IS_STATIC">Se: readResolve メソッドが static メソッドとして宣言されている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED">TQ: 型修飾子でアノテーションされた値がその修飾子を付けてはならない値を必要とする場所で使われている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS">TQ: 互換性のない型修飾子による比較値</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK">TQ: 型修飾子を付けていないかもしれない値がその型修飾子を必要とする方法で常に使われている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK">TQ: 型修飾子を付けているかもしれない値がその型修飾子を禁止する方法で常に使われている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED">TQ: 型修飾子でアノテートされていない値がその修飾子が付けられた値を必要とする場所で使われている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED">TQ: 型修飾子がない値が修飾子を必要とする場所で使われている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS">UMAC: 呼び出し不可能なメソッドが無名クラスで定義されている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UR_UNINIT_READ">UR: コンストラクタで初期化されていないフィールドを読み出している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR">UR: スーパークラスのコンストラクタから呼び出されるメソッドで初期化されていないフィールドを読み出している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY">USELESS_STRING: 名前のない配列で toString メソッドを呼び出している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_INVOKING_TOSTRING_ON_ARRAY">USELESS_STRING: 配列で toString メソッドを呼び出している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY">USELESS_STRING: 書式文字列を使用して役に立たない方法で配列をフォーマットしている</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UWF_NULL_FIELD">UwF: null に設定されるだけのフィールド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UWF_UNWRITTEN_FIELD">UwF: 書き込まれていないフィールド</a></td><td>Correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG">VA: 可変長引数を期待しているメソッドにプリミティブ型の配列を渡している</a></td><td>Correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE">LG: ロガーの変更は OpenJDK の弱参照が原因で潜在的に失われる</a></td><td>Experimental</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#OBL_UNSATISFIED_OBLIGATION">OBL: ストリームやリソースのクリーンアップに失敗するかもしれないメソッド</a></td><td>Experimental</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE">OBL: チェック例外でストリームやリソースのクリーンアップに失敗するかもしれないメソッド</a></td><td>Experimental</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_CONVERT_CASE">Dm: 呼び出したメソッドの Locale パラメータの使用を検討する</a></td><td>Internationalization</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_DEFAULT_ENCODING">Dm: デフォルトエンコーディングへの依存</a></td><td>Internationalization</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED">DP: doPrivileged ブロック内で作成されるべきクラスローダ</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DP_DO_INSIDE_DO_PRIVILEGED">DP: doPrivileged ブロック内で呼び出すべきメソッド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EI_EXPOSE_REP">EI: 可変オブジェクトへの参照を返すことによって内部表現を暴露するかもしれないメソッド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EI_EXPOSE_REP2">EI2: 可変オブジェクトへの参照を取り込むことによって内部表現を暴露するかもしれないメソッド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FI_PUBLIC_SHOULD_BE_PROTECTED">FI: ファイナライザは public ではなく protected にすべき</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EI_EXPOSE_STATIC_REP2">MS: static フィールドに可変オブジェクトを格納することによって、内部の静的状態を暴露するかもしれないメソッド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MS_CANNOT_BE_FINAL">MS: final でないフィールドは悪質なコードから保護できない</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MS_EXPOSE_REP">MS: 配列を返すことによって内部表現を暴露するかもしれない public static メソッド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MS_FINAL_PKGPROTECT">MS: final かつパッケージプロテクテッドにすべきフィールド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MS_MUTABLE_ARRAY">MS: 可変配列のフィールド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MS_MUTABLE_HASHTABLE">MS: 可変 Hashtable のフィールド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MS_OOI_PKGPROTECT">MS: インタフェースから移動してパッケージプロテクテッドにすべきフィールド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MS_PKGPROTECT">MS: パッケージプロテクテッドにすべきフィールド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MS_SHOULD_BE_FINAL">MS: final にすべきフィールド</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MS_SHOULD_BE_REFACTORED_TO_BE_FINAL">MS: final でないフィールドはリファクタリングするべき</a></td><td>Malicious code vulnerability</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION">AT: 並行抽象の呼び出しシーケンスはアトミックではないかもしれない</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DC_DOUBLECHECK">DC: フィールドのダブルチェックの可能性</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DL_SYNCHRONIZATION_ON_BOOLEAN">DL: Boolean の同期化</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE">DL: デッドロックの原因になる可能性があるボクシングされたプリミティブ型の同期化</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DL_SYNCHRONIZATION_ON_SHARED_CONSTANT">DL: 正準化した文字列の同期化</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE">DL: ボクシングされたプリミティブ値の同期化</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_MONITOR_WAIT_ON_CONDITION">Dm: Condition で wait メソッドを呼び出している</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_USELESS_THREAD">Dm: デフォルトの空の run メソッドを使用して作成されたスレッド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ESync_EMPTY_SYNC">ESync: 空の synchronized ブロック</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IS2_INCONSISTENT_SYNC">IS: 一貫性のない同期化</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IS_FIELD_NOT_GUARDED">IS: 並行アクセスに対してガードされていないフィールド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#JLM_JSR166_LOCK_MONITORENTER">JLM: Lock で同期化している</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#JLM_JSR166_UTILCONCURRENT_MONITORENTER">JLM: java.util.concurrent のインスタンスで同期化している</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#JML_JSR166_CALLING_WAIT_RATHER_THAN_AWAIT">JLM: util.concurrent 抽象でモニタスタイルの wait メソッドを使用している</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#LI_LAZY_INIT_STATIC">LI: static フィールドの間違った遅延初期化</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#LI_LAZY_INIT_UPDATE_STATIC">LI: 更新される static フィールドの間違った遅延初期化</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD">ML: フィールドを同期化でガードしようとする無駄な試み</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ML_SYNC_ON_UPDATED_FIELD">ML: 更新されるフィールドで同期化しているメソッド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MSF_MUTABLE_SERVLET_FIELD">MSF: 可変サーブレットフィールド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MWN_MISMATCHED_NOTIFY">MWN: 不整合な notify メソッド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MWN_MISMATCHED_WAIT">MWN: 不整合な wait メソッド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NN_NAKED_NOTIFY">NN: 裸の notify メソッド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_SYNC_AND_NULL_CHECK_FIELD">NP: 同じフィールドでの同期化と null チェック</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NO_NOTIFY_NOT_NOTIFYALL">No: notifyAll メソッドではなく notify メソッドを使用している</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RS_READOBJECT_SYNC">RS: readObject メソッドを同期化しているクラス</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED">RV: putIfAbsent の戻り値は無視されて putIfAbsent に渡した値は再利用された</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RU_INVOKE_RUN">Ru: スレッドで run メソッドを呼び出している</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SC_START_IN_CTOR">SC: Thread.start() を呼び出しているコンストラクタ</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SP_SPIN_ON_FIELD">SP: スピンロックをしているメソッド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE">STCAL: static Calendar の呼び出し</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE">STCAL: static DateFormat の呼び出し</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#STCAL_STATIC_CALENDAR_INSTANCE">STCAL: static Calendar フィールド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE">STCAL: static DateFormat</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SWL_SLEEP_WITH_LOCK_HELD">SWL: ロックを保持して Thread.sleep() を呼び出しているメソッド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#TLW_TWO_LOCK_WAIT">TLW: 2つ以上のロックを保持して wait メソッドを呼び出している</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UG_SYNC_SET_UNSYNC_GET">UG: 同期化していない get メソッド、同期化している set メソッド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UL_UNRELEASED_LOCK">UL: すべての経路でロックが解除されないメソッド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UL_UNRELEASED_LOCK_EXCEPTION_PATH">UL: すべての例外経路でロックが解除されないメソッド</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UW_UNCOND_WAIT">UW: wait メソッドの無条件呼び出し</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#VO_VOLATILE_INCREMENT">VO: volatile フィールドへのインクリメントはアトミックではない</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VO_VOLATILE_REFERENCE_TO_ARRAY">VO: 配列への volatile 参照は、配列要素を volatile として扱わない</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL">WL: クラスリテラルではなく getClass で同期化している</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#WS_WRITEOBJECT_SYNC">WS: writeObject メソッドは同期化しているがその他のメソッドは同期化していないクラス</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#WA_AWAIT_NOT_IN_LOOP">Wa: Condition.await() がループの中にない</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#WA_NOT_IN_LOOP">Wa: wait メソッドがループの中にない</a></td><td>Multithreaded correctness</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BX_BOXING_IMMEDIATELY_UNBOXED">Bx: プリミティブ値がボクシングされて、すぐにアンボクシングされる</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION">Bx: プリミティブ値がプリミティブ型の型変換をするためにボクシングされて、アンボクシングされる</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BX_UNBOXING_IMMEDIATELY_REBOXED">Bx: ボクシングされた値がアンボクシングされて、すぐに再ボクシングされる</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_BOXED_PRIMITIVE_FOR_PARSING">Bx: ボクシング/アンボクシングはプリミティブを解析する</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_BOXED_PRIMITIVE_TOSTRING">Bx: toString メソッドを呼び出すためにプリミティブ型のラッパクラスのインスタンスを作成している</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_FP_NUMBER_CTOR">Bx: 効率が悪い浮動小数点 Number コンストラクタを呼び出しているメソッド</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_NUMBER_CTOR">Bx: 効率が悪い Number コンストラクタを呼び出しているメソッド</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_BLOCKING_METHODS_ON_URL">Dm: URL の equals メソッドと hashCode メソッドはブロックする</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_COLLECTION_OF_URLS">Dm: URL の Map や Set はひどい性能になる可能性がある</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_BOOLEAN_CTOR">Dm: 効率が悪い Boolean コンストラクタを呼び出しているメソッド</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_GC">Dm: 明示的なガベージコレクション</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_NEW_FOR_GETCLASS">Dm: クラスオブジェクトを得るためだけにインスタンスを作成しているメソッド</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_NEXTINT_VIA_NEXTDOUBLE">Dm: 整数の乱数を生成するためには nextDouble メソッド ではなく nextInt メソッドを使用する</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_STRING_CTOR">Dm: 効率が悪い new String(String) コンストラクタを呼び出しているメソッド</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DM_STRING_TOSTRING">Dm: String の toString メソッドを呼び出しているメソッド</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DM_STRING_VOID_CTOR">Dm: 効率が悪い new String() コンストラクタを呼び出しているメソッド</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HSC_HUGE_SHARED_STRING_CONSTANT">HSC: 複数のクラスファイルにわたって複製されている巨大な文字列定数</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IIO_INEFFICIENT_INDEX_OF">IIO: String.indexOf(String) の非効率的な使用</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IIO_INEFFICIENT_LAST_INDEX_OF">IIO: String.lastIndexOf(String) の非効率的な使用</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ITA_INEFFICIENT_TO_ARRAY">ITA: 長さが0の配列の引数で toArray メソッドを使用しているメソッド</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SBSC_USE_STRINGBUFFER_CONCATENATION">SBSC: ループの中で + を使用して文字列を連結しているメソッド</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SIC_INNER_SHOULD_BE_STATIC">SIC: static 内部クラスにすべき</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SIC_INNER_SHOULD_BE_STATIC_ANON">SIC: 名前付き static 内部クラスにリファクタリングできるかもしれない</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS">SIC: static 内部クラスにリファクタリングできるかもしれない</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SS_SHOULD_BE_STATIC">SS: 読み出されないフィールド</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UM_UNNECESSARY_MATH">UM: 定数値で Math クラスの static メソッドを呼び出しているメソッド</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UPM_UNCALLED_PRIVATE_METHOD">UPM: private メソッドは決して呼び出されない</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#URF_UNREAD_FIELD">UrF: 読み出されないフィールド</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UUF_UNUSED_FIELD">UuF: 未使用のフィールド</a></td><td>Performance</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#WMI_WRONG_MAP_ITERATOR">WMI: entrySet イテレータではなく効率が悪い keySet イテレータを使用している</a></td><td>Performance</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_CONSTANT_DB_PASSWORD">Dm: ハードコードされた定数データベースパスワード</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_EMPTY_DB_PASSWORD">Dm: 空のデータベースパスワード</a></td><td>Security</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#HRS_REQUEST_PARAMETER_TO_COOKIE">HRS: 信頼できない入力から形成された HTTP cookie</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#HRS_REQUEST_PARAMETER_TO_HTTP_HEADER">HRS: HTTP レスポンススプリッティング脆弱性</a></td><td>Security</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#PT_ABSOLUTE_PATH_TRAVERSAL">PT: サーブレットの絶対パストラバーサル</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#PT_RELATIVE_PATH_TRAVERSAL">PT: サーブレットの相対パストラバーサル</a></td><td>Security</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE">SQL: SQL の Statement の  execute メソッドに定数でない文字列を渡している</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING">SQL: PreparedStatement が定数でない文字列から生成されている</a></td><td>Security</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#XSS_REQUEST_PARAMETER_TO_JSP_WRITER">XSS: 反射型クロスサイトスクリプティング脆弱性がある JSP</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#XSS_REQUEST_PARAMETER_TO_SEND_ERROR">XSS: 反射型クロスサイトスクリプティング脆弱性がエラーページにあるサーブレット</a></td><td>Security</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER">XSS: 反射型クロスサイトスクリプティング脆弱性があるサーブレット</a></td><td>Security</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_BAD_CAST_TO_ABSTRACT_COLLECTION">BC: 抽象コレクションへの疑わしいキャスト</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_BAD_CAST_TO_CONCRETE_COLLECTION">BC: 具象コレクションへの疑わしいキャスト</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_UNCONFIRMED_CAST">BC: 未チェック/未確認のキャスト</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#BC_UNCONFIRMED_CAST_OF_RETURN_VALUE">BC: メソッドからの戻り値の未チェック/未確認のキャスト</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#BC_VACUOUS_INSTANCEOF">BC: 常に true を返す instanceof</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT">BSHIFT: 符号なし右シフトを short/byte にキャストしている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#CI_CONFUSED_INHERITANCE">CI: final なクラスが protected フィールドを宣言している</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DB_DUPLICATE_BRANCHES">DB: 2つの分岐のために同じコードを使用しているメソッド</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DB_DUPLICATE_SWITCH_CLAUSES">DB: switch 文の2つの case のために同じコードを使用しているメソッド</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_DEAD_LOCAL_STORE">DLS: ローカル変数への無効な代入</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DLS_DEAD_LOCAL_STORE_IN_RETURN">DLS: return 文に役に立たない代入がある</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DLS_DEAD_LOCAL_STORE_OF_NULL">DLS: ローカル変数への無効な null 代入</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DLS_DEAD_LOCAL_STORE_SHADOWS_FIELD">DLS: フィールドを遮るローカル変数への無効な代入</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_HARDCODED_ABSOLUTE_FILENAME">DMI: ハードコードされた絶対パス名への参照がある</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_NONSERIALIZABLE_OBJECT_WRITTEN">DMI: ObjectOutput に書き込まれる非直列化可能オブジェクト</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#DMI_USELESS_SUBSTRING">DMI: substring(0) の呼び出しは元の値を返す</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED">Dm: Thread オブジェクトが Runnable が期待されているところに渡されている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#EQ_DOESNT_OVERRIDE_EQUALS">Eq: スーパークラスの equals メソッドをオーバーライドしていないクラス</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#EQ_UNUSUAL">Eq: 異常な equals メソッド </a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#FE_FLOATING_POINT_EQUALITY">FE: 浮動小数点の等価性のためのテスト</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN">FS: Boolean 型でない引数を %b 書式指示子を使用してフォーマットしている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD">IA: 潜在的な継承されたメソッドなのか外部のメソッドなのかあいまいなメソッドの呼び出し</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IC_INIT_CIRCULARITY">IC: 初期化が循環している</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ICAST_IDIV_CAST_TO_DOUBLE">ICAST: 整数の除算の結果を double または float にキャストしている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#ICAST_INTEGER_MULTIPLY_CAST_TO_LONG">ICAST: 整数乗算の結果を long にキャストしている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#IM_AVERAGE_COMPUTATION_COULD_OVERFLOW">IM: 平均の計算はオーバーフローする可能性がある</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#IM_BAD_CHECK_FOR_ODD">IM: 負数で機能しない奇数チェック</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_BAD_REM_BY_1">INT: 1を法とする整数の剰余</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#INT_VACUOUS_BIT_OPERATION">INT: 整数値の無意味なビットマスク演算</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#INT_VACUOUS_COMPARISON">INT: 整数値の無意味な比較</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#MTIA_SUSPECT_SERVLET_INSTANCE_FIELD">MTIA: Servlet クラスを拡張したクラスでのインスタンス変数の使用</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#MTIA_SUSPECT_STRUTS_INSTANCE_FIELD">MTIA: Struts Action を拡張したクラスでのインスタンス変数の使用</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_DEREFERENCE_OF_READLINE_VALUE">NP: readLine メソッドの結果が null なのか確かめないで値を利用している</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_IMMEDIATE_DEREFERENCE_OF_READLINE">NP: readLine メソッドの結果をすぐに利用している</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_LOAD_OF_KNOWN_NULL_VALUE">NP: null とわかっている値のロード</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION">NP: メソッドはパラメータに nullness アノテーションを強化している</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_METHOD_RETURN_RELAXING_ANNOTATION">NP: メソッドは戻り値の nullness アノテーションを緩和している</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE">NP: null になっている可能性があるメソッドの戻り値を利用している</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE">NP: null 値を実行不可能かもしれない分岐で利用している可能性がある</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE">NP: パラメータは  非 null でなければならないが null 可能としてアノテートされている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD">NP: 書き込まれていない public または protected フィールドの読み出し</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#NS_DANGEROUS_NON_SHORT_CIRCUIT">NS: 潜在的な非短絡論理の危険な使用</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#NS_NON_SHORT_CIRCUIT">NS: 非短絡論理の疑わしい使用</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#PZLA_PREFER_ZERO_LENGTH_ARRAYS">PZLA: null ではなく長さが0の配列を返すことを検討する</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#QF_QUESTIONABLE_FOR_LOOP">QF: 複雑か巧妙か間違ったインクリメントの for ループ</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE">RCN: 非 null 値と null 値との冗長な比較</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES">RCN: 2つの null 値の冗長な比較</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE">RCN: null でないことがわかっている値の冗長な null チェック</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE">RCN: null とわかっている値の冗長な null チェック</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#REC_CATCH_EXCEPTION">REC: 例外がスローされないのに例外をキャッチしている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RI_REDUNDANT_INTERFACES">RI: スーパークラスと同じインタフェースを実装しているクラス</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_CHECK_FOR_POSITIVE_INDEXOF">RV: String.indexOf の結果が正かどうか確かめている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_DONT_JUST_NULL_CHECK_READLINE">RV: readLine メソッドの結果を null でないのか確かめた後で捨てている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_REM_OF_HASHCODE">RV: ハッシュコードの剰余は負かもしれない</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#RV_REM_OF_RANDOM_INT">RV: 符号付き32ビット整数の乱数の剰余</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#RV_RETURN_VALUE_IGNORED_INFERRED">RV: メソッドは戻り値を無視しています、これは間違いではないですか?</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SA_FIELD_DOUBLE_ASSIGNMENT">SA: フィールドの二重代入</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SA_LOCAL_DOUBLE_ASSIGNMENT">SA: ローカル変数の二重代入</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SA_LOCAL_SELF_ASSIGNMENT">SA: ローカル変数の自己代入</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SF_SWITCH_FALLTHROUGH">SF: 1つの case が次の case へと通り抜ける switch 文を発見した</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SF_SWITCH_NO_DEFAULT">SF: default がない switch 文を発見した</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD">ST: インスタンスメソッドから static フィールドへの書き込み</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#SE_PRIVATE_READ_RESOLVE_NOT_INHERITED">Se: サブクラスで継承できない private な readResolve メソッド</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS">Se: Serializable でないクラスの transient フィールド</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK">TQ: 値は型修飾子を必要としているが、不明としてマークされている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK">TQ: 値は型修飾子を必要としないが、不明としてマークされている</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UCF_USELESS_CONTROL_FLOW">UCF: 役に立たない制御フロー</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UCF_USELESS_CONTROL_FLOW_NEXT_LINE">UCF: 次の行へ続くだけの役に立たない制御フロー</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD">UrF: 読み出されない public または protected フィールド</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD">UuF: 未使用の public または protected フィールド</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">UwF: コンストラクタで初期化されていないフィールドを null チェックなしで null 値を利用している</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#eeeeee"><td><a href="#UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD">UwF: 書き込まてれいない public または protected フィールド</a></td><td>Dodgy code</td></tr>
+<tr bgcolor="#ffffff"><td><a href="#XFB_XML_FACTORY_BYPASS">XFB: XMLインタフェースの特定の実装のインスタンスを作成しているメソッド</a></td><td>Dodgy code</td></tr>
+</table>
+<h2>Descriptions</h2>
+<h3><a name="BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS">BC: equals メソッドは引数の型を仮定するべきではない (BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS)</a></h3>
+
+
+<p>
+<code>equals(Object o)</code> メソッドは、<code>o</code> の型についてどんな仮定もするべきではありません。
+<code>o</code> が <code>this</code> と同じ型でないなら単に false を返すべきです。
+</p>
+
+    
+<h3><a name="BIT_SIGNED_CHECK">BIT: ビット演算の符号をチェックする (BIT_SIGNED_CHECK)</a></h3>
+
+
+<p>
+このメソッドは、<code>((event.detail &amp; SWT.SELECTED) &gt; 0)</code> のような式を比較しています。
+ビット演算をより大きい演算子で比較することは、予想外の結果 (もちろん、<code>SWT.SELECTED</code> の値による) の原因になる可能性があります。
+<code>SWT.SELECTED</code> が負数であるなら、これはバグの候補です。
+<code>SWT.SELECTED</code> が負ではないとしても、'&gt; 0' の代わりに '!= 0' を使うことは良いプラクティスと思われます。
+</p>
+<p>
+Boris Bokowski
+</p>
+
+    
+<h3><a name="CN_IDIOM">CN: Cloneable を実装したクラスが clone メソッドを定義していないか、使用していない (CN_IDIOM)</a></h3>
+
+
+<p>
+このクラスは、<code>Cloneable</code> を実装していますが、<code>clone</code> メソッドを定義していないか使用していません。
+</p>
+
+    
+<h3><a name="CN_IDIOM_NO_SUPER_CALL">CN: clone メソッドが super.clone() を呼び出していない (CN_IDIOM_NO_SUPER_CALL)</a></h3>
+
+
+<p>
+この非 final クラスは、<code>super.clone()</code> を呼び出さない <code>clone</code> メソッドを定義しています。
+クラス <i>A</i> がサブクラス <i>B</i> によって拡張され、サブクラス <i>B</i> が <code>super.clone()</code> を呼び出すなら、クラス <i>B</i> の <code>clone</code> メソッドは、型 <i>A</i> のオブジェクトを返す可能性が高いです。
+これは <code>clone</code> のための汎用規約に違反します。
+</p>
+<p>
+すべての <code>clone</code> メソッドが <code>super.clone()</code> を呼び出すなら <code>Object.clone()</code> が呼び出されることが保証され、常に正しい型のオブジェクトが返されます。
+</p>
+
+    
+<h3><a name="CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE">CN: Cloneable を実装していないクラスが clone メソッドを定義している (CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE)</a></h3>
+
+
+<p>
+このクラスは、<code>Cloneable</code> を実装していないのに <code>clone</code> メソッドを定義しています。
+これが OK (たとえば、サブクラスのクローンの実装を自分自身で制御したい場合です) という状況もありますが意図したことなのか確認してください。
+</p>
+
+    
+<h3><a name="CNT_ROUGH_CONSTANT_VALUE">CNT: 既知の定数の雑な値を見つける (CNT_ROUGH_CONSTANT_VALUE)</a></h3>
+
+
+<p>
+コードの明確さともっと良い正確さのために定義済みライブラリ定数を使うことを推奨します。
+</p>
+
+
+<h3><a name="CO_ABSTRACT_SELF">Co: 抽象クラスは共変な compareTo メソッドを定義している (CO_ABSTRACT_SELF)</a></h3>
+
+
+<p>
+このクラスは、共変な <code>compareTo</code> メソッドを定義しています。
+<code>Comparable</code> インタフェースの <code>compareTo</code> メソッドを正しく実装するためには <code>compareTo</code> メソッドのパラメータの型は、<code>java.lang.Object</code> でなければなりません。
+</p>
+
+    
+<h3><a name="CO_SELF_NO_OBJECT">Co: 共変な compareTo メソッドの定義 (CO_SELF_NO_OBJECT)</a></h3>
+
+
+<p>
+このクラスは、共変な <code>compareTo</code> メソッドを定義しています。
+<code>Comparable</code> インタフェースの <code>compareTo</code> メソッドを正しく実装するためには <code>compareTo</code> メソッドのパラメータの型は、<code>java.lang.Object</code> でなければなりません。
+</p>
+
+    
+<h3><a name="DE_MIGHT_DROP">DE: 例外を捨てているかもしれないメソッド (DE_MIGHT_DROP)</a></h3>
+
+
+<p>
+このメソッドは、例外を捨てているかもしれません。
+一般にキャッチした例外は何らかの方法で処理、または報告するべきです、あるいはメソッドからスローするべきです。
+</p>
+
+    
+<h3><a name="DE_MIGHT_IGNORE">DE: 例外を無視しているかもしれないメソッド (DE_MIGHT_IGNORE)</a></h3>
+
+
+<p>
+このメソッドは例外を無視しているかもしれません。
+一般に例外は何らかの方法で処理、または報告するべきです、あるいはメソッドからスローするべきです。
+</p>
+
+    
+<h3><a name="DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS">DMI: エントリセットの要素を加えることは、Entry オブジェクトの再利用のために失敗するかもしれない (DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS)</a></h3>
+
+
+<p>
+entrySet メソッドは、一つの Entry オブジェクトを再利用し、反復中に返される基底 Map のビューを返すことが許可されています。
+Java 1.6 の時点で、IdentityHashMap と EnumMap の両方がそうしました。
+そのような Map を通して繰り返すとき、エントリ値は次の繰り返しへ進むまでが有効です。
+たとえば、addAll メソッドにそのような entrySet を渡そうと試みるのは、ひどく間違っているでしょう。
+</p>
+
+    
+<h3><a name="DMI_RANDOM_USED_ONLY_ONCE">DMI: Random オブジェクトが作成され1度しか使われない (DMI_RANDOM_USED_ONLY_ONCE)</a></h3>
+
+
+<p>
+このコードは、<code>java.util.Random</code> オブジェクトを作成して1つの乱数を生成するために使用して捨てています。
+これはあまり良くない品質の乱数を作り出し、効率が悪いです。
+できれば、<code>Random</code> オブジェクトを1つだけ作成して保存されるようにコードを書き直してください。
+そして、新しい乱数が必要なたびに既存の <code>Random</code> オブジェクトでメソッドを呼び出してください。
+</p>
+<p>
+生成された乱数が推測可能でないことが重要なら、乱数ごとに新しい <code>Random</code> オブジェクトを作成してはいけません (値はあまりに簡単に推測可能です)。
+その代わりに <code>java.security.SecureRandom</code> の使用を強く検討するべきです (そして必要とされる乱数ごとに新しい <code>SecureRandom</code> のオブジェクトを作成することを回避します)。 
+</p>
+
+    
+<h3><a name="DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION">DMI: コレクションを消去するために removeAll メソッドを使用しない (DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION)</a></h3>
+
+
+<p>
+コレクション <code>c</code> からすべての要素を除去したいなら、<code>c.removeAll(c)</code> ではなく <code>c.clear</code> を使用してください。
+コレクションを消去するために <code>c.removeAll(c)</code> を呼び出すことは、それほど明確ではなく、タイプミスからの誤りに影響されやすく、効率的ではなく、いくつかのコレクションでは、<code>ConcurrentModificationException</code> をスローするかもしれません。
+</p>
+
+    
+<h3><a name="DM_EXIT">Dm: System.exit(...) を呼び出しているメソッド (DM_EXIT)</a></h3>
+
+
+<p>
+<code>System.exit(...)</code> を呼び出すことは、Java 仮想マシン全体をシャットダウンさせてしまいます。
+それが適切な場合にだけ使用するべきです。
+<code>System.exit(...)</code> の呼び出しはコードが他のコードによって呼び出されることを困難か不可能にします。
+その代わりに RuntimeException をスローすることを検討してください。
+</p>
+
+    
+<h3><a name="DM_RUN_FINALIZERS_ON_EXIT">Dm: 危険なメソッド runFinalizersOnExit を呼び出しているメソッド (DM_RUN_FINALIZERS_ON_EXIT)</a></h3>
+
+
+<p>
+どんな理由があるにせよ決して <code>System.runFinalizersOnExit</code> と <code>Runtime.runFinalizersOnExit</code> を呼び出さないでください。
+Java ライブラリで最も危険なメソッドの1つです。 -- Joshua Bloch
+</p>
+
+    
+<h3><a name="ES_COMPARING_PARAMETER_STRING_WITH_EQ">ES: String パラメータを == や != を使用して比較している (ES_COMPARING_PARAMETER_STRING_WITH_EQ)</a></h3>
+
+
+<p>
+このコードは、参照等価性のために == や != を使用して <code>java.lang.String</code> パラメータを比較しています。
+文字列定数または正準化された文字列だけをメソッドに渡すことを呼び出し元に要求することは必要以上に脆弱で測定可能な性能の向上をもたらしません。
+その代わりに <code>equals(Object)</code> メソッドを使うことを検討してください。
+</p>
+
+    
+<h3><a name="ES_COMPARING_STRINGS_WITH_EQ">ES: String オブジェクトを == や != を使用して比較している (ES_COMPARING_STRINGS_WITH_EQ)</a></h3>
+
+
+<p>
+このコードは、参照等価性のために == や != を使用して <code>java.lang.String</code> オブジェクトを比較しています。
+両方の文字列がソースファイルの定数か、<code>String.intern()</code> を使用して正準化されていないかぎり、同じ文字列は2つの異なる String オブジェクトによって表されるかもしれません。
+その代わりに <code>equals(Object)</code> メソッドを使うことを検討してください。
+</p>
+
+    
+<h3><a name="EQ_ABSTRACT_SELF">Eq: 抽象クラスは共変な equals メソッドを宣言している (EQ_ABSTRACT_SELF)</a></h3>
+
+
+<p>
+このクラスは、共変な <code>equals</code> メソッドを定義しています。
+<code>java.lang.Object</code> の <code>equals</code> メソッドを正しくオーバーライドするためには <code>equals</code> メソッドのパラメータの型は、<code>java.lang.Object</code> でなければなりません。
+</p>
+
+    
+<h3><a name="EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS">Eq: equals メソッドは互換性のないオペランドをチェックしている (EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS)</a></h3>
+
+
+<p>
+この <code>equals</code> メソッドは、引数が互換性のない型 (すなわちスーパタイプでもなく、<code>equals</code> メソッドを定義しているクラスのスーパータイプでもサブタイプでもないクラス) なのか確かめています。
+たとえば、<code>Foo</code> クラスの <code>equals</code> メソッドはそのように見えるかもしれません。
+</p>
+<blockquote><pre>
+public boolean equals(Object o) {
+    if (o instanceof Foo)
+        return name.equals(((Foo)o).name);
+    else if (o instanceof String)
+        return name.equals(o);
+    else return false;
+}
+</pre></blockquote>
+<p>
+これは対称的で推移的である <code>equals</code> メソッドを実現するのはとても難しいので、間違ったプラクティスと見なされています。
+プロパティがなければまったく予想していない振る舞いが起こりえます。
+</p>
+
+    
+<h3><a name="EQ_COMPARETO_USE_OBJECT_EQUALS">Eq: compareTo(...) メソッドを定義して Object.equals() を使用しているクラス (EQ_COMPARETO_USE_OBJECT_EQUALS)</a></h3>
+
+
+<p>
+このクラスは、<code>compareTo(...)</code> メソッドを定義していますが、<code>equals</code> メソッドは <code>java.lang.Object</code> から継承しています。
+一般に、<code>equals</code> メソッドが true を返す場合に限り、<code>compareTo</code> メソッドは0を返すべきです。
+これが違反されるなら奇妙で予測できない失敗が PriorityQueue などのクラスで発生します。
+J2SE 5.0では、<code>PriorityQueue.remove()</code> は <code>compareTo</code> メソッドを使用しますが、Java SE 6では、<code>equals</code> メソッドを使用します。
+</p>
+<p>
+Comparable インタフェースの compareTo メソッドの JavaDoc を以下に引用します。
+</p>
+<blockquote><p>
+必須というわけではありませんが、<code>(x.compareTo(y)==0) == (x.equals(y))</code> であることが強く推奨されます。
+一般に、<code>Comparable</code> インタフェースを実装しているクラスで、この条件に違反するクラスは明確にこの事実を示す必要があります。
+「注:このクラスは <code>equals</code> と一貫性のない自然順序付けを持ちます」などと明示することをお勧めします。
+</p></blockquote>
+
+    
+<h3><a name="EQ_GETCLASS_AND_CLASS_CONSTANT">Eq: equals メソッドはサブタイプのために失敗する (EQ_GETCLASS_AND_CLASS_CONSTANT)</a></h3>
+
+
+<p>
+このクラスは、サブクラスによる継承によって壊れる <code>equlas</code> メソッドがあります。
+<code>equals</code> メソッドは、クラスリテラルを引数のクラスと比較しています (たとえば、<code>Foo</code> クラスで <code>Foo.class == o.getClass()</code> のような判定を行っています)。
+<code>this.getClass() == o.getClass()</code> の方がより良いです。
+</p>
+
+    
+<h3><a name="EQ_SELF_NO_OBJECT">Eq: 共変な equals メソッドの定義 (EQ_SELF_NO_OBJECT)</a></h3>
+
+
+<p>
+このクラスは、共変な <code>equals</code> メソッドを定義しています。
+<code>java.lang.Object</code> の <code>equals</code> メソッドを正しくオーバーライドするためには <code>equals</code> メソッドのパラメータの型は、<code>java.lang.Object</code> でなければなりません。
+</p>
+
+    
+<h3><a name="FI_EMPTY">FI: 空のファイナライザは削除するべき (FI_EMPTY)</a></h3>
+
+
+<p>
+空の <code>finalize</code> メソッドは役に立たないので削除するべきです。
+</p>
+
+    
+<h3><a name="FI_EXPLICIT_INVOCATION">FI: ファイナライザの明示的な呼び出し (FI_EXPLICIT_INVOCATION)</a></h3>
+
+
+<p>
+このメソッドには明示的にオブジェクトで <code>finalize</code> メソッドの呼び出しがあります。
+ファイナライザは Java 仮想マシンによって1度だけ実行されることになっているので、これは間違った考えです。
+</p>
+<p>
+参照によってつながった複数のオブジェクトがファイナライズ可能になると、Java 仮想マシンはすべてのオブジェクトの <code>finalize</code> メソッドを呼び出します。
+おそらく異なるスレッドで同時にです。
+したがって、クラス <i>X</i> の <code>finalize</code> メソッドの中から <i>X</i> によって参照されているオブジェクトの <code>finalize</code> メソッドを呼び出すのは、とりわけ間違った考えです。
+なぜなら、オブジェクトがすでに別のスレッドによってファイナライズされているかもしれないからです。 
+</p>
+
+    
+<h3><a name="FI_FINALIZER_NULLS_FIELDS">FI: ファイナライザはフィールドを null にする (FI_FINALIZER_NULLS_FIELDS)</a></h3>
+
+
+<p>
+このファイナライザは、フィールドを null にしています。
+これは通常誤りでガベージコレクタを助けません。オブジェクトはいずれにしろガベージされます。
+</p>
+
+    
+<h3><a name="FI_FINALIZER_ONLY_NULLS_FIELDS">FI: ファイナライザはフィールドを null にするだけ (FI_FINALIZER_ONLY_NULLS_FIELDS)</a></h3>
+
+
+<p>
+このファイナライザは、フィールドを null にすること以外に何もしません。
+これはまったく無意味であり、オブジェクトがガベージされ、ファイナライズされ、再びガベージされることを要求しています。
+<code>finalize</code> メソッドを削除するべきです。
+</p>
+
+    
+<h3><a name="FI_MISSING_SUPER_CALL">FI: ファイナライザはスーパークラスのファイナライザを呼び出していない (FI_MISSING_SUPER_CALL)</a></h3>
+
+
+<p>
+この <code>finalize</code> メソッドは、スーパークラスの <code>finalize</code> メソッドを呼び出していません。
+したがって、スーパークラスのために定義されたどんなファイナライザアクションも実行されません。
+<code>super.finalize()</code> の呼び出しを追加してください。
+</p>
+
+    
+<h3><a name="FI_NULLIFY_SUPER">FI: ファイナライザはスーパークラスのファイナライザを無効にしている (FI_NULLIFY_SUPER)</a></h3>
+
+
+<p>
+この空の <code>finalize</code> メソッドは、明示的にスーパークラスによって定義されたどんなファイナライザの効果も無効にします。
+スーパークラスのために定義されたどんなファイナライザアクションも実行されません。
+これが意図したことではない場合、メソッドを削除してください。
+</p>
+
+    
+<h3><a name="FI_USELESS">FI: ファイナライザはスーパークラスのファイナライザを呼び出しているだけ (FI_USELESS)</a></h3>
+
+
+<p>
+この <code>finalize</code> メソッドは、スーパークラスの <code>finalize</code> メソッドを呼び出しているだけです。
+冗長なので削除してください。
+</p>
+
+    
+<h3><a name="VA_FORMAT_STRING_USES_NEWLINE">FS: 書式文字列は \n よりも %n を使用するべき (VA_FORMAT_STRING_USES_NEWLINE)</a></h3>
+
+
+<p>
+この書式文字列には改行文字 (\n) が含まれています。
+一般に書式文字列には %n を使用することがより望ましいです。%n は、プラットホーム特有の行セパレータを作り出します。
+</p>
+
+  
+<h3><a name="GC_UNCHECKED_TYPE_IN_GENERIC_CALL">GC: 検査されない型への総称呼び出し (GC_UNCHECKED_TYPE_IN_GENERIC_CALL)</a></h3>
+
+
+<p>
+総称型パラメータからの特定の型が予想される Object 型をコンパイルするとき、総称型コレクションメソッドへの呼び出しは引数を渡します。
+したがって、標準の Java 型システムも静的解析もパラメータとして渡されているオブジェクトが適切な型かどうかに関する有効な情報を提供できません。
+</p>
+
+    
+<h3><a name="HE_EQUALS_NO_HASHCODE">HE: equals メソッドは定義していますが hashCode メソッドは定義していないクラス (HE_EQUALS_NO_HASHCODE)</a></h3>
+
+
+<p>
+このクラスは、<code>equals(Object)</code> メソッドをオーバーライドしていますが、<code>hashCode</code> メソッドはオーバーライドしていません。
+したがって、「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という <code>hashCode</code> メソッドの汎用規約に違反するかもしれません。
+</p>
+
+    
+<h3><a name="HE_EQUALS_USE_HASHCODE">HE: equals メソッドを定義して Object.hashCode() を使用しているクラス (HE_EQUALS_USE_HASHCODE)</a></h3>
+
+
+<p>
+このクラスは、<code>equals(Object)</code> をオーバーライドしていますが、<code>hashCode</code> メソッドは <code>java.lang.Object</code> から継承しています (同一性ハッシュコード (Java 仮想マシンによってオブジェクトに代入された任意の値) を返します)。
+したがって、「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という <code>hashCode</code> メソッドの汎用規約に違反するかもしれません。
+</p>
+<p>
+このクラスのインスタンスが HashMap/HashTable に決して代入されるだろうと思わないなら推奨される <code>hashCode</code> メソッドの実装は以下のようになります。
+</p>
+<blockquote><pre>
+public int hashCode() {
+    assert false : "hashCodeが呼び出されることは想定されていません。";
+    return 42; // 適当な値 
+}
+</pre></blockquote>
+
+    
+<h3><a name="HE_HASHCODE_NO_EQUALS">HE: hashCode メソッドを定義していますが equals メソッドは定義していないクラス (HE_HASHCODE_NO_EQUALS)</a></h3>
+
+
+<p>
+このクラスは、<code>hashCode</code> メソッドを定義していますが、<code>equals</code> メソッドは定義していません。
+これは「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という <code>hashCode</code> メソッドの汎用規約に違反するかもしれません。
+</p>
+
+    
+<h3><a name="HE_HASHCODE_USE_OBJECT_EQUALS">HE: hashCode メソッドを定義して Object.equals() を使用しているクラス (HE_HASHCODE_USE_OBJECT_EQUALS)</a></h3>
+
+
+<p>
+このクラスは、<code>hashCode</code> メソッドを定義していますが、 <code>equals</code> メソッドは <code>java.lang.Object</code> から継承しています (オブジェクトの参照比較で等価性を判定します)。
+これは「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という <code>hashCode</code> メソッドの汎用規約に従っているかもしれませんが、
+おそらく、<code>hashCode</code> メソッドをオーバーライドすることによって意図されたことではありません。
+(<code>hashCode</code> メソッドをオーバーライドすることは、オブジェクトの同一性が単純な参照等価性よりも複雑な規約に基づくことを意味します)。
+</p>
+<p>
+このクラスのインスタンスが HashMap/HashTable に決して代入されるだろうと思わないなら推奨される <code>hashCode</code> メソッドの実装は以下のようになります。
+</p>
+<blockquote><pre>
+public int hashCode() {
+    assert false : "hashCodeが呼び出されることは想定されていません。";
+    return 42; // 適当な値 
+}
+</pre></blockquote>
+
+    
+<h3><a name="HE_INHERITS_EQUALS_USE_HASHCODE">HE: equals メソッドを継承して Object.hashCode() を使用しているクラス (HE_INHERITS_EQUALS_USE_HASHCODE)</a></h3>
+
+
+<p>
+このクラスは、抽象スーパークラスから <code>equals(Object)</code> メソッドを継承して、<code>java.lang.Object</code> から <code>hashCode</code> メソッドを継承しています (同一性ハッシュコード (Java 仮想マシンによってオブジェクトに代入された任意の値) を返します)。
+したがって、「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という <code>hashCode</code> メソッドの汎用規約に違反するかもしれません。
+</p>
+<p>
+<code>hashCode</code> メソッドを定義したくないまたはオブジェクトが HashMap/Hashtable に決して格納されないだろうと思っているなら <code>UnsupportedOperationException</code> をスローする <code>hashCode()</code> メソッドを定義してください。
+</p>
+
+    
+<h3><a name="IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION">IC: スーパークラスは初期化中にサブクラスを使用している (IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION)</a></h3>
+
+
+<p>
+クラスは、初期化中にサブクラスを積極的に使用しています。サブクラスはこの時点ではまだ初期化されていません。<br>
+たとえば、以下のコードにおいて、<code>foo</code> は null です。
+</p>
+<blockquote><pre>
+public class CircularClassInitialization {
+    static class InnerClassSingleton extends CircularClassInitialization {
+        static InnerClassSingleton singleton = new InnerClassSingleton();
+    }
+    
+    static CircularClassInitialization foo = InnerClassSingleton.singleton;
+}
+</pre></blockquote>
+
+    
+<h3><a name="IMSE_DONT_CATCH_IMSE">IMSE: 疑わしい IllegalMonitorStateException のキャッチ (IMSE_DONT_CATCH_IMSE)</a></h3>
+
+
+<p>
+<code>IllegalMonitorStateException</code> は、一般に設計上の欠陥 (ロックを保持していないオブジェクトで <code>wait</code> メソッドまたは <code>notify</code> メソッドを呼び出す) の場合にだけスローされます。
+</p>
+
+    
+<h3><a name="ISC_INSTANTIATE_STATIC_CLASS">ISC: static メソッドだけを提供するクラスの不必要なインスタンス化 (ISC_INSTANTIATE_STATIC_CLASS)</a></h3>
+
+
+<p>
+このクラスは、static メソッドだけを提供するクラスのオブジェクトを作成しています。
+このオブジェクトは作成する必要はありません。修飾子として直接クラス名を使用する static メソッドにアクセスしてください。
+</p>
+
+    
+<h3><a name="IT_NO_SUCH_ELEMENT">It: Iterator.next() が NoSuchElementException をスローできない (IT_NO_SUCH_ELEMENT)</a></h3>
+
+
+<p>
+このクラスは、<code>java.util.Iterator</code> を実装しています。
+しかしながら、<code>next</code> メソッドは <code>java.util.NoSuchElementException</code> をスローできません。
+<code>next</code> メソッドは、それ以上要素を返すことができないときは <code>NoSuchElementException</code> をスローするように変更するべきです。
+</p>
+
+    
+<h3><a name="J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION">J2EE: HttpSession への非直列化可能オブジェクトの格納 (J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION)</a></h3>
+
+
+<p>
+このコードは、HttpSession に非直列化可能オブジェクトを格納していると思われます。
+このセッションが不活性化されるか移行したなら、エラーを招きます。
+</p>
+
+    
+<h3><a name="JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS">JCIP: 不変クラスのフィールドは final にすべき (JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS)</a></h3>
+
+
+<p>
+クラスは、net.jcip.annotations.Immutable または javax.annotation.concurrent.Immutable でアノテートされています。
+アノテーションのルールは、すべてのフィールドが final であることを義務づけます。
+</p>
+
+    
+<h3><a name="NP_BOOLEAN_RETURN_NULL">NP: 戻り型が Boolean のメソッドが明示的に null を返している (NP_BOOLEAN_RETURN_NULL)</a></h3>
+
+
+<p>
+Boolean.TRUE、Boolean.FALSE、null を返すメソッドはいつ事故が起きてもおかしくないです。
+まるで論理型の値を返すかのように、このメソッドは呼び出される可能性があります。
+コンパイラは Boolean 値のオートアンボクシングを挿入します。
+null 値が返されるなら NullPointerException が発生することになります。
+</p>
+
+    
+<h3><a name="NP_CLONE_COULD_RETURN_NULL">NP: null を返すかもしれない clone メソッド (NP_CLONE_COULD_RETURN_NULL)</a></h3>
+
+
+<p>
+この <code>clone</code> メソッドは、いくつかの条件で null を返すと思われます。
+しかし、<code>clone</code> メソッドは決して null を返すのは許されません。
+この経路が到達できないことを確信しているなら、代わりに <code>AssertionError</code> をスローしてください。
+</p>
+
+    
+<h3><a name="NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT">NP: equals メソッドは null の引数をチェックしていない (NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT)</a></h3>
+
+
+<p>
+この <code>equals(Object)</code> メソッドの実装は引数として渡されている null をチェックしていないので、<code>java.lang.Object.equals()</code> で定義された規約に違反しています。
+すべての <code>equals</code> メソッドは引数に null が渡されたなら false を返すべきです。
+</p>
+
+    
+<h3><a name="NP_TOSTRING_COULD_RETURN_NULL">NP: null を返すかもしれない toString メソッド (NP_TOSTRING_COULD_RETURN_NULL)</a></h3>
+
+
+<p>
+この <code>toString</code> メソッドは、いくつかの条件で null を返すと思われます。
+仕様を寛大に読むとこれが許されると解釈できるかもしれませんが、それはおそらく間違った考えで、他のコードが壊れる原因になる可能性があります。
+null ではなく空の文字列または、いくつかの他の適切な文字列を返してください。
+</p>
+
+    
+<h3><a name="NM_CLASS_NAMING_CONVENTION">Nm: クラス名は大文字から始めるべき (NM_CLASS_NAMING_CONVENTION)</a></h3>
+
+
+<p>
+クラス名は、最初の文字とそれに続く各単語の最初の文字を大文字にした名詞にすべきです。
+クラス名は単純でわかりやすいようにしてください。
+頭文字や略語 (URLやHTMLなどのように略語がロング形式よりもはるかに広く使われている場合を除く) の使用は避けてください。
+</p>
+
+    
+<h3><a name="NM_CLASS_NOT_EXCEPTION">Nm: 例外クラスのように命名されているが、クラスは Exception から派生されていない (NM_CLASS_NOT_EXCEPTION)</a></h3>
+
+
+<p>
+このクラスは、例外クラスから派生されていないのにクラス名が「Exception」で終わっています。
+これは、このクラスのユーザに紛らわしいです。
+</p>
+
+    
+<h3><a name="NM_CONFUSING">Nm: 紛らわしい名前のメソッド (NM_CONFUSING)</a></h3>
+
+
+<p>
+参照されたメソッドは、大文字の使い方だけによって異なる名前があります。
+</p>
+
+    
+<h3><a name="NM_FIELD_NAMING_CONVENTION">Nm: フィールド名は小文字から始めるべき (NM_FIELD_NAMING_CONVENTION)</a></h3>
+
+
+<p>
+final でないフィールドの名前は、最初の文字は小文字にし、それに続く各単語の最初の文字を大文字にすべきです。
+</p>
+
+    
+<h3><a name="NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER">Nm: Java の後のバージョンのキーワードである識別子を使用している (NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER)</a></h3>
+
+
+<p>
+識別子は、Java の後のバージョンのキーワードとして予約されている単語です。
+コードを Java の後のバージョンでコンパイルするためには変更する必要があります。
+</p>
+
+    
+<h3><a name="NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER">Nm: Java の後のバージョンのキーワードである識別子を使用している (NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER)</a></h3>
+
+
+<p>
+この識別子は、Java の後のバージョンのキーワードとして使われます。
+このコードと API を参照するどんなコードも、Java の後のバージョンでコンパイルするためには変更する必要があります。
+</p>
+
+    
+<h3><a name="NM_METHOD_NAMING_CONVENTION">Nm: メソッド名は小文字から始めるべきです (NM_METHOD_NAMING_CONVENTION)</a></h3>
+
+
+<p>
+メソッド名は、最初の文字は小文字にし、それに続く各単語の最初の文字を大文字にした動詞にすべきです。
+</p>
+
+    
+<h3><a name="NM_SAME_SIMPLE_NAME_AS_INTERFACE">Nm: クラス名は実装されたインタフェースの単純名を遮るべきではない (NM_SAME_SIMPLE_NAME_AS_INTERFACE)</a></h3>
+
+
+<p>
+このクラスまたはインタフェースは、、インタフェースが異なるパッケージであるということを除いて実装された/拡張されたインタフェースと同一の単純名です (たとえば、<code>alpha.Foo</code> が <code>beta.Foo</code> を継承しているような状況です)。
+これは非常に紛らわしく、参照関係を解決するために import 文を見なければならなかったり、スーパークラスに存在するメソッドを誤ってオーバーライドしてしまったりする状況を作り出します。
+</p>
+
+    
+<h3><a name="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS">Nm: クラス名はスーパークラスの単純名を遮るべきではない (NM_SAME_SIMPLE_NAME_AS_SUPERCLASS)</a></h3>
+
+
+<p>
+このクラスは、スーパークラスが異なるパッケージであるということを除いて、スーパークラスと同一の単純名をです (たとえば、<code>alpha.Foo</code> が <code>beta.Foo</code> を拡張します)。
+これは非常に紛らわしく、参照関係を解決するために import 文を見なければならなかったり、スーパークラスに存在するメソッドを誤ってオーバーライドしてしまったりする状況を作り出します。
+</p>
+
+    
+<h3><a name="NM_VERY_CONFUSING_INTENTIONAL">Nm: 非常に紛らわしい名前のメソッド (多分意図的) (NM_VERY_CONFUSING_INTENTIONAL)</a></h3>
+
+
+<p>
+参照されたメソッドは、大文字の使い方だけによって異なる名前があります。
+大文字の使い方が同一ならメソッドの1つが他のメソッドをオーバーライドするので、非常に紛らわしいです。
+他のメソッドの存在から、これらのメソッドの両方の存在が意図的で、確実に混乱させていると思われます。
+APIの凍結によって両方とも持たざるを得ない場合を除き、それらのうちの1つを削除しようと努力するべきです。 
+</p>
+
+    
+<h3><a name="NM_WRONG_PACKAGE_INTENTIONAL">Nm: パラメータの間違ったパッケージのためにスーパークラスのメソッドをオーバーライドしていないメソッド (NM_WRONG_PACKAGE_INTENTIONAL)</a></h3>
+
+
+<p>
+パラメータの型が正確にスーパークラスで対応するパラメータの型と合致していないので、サブクラスのメソッドはスーパークラスの類似したメソッドをオーバーライドしていません。<br>
+たとえば以下のようなコードです。
+</p>
+<blockquote><pre>
+import alpha.Foo;
+
+public class A {
+    public int f(Foo x) { return 17; }
+}
+----
+import beta.Foo;
+
+public class B extends A {
+    public int f(Foo x) { return 42; }
+    public int f(alpha.Foo x) { return 27; }
+}
+</pre></blockquote>
+<p>
+クラス <code>B</code> で定義された <code>f(Foo)</code> メソッドは、クラス <code>A</code> の <code>f(Foo)</code> メソッドをオーバーライドしません。
+これは引数の型 <code>Foo</code> が違うパッケージだからです。
+</p>
+<p>
+この場合、サブクラスがスーパークラスのメソッドと同一のシグネチャでメソッドを定義しているので、おそらく理解できます。
+しかしながら、そのようなメソッドは非常に紛らわしいです。
+類似しているが同一ではないシグネチャのメソッドを除去するか、非推奨にすることを強く検討するべきです。
+</p>
+
+    
+<h3><a name="ODR_OPEN_DATABASE_RESOURCE">ODR: データベースリソースのクローズに失敗するかもしれないメソッド (ODR_OPEN_DATABASE_RESOURCE)</a></h3>
+
+
+<p>
+このメソッドは、データベースリソース (たとえば、データベースコネクションや行セット) を作成していますが、どんなフィールドにも代入していないか、他のメソッドにも渡していないか、戻り値にもしていません。
+そして、メソッドからのすべての経路でオブジェクトをクローズするように見えません。
+メソッドからのすべての経路でデータベースリソースのクローズ失敗は良くない性能になるかもしれません。
+データベースとの通信で問題があるアプリケーションの原因になる可能性があります。
+</p>
+
+    
+<h3><a name="ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH">ODR: 例外経路でデータベースリソースのクローズに失敗するかもしれないメソッド (ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH)</a></h3>
+
+
+<p>
+このメソッドは、データベースリソース (たとえば、データベースコネクションや行セット) を作成していますが、どんなフィールドにも代入していないか、他のメソッドにも渡していないか、戻り値にもしていません。
+そして、メソッドからのすべての例外経路でオブジェクトをクローズするように見えません。
+メソッドからのすべての経路でデータベースリソースのクローズ失敗は良くない性能になるかもしれません。
+データベースとの通信で問題があるアプリケーションの原因になる可能性があります。
+</p>
+
+    
+<h3><a name="OS_OPEN_STREAM">OS: ストリームのクローズに失敗するかもしれないメソッド (OS_OPEN_STREAM)</a></h3>
+
+
+<p>
+このメソッドは、入出力ストリームオブジェクトを作成していますが、どんなフィールドにも代入していないしクローズするかもしれない別のメソッドにも渡していなくて、戻り値にしてもいません。そして、メソッドからのすべての経路でクローズするように見えません。
+これは、ファイルディスクリプタリークになるかもしれません。
+ストリームがクローズされることを確実にするために <code>finally</code> ブロックを使うことは、一般に良い考えです。
+</p>
+
+    
+<h3><a name="OS_OPEN_STREAM_EXCEPTION_PATH">OS: 例外経路でストリームのクローズに失敗するかもしれないメソッド (OS_OPEN_STREAM_EXCEPTION_PATH)</a></h3>
+
+
+<p>
+このメソッドは、入出力ストリームオブジェクトを作成していますが、どんなフィールドにも代入していないしクローズするかもしれない別のメソッドにも渡していないくて、戻り値にしてもいません。そして、メソッドからのすべての可能性がある例外経路でクローズするように見えません。
+これはファイルディスクリプターリークになるかもしれません。
+ストリームがクローズされることを確実にするために <code>finally</code> ブロックを使うことは、一般に良い考えです。
+</p>
+
+    
+<h3><a name="PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS">PZ: 繰り返しでエントリオブジェクトを再利用しない (PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS)</a></h3>
+
+
+<p>
+このクラスは、Iterator と Map.Entry で基底 Map のビューを返すことを許可された両方の entrySet メソッドがあります。
+この巧妙なアイデアは、Map 実装で使用されましたが、厄介なコーディング間違いの可能性を取り込みました。
+Map <code>m</code> が entrySet のためのそのような反復子を返すならば、<code>c.addAll(m.entrySet())</code> はひどく間違っているでしょう。
+OpenJDK 1.7 の すべての Map 実装はこれを回避するために書き直されました。
+</p>
+
+    
+<h3><a name="RC_REF_COMPARISON_BAD_PRACTICE">RC: 定数への疑わしい参照比較 (RC_REF_COMPARISON_BAD_PRACTICE)</a></h3>
+
+
+<p>
+このメソッドは、 参照値を == または != 演算子を使用して定数と比較しています。
+この型のインスタンスを比較する正しい方法は、一般に <code>equals</code> メソッドです。
+等価で識別可能なインスタンスを作成する可能性がありますが異なるオブジェクトなので == で比較しないでください。
+参照によって一般に比較されるべきではないクラスの例は、<code>java.lang.Integer</code> 、<code>java.lang.Float</code> などです。
+</p>
+
+    
+<h3><a name="RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN">RC: Boolean 値の疑わしい参照比較 (RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN)</a></h3>
+
+
+<p>
+このメソッドは、== または != 演算子を使用して2つの Boolean 値を比較しています。
+一般には2つの Boolean 値 (<code>Boolean.TRUE</code> と <code>Boolean.FALSE</code>) だけですが、
+<code>new Boolean(b)</code> コンストラクタを使用して他の Boolean オブジェクトを作成する可能性があります。
+そのようなオブジェクトを回避することは最高です。
+しかし、それらが存在するなら、Boolean オブジェクトの等価性をチェックするために <code>.equals(...)</code> ではなく == または != を使用しているなら異なる結果をもたらします。
+</p>
+
+    
+<h3><a name="RR_NOT_CHECKED">RR: InputStream.read() の戻り値を無視しているメソッド (RR_NOT_CHECKED)</a></h3>
+
+
+<p>
+このメソッドは、複数バイトを返す可能性がある <code>java.io.InputStream.read()</code> (またはそのバリエーション) の戻り値を無視しています。
+戻り値がチェックされないと呼び出し元は要求したバイト数よりも少ないバイト数を読み出した場合、正しく処理できません。
+これは潜在的なバグで、多くのプログラムでは、入力ストリームからの読み出しは、通常要求した完全なデータ量を読み出しますが、散発的に失敗することがあります。
+</p>
+
+    
+<h3><a name="SR_NOT_CHECKED">RR: InputStream.skip() の戻り値を無視しているメソッド (SR_NOT_CHECKED)</a></h3>
+
+
+<p>
+このメソッドは、複数バイトをスキップする可能性がある <code>java.io.InputStream.skip()</code> の戻り値を無視しています。
+戻り値がチェックされないと呼び出し元は要求したバイト数よりも少ないバイト数しかスキップしなかった場合、正しく処理できません。 
+これは潜在的なバグで、多くのプログラムでは、入力ストリームからのスキップは、通常要求した完全なデータ量をスキップをしますが、散発的に失敗することがあります。 
+しかしながら、バッファードストリーム での <code>skip</code> メソッドはバッファのデータをスキップするので要求されたバイト数のスキップは常に失敗します。
+</p>
+
+    
+<h3><a name="RV_NEGATING_RESULT_OF_COMPARETO">RV: compareTo()/compare() の結果を無効にする (RV_NEGATING_RESULT_OF_COMPARETO)</a></h3>
+
+
+<p>
+このコードは、<code>compareTo</code> または <code>compare</code> メソッドの戻り値を無効にしています。
+これは疑わしいか間違ったプログラミングプラクティスです。戻り値が Integer.MIN_VALUE なので、戻り値を無効にすることは結果の符号を無効にしません。
+結果を無効にするのではなくオペランドの順序を逆にすることによって、同じ意図した結果を得ることができます。
+</p>
+
+    
+<h3><a name="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE">RV: 例外的戻り値を無視しているメソッド (RV_RETURN_VALUE_IGNORED_BAD_PRACTICE)</a></h3>
+
+
+<p>
+このメソッドはチェックされていない値を返しています。
+戻り値は異常か予想外の実行結果を示す可能性があるのでチェックするべきです。
+たとえば、<code>File.delete()</code> はファイルをうまく削除できなかったなら、例外をスローするのではなく false を返します。
+結果をチェックしないなら例外的戻り値を返すメソッドの呼び出しで予想外の振る舞いの合図に気づきません。
+</p>
+
+    
+<h3><a name="SI_INSTANCE_BEFORE_FINALS_ASSIGNED">SI: スタティックイニシャライザは、すべての static final フィールドが代入される前にインスタンスを作成する (SI_INSTANCE_BEFORE_FINALS_ASSIGNED)</a></h3>
+
+
+<p>
+すべての static final フィールドが初期化される前に、スタティックイニシャライザがクラスのインスタンスを作成します。
+</p>
+
+    
+<h3><a name="SW_SWING_METHODS_INVOKED_IN_SWING_THREAD">SW: Swing メソッドは AWT イベントディスパッチスレッドから呼び出す必要がある (SW_SWING_METHODS_INVOKED_IN_SWING_THREAD)</a></h3>
+
+
+<p>
+(<a href="http://web.archive.org/web/20090526170426/http://java.sun.com/developer/JDCTechTips/2003/tt1208.html">From JDC Tech Tip</a>)<br>
+に解説されているとおり、Swing のメソッド、<code>show</code> メソッド、<code>setVisible</code> メソッド、<code>pack</code> メソッドは、フレームのために関連したピアを作成します。
+ピアの作成で、システムはイベントディスパッチスレッドを作成します。
+これが問題になることがあります。なぜなら <code>pack</code> メソッドと <code>validate</code> メソッドがまだ処理中でもイベントディスパッチスレッドがリスナに通知できるからです。
+この状況は、2つのスレッドが Swing コンポーネントにアクセスする可能性があり、デッドロックや、その他のスレッドに関する問題になる可能性がある重大な欠陥です。
+<code>pack</code> メソッドの呼び出しはコンポーネントを実体化させます。実体化しているときに、イベントディスパッチスレッドがリスナへの通知を開始する可能性があります。
+</p>
+
+    
+<h3><a name="SE_BAD_FIELD">Se: 直列化可能クラスの非 transient で非直列化可能なインスタンスフィールド (SE_BAD_FIELD)</a></h3>
+
+
+<p>
+この直列化可能クラスは、transient、Serializable、<code>java.lang.Object</code> でもない非プリミティブ型のインスタンスフィールドを定義して、
+<code>Externalizable</code> インタフェースまたは <code>readObject</code> メソッドと <code>writeObject</code> メソッドを実装するように見えません。
+また、<code>Externalizable</code> インタフェースも実装していなくて、<code>readObject</code> メソッドも <code>writeObject</code> メソッドも定義していません。
+非直列化可能オブジェクトがこのフィールドに格納されるならクラスのオブジェクトは正しく直列化復元されません。
+</p>
+
+    
+<h3><a name="SE_BAD_FIELD_INNER_CLASS">Se: 非直列化可能クラスに直列化可能な内部クラスがある (SE_BAD_FIELD_INNER_CLASS)</a></h3>
+
+
+<p>
+この直列化可能クラスは、非直列化可能クラスの内部クラスです。
+内部クラスを直列化しようとすると関連する外部クラスのインスタンスを結びつけようとするので、実行時エラーの原因になります。
+</p>
+<p>
+できれば、内部クラスを static にして問題を解決するべきです。
+外部クラスを直列化可能にすることで動作するかもしれないが、内部クラスのインスタンスを直列化することは外部クラスも常に直列化することを意味します。
+本当に望むことですか。
+</p>
+
+    
+<h3><a name="SE_BAD_FIELD_STORE">Se: 非直列化可能な値を直列化可能クラスのインスタンスフィールドに格納している (SE_BAD_FIELD_STORE)</a></h3>
+
+
+<p>
+非直列化可能な値を直列化可能クラスの 非 transient フィールドに格納しています。
+</p>
+
+    
+<h3><a name="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE">Se: Comparator は Serializable を実装していない (SE_COMPARATOR_SHOULD_BE_SERIALIZABLE)</a></h3>
+
+
+<p>
+このクラスは <code>Comparator</code> インタフェースを実装しています。
+<code>Serializable</code> インタフェースも実装するべきかどうか検討するべきです。
+コンパレータが <code>TreeMap</code> のような順序付きコレクションを構築するために使われるなら、コンパレータが直列化可能な場合だけ、<code>TreeMap</code> は直列化可能です。
+大部分のコンパレータがほとんど状態を持たないとしても直列化可能にすることは簡単で良い防衛的なプログラミングです。
+</p>
+
+    
+<h3><a name="SE_INNER_CLASS">Se: 直列化可能な内部クラス (SE_INNER_CLASS)</a></h3>
+
+
+<p>
+この直列化可能なクラスは内部クラスです。内部クラスを直列化しようとすると関連した外部クラスのインスタンスも直列化します。
+外部クラスのインスタンスは直列化可能なので失敗しませんが、意図したことよりもっとずっと多くのデータを直列化するかもしれません。
+できれば、内部クラスを static にして問題を解決するべきです。
+</p>
+
+    
+<h3><a name="SE_NONFINAL_SERIALVERSIONID">Se: serialVersionUID が final ではない (SE_NONFINAL_SERIALVERSIONID)</a></h3>
+
+
+<p>
+このクラスは、final でない <code>serialVersionUID</code> フィールドを定義しています。
+直列化を目的としてバージョン UID を指定することを意図しているならフィールドは final とすべきです。
+</p>
+
+    
+<h3><a name="SE_NONLONG_SERIALVERSIONID">Se: serialVersionUID が long ではない (SE_NONLONG_SERIALVERSIONID)</a></h3>
+
+
+<p>
+このクラスは、long でない <code>serialVersionUID</code> フィールドを定義しています。
+直列化を目的としてバージョン UID を指定することを意図しているならフィールドは long とすべきです。
+</p>
+
+    
+<h3><a name="SE_NONSTATIC_SERIALVERSIONID">Se: serialVersionUID が static ではない (SE_NONSTATIC_SERIALVERSIONID)</a></h3>
+
+
+<p>
+このクラスは、static でない <code>serialVersionUID</code> フィールドを定義しています。
+直列化を目的としてバージョン UID を指定することを意図しているならフィールドは static とすべきです。
+</p>
+
+    
+<h3><a name="SE_NO_SUITABLE_CONSTRUCTOR">Se: Serializable なクラスのスーパークラスで、引数なしコンストラクタを定義していない (SE_NO_SUITABLE_CONSTRUCTOR)</a></h3>
+
+
+<p>
+このクラスは <code>Serializable</code> インタフェースを実装していますが、そのスーパークラスは実装していません。
+そのようなオブジェクトが直列化復元されるとき、スーパークラスのフィールドはスーパークラスの引数なしコンストラクタを呼び出すことによって初期化される必要があります。
+スーパークラスには引数なしコンストラクタがないので、直列化と直列化復元は実行時に失敗します。
+</p>
+
+    
+<h3><a name="SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION">Se: Externalizable なクラスが引数なしコンストラクタを定義していない (SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION)</a></h3>
+
+
+<p>
+このクラスは、<code>Externalizable</code> インタフェースを実装していますが、引数なしコンストラクタを定義していません。
+<code>Externalizable</code> オブジェクトが直列化復元されるときは、最初に引数なしコンストラクタを呼び出すことによって構築される必要があります。
+このクラスには引数なしコンストラクタがないので、直列化と直列化復元は実行時に失敗します。
+</p>
+
+    
+<h3><a name="SE_READ_RESOLVE_MUST_RETURN_OBJECT">Se: readResolve メソッドの戻り値の型が Object で宣言されていない (SE_READ_RESOLVE_MUST_RETURN_OBJECT)</a></h3>
+
+
+<p>
+<code>readResolve</code> メソッドが直列化機構で認識されるためには戻り値の型が <code>Object</code> で宣言されなければなりません。 
+</p>
+
+    
+<h3><a name="SE_TRANSIENT_FIELD_NOT_RESTORED">Se: 直列化復元によって設定されない transient フィールド  (SE_TRANSIENT_FIELD_NOT_RESTORED)</a></h3>
+
+
+<p>
+このクラスには複数の場所で更新されるフィールドがあります。したがって、このクラスの状態の一部であると思われます。
+しかしながら、フィールドは transient と宣言しているので、 readObject/readResolve で値が設定されません。
+クラスの直列化復元されたインスタンスにはデフォルト値が設定されます。
+</p>
+
+    
+<h3><a name="SE_NO_SERIALVERSIONID">SnVI: Serializable なクラスが serialVersionUID を定義していない (SE_NO_SERIALVERSIONID)</a></h3>
+
+
+<p>
+このクラスは <code>Serializable</code> インタフェースを実装していますが、<code>serialVersionUID</code> フィールドを定義していません。
+.class オブジェクトへの参照を追加するのと同じくらい簡単な変更でクラスに合成フィールドを追加します。
+それは、残念ながら暗黙の <code>serialVersionUID</code> を変えます (たとえば、<code>String.class</code> への参照を追加すると、<code>class$java$lang$String</code> という static フィールドを生成します)。
+また、バイトコードコンパイラへの異なるソースコードは、クラスオブジェクトまたは内部クラスに参照のために生成される合成変数のために異なる命名規則を使用するかもしれません。
+バージョンを横断する Serializable の相互運用性を保証するために、明示的に、serialVersionUID を追加することを検討してください。
+</p>
+
+    
+<h3><a name="UI_INHERITANCE_UNSAFE_GETRESOURCE">UI: クラスが拡張されるなら getResource の使い方は安全ではないかもしれない (UI_INHERITANCE_UNSAFE_GETRESOURCE)</a></h3>
+
+
+<p>
+このクラスが別のパッケージによって拡張されるなら、<code>this.getClass().getResource(...)</code> の呼び出しは予想外の結果をもたらす可能性があります。
+</p>
+
+    
+<h3><a name="BC_IMPOSSIBLE_CAST">BC: 不可能なキャスト (BC_IMPOSSIBLE_CAST)</a></h3>
+
+
+<p>
+このキャストは、常に ClassCastException をスローします。
+FindBugs は、instanceof チェックから型情報を調査して、メソッドからの戻り値とフィールドからロードされた値の型について、より多くの正確な情報を使用します。
+したがって、宣言された変数の型にはより多くの正確な情報があるかもしれないしれません。
+そして、キャストが常に実行時例外をスローするのか判定するために使用する可能性があります。
+</p>
+
+    
+<h3><a name="BC_IMPOSSIBLE_DOWNCAST">BC: 不可能なダウンキャスト (BC_IMPOSSIBLE_DOWNCAST)</a></h3>
+
+
+<p>
+このキャストは、常に ClassCastException をスローします。
+解析はキャストしている値の正確な型がわかっていると信じています。
+そして、サブタイプへダウンキャストしようとする試みは、ClassCastException のスローによって常に失敗します。 
+</p>
+
+    
+<h3><a name="BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY">BC: toArray メソッドの結果の不可能なダウンキャスト (BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY)</a></h3>
+
+
+<p>
+このコードは、以下のように、<code>Object[]</code> より特定の型のコレクションで <code>toArray</code> メソッドを呼び出す結果をキャストしています。
+</p>
+<blockquote><pre>
+String[] getAsArray(Collection&lt;String&gt; c) {
+  return (String[]) c.toArray();
+}
+</pre></blockquote>
+<p>
+これは通常、ClassCastException をスローして失敗します。
+ほとんどすべてのコレクションの <code>toArray</code> メソッドは、<code>Object[]</code> を返します。
+Collection オブジェクトは宣言された総称型コレクションの参照がないので、本当に何もできません。
+コレクションから特定の型の配列を得る正しい方法は、<code>c.toArray(new String[]);</code> または <code>c.toArray(new String[c.size()]);</code> (後者はわずかにより効率的です) を使うことです。
+これに対する1つの共通の知られている例外があります。
+<code>Arrays.asList(...)</code>によって返されるリストの <code>toArray()</code> メソッドは、共変な配列を返します。
+たとえば、<code>Arrays.asArray(new String[] { "a" }).toArray()</code> は <code>String []</code> を返します。
+FindBugs はそのようなケースを検出して抑止しようとしますが、いくつか見落とすかもしれません。
+</p>
+
+    
+<h3><a name="BC_IMPOSSIBLE_INSTANCEOF">BC: 常に false を返す instanceof (BC_IMPOSSIBLE_INSTANCEOF)</a></h3>
+
+
+<p>
+この instanceof は常に false を返します。これは安全で、誤解や論理エラーを指摘していないことを確認してください。
+</p>
+
+    
+<h3><a name="BIT_ADD_OF_SIGNED_BYTE">BIT: 符号付きバイト値のビット加算 (BIT_ADD_OF_SIGNED_BYTE)</a></h3>
+
+
+<p>
+バイト値と明らかに下位8ビットがあるとわかっている値を加算しています。
+ビット演算を実行する前にバイト配列からロードされた値は32ビットまで符号拡張されます。
+したがって、<code>b[0]</code> の値が <code>0xff</code> で、<code>x</code> の初期値が <code>0</code> だとすると、
+<code>((x &lt;&lt; 8) + b[0])</code> は、<code>0xff</code> が符号拡張で <code>0xffffffff</code> になるので、結果として <code>0xffffffff</code> が得られます。 
+</p>
+<p>
+特に、バイト配列 int にパックする以下のようなコードはひどく間違っています。
+</p>
+<blockquote><pre>
+int result = 0;
+for(int i = 0; i &lt; 4; i++) 
+  result = ((result &lt;&lt; 8) + b[i]);
+</pre></blockquote>
+<p>
+その代わりに以下のようなイディオムは動作します。
+</p>
+<blockquote><pre>
+int result = 0;
+for(int i = 0; i &lt; 4; i++) 
+  result = ((result &lt;&lt; 8) + (b[i] &amp; 0xff));
+</pre></blockquote>
+
+    
+<h3><a name="BIT_AND">BIT: 互換性のないビットマスク (BIT_AND)</a></h3>
+
+
+<p>
+このメソッドは、<i>(e &amp; C)</i> 形式の式を <i>D</i> と比較しています。
+定数 <i>C</i> と <i>D</i> の特定の値と常に等しくないことを比較します。論理エラーかタイプミスかもしれません。
+</p>
+
+    
+<h3><a name="BIT_AND_ZZ">BIT: ((...) & 0) == 0 なのか確かめている (BIT_AND_ZZ)</a></h3>
+
+
+<p>
+このメソッドは、<i>(e &amp; 0)</i> 形式の式を0と比較しています。それは、常に等価であることを比較します。論理エラーかタイプミスかもしれません。
+</p>
+
+    
+<h3><a name="BIT_IOR">BIT: 互換性のないビットマスク (BIT_IOR)</a></h3>
+
+
+<p>
+このメソッドは、<code>(e | C)</code> 形式の式を <code>D</code> と比較しています。
+定数 <i>C</i> と <i>D</i> の特定の値と常に等しくないことを比較します。論理エラーかタイプミスかもしれません。
+</p>
+<p>
+典型的に、このバグは、ビットセットで帰属関係のテストを実行したいコードで発生します。
+しかし、ビット論理積演算子 ("&amp;") の代わりにビット論理和演算子 ("|") を使用しています。
+</p>
+
+    
+<h3><a name="BIT_IOR_OF_SIGNED_BYTE">BIT: 符号付きバイト値のビット論理和 (BIT_IOR_OF_SIGNED_BYTE)</a></h3>
+
+
+<p>
+ロードしたバイト値 (たとえば、バイト配列からロードされた値や戻り値がバイト型のメソッドから返された値) とビット論理和を実行しています。
+ビット演算を実行する前にバイト値は32ビットまで符号拡張されます。
+したがって、<code>b[0]</code> の値が <code>0xff</code> で、<code>x</code> の初期値が <code>0</code> だとすると、
+<code>((x &lt;&lt; 8) | b[0])</code> は、<code>0xff</code> が符号拡張で <code>0xffffffff</code> になるので、結果として <code>0xffffffff</code> が得られます。 
+</p>
+<p>
+特に、バイト配列 int にパックする以下のようなコードはひどく間違っています。
+</p>
+<blockquote><pre>
+int result = 0;
+for(int i = 0; i &lt; 4; i++) {
+    result = ((result &lt;&lt; 8) | b[i]);
+}
+</pre></blockquote>
+<p>
+その代わりに以下のようなイディオムは動作します。
+</p>
+<blockquote><pre>
+int result = 0;
+for(int i = 0; i &lt; 4; i++) {
+    result = ((result &lt;&lt; 8) | (b[i] &amp; 0xff));
+}
+</pre></blockquote>
+
+    
+<h3><a name="BIT_SIGNED_CHECK_HIGH_BIT">BIT: ビット演算の符号をチェックする (BIT_SIGNED_CHECK_HIGH_BIT)</a></h3>
+
+
+<p>
+このメソッドは、<code>((event.detail &amp; SWT.SELECTED) &gt; 0)</code> のような式を比較しています。
+ビット演算をより大きい演算子で比較することは、予想外の結果 (もちろん、<code>SWT.SELECTED</code> の値による) の原因になる可能性があります。
+<code>SWT.SELECTED</code> が負数であるなら、これはバグの候補です。
+<code>SWT.SELECTED</code> が負ではないとしても、'&gt; 0' の代わりに '!= 0' を使うことは良いプラクティスと思われます。
+</p>
+<p>
+Boris Bokowski
+</p>
+
+    
+<h3><a name="BOA_BADLY_OVERRIDDEN_ADAPTER">BOA: スーパークラスの Adapter で実装されるメソッドを誤ってオーバーライドしているクラス (BOA_BADLY_OVERRIDDEN_ADAPTER)</a></h3>
+
+
+<p>
+このメソッドは、スーパークラスで実装されているメソッドをオーバーライドしています。
+スーパークラスは、java.awt.event や javax.swing.event パッケージで定義されているリスナを実装する Adapter です。
+その結果、イベントが発生するときこのメソッドは呼び出されません。
+</p>
+
+    
+<h3><a name="ICAST_BAD_SHIFT_AMOUNT">BSHIFT: 32ビット int の-31から31の範囲を超えた量によるシフト (ICAST_BAD_SHIFT_AMOUNT)</a></h3>
+
+
+<p>
+このコードは、32ビット int の-31から31の範囲を超えた量でシフトを実行しています。
+これの効果は、どのくらいシフトするのかを決めるために整数値の下位5ビット (32で割った余り) を使うことです (たとえば、40ビットでシフトすることは8ビットでシフトすることと同じで、32ビットでシフトすることは0ビットでシフトすることと同じです)。
+これは、おそらく期待されたことではなく、少なくとも紛らわしいです。
+</p>
+
+    
+<h3><a name="BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR">Bx: プリミティブ値が3項演算子のためにアンボクシングされて、型変換される (BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR)</a></h3>
+
+
+<p>
+ラップされたプリミティブ値は、3項演算子 (<code> b ? e1 : e2</code>) の評価の一部として、別のプリミティブ型にアンボクシングされて変換されます。
+Java 言語仕様では、<code>e1</code> と <code>e2</code> がラップされた数値なら値はアンボクシングされ、共通の型へと変換/型変換されます
+(たとえば、<code>e1</code> が <code>Integer</code> で、<code>e2</code> が <code>Float</code> なら <code>e1</code> はアンボクシング (<code>int</code> に変換) され、<code>float</code> に変換され、ボクシング (<code>Float</code> に変換) されます)。
+JLS セクション15.25を参照してください。
+</p>
+
+    
+<h3><a name="CO_COMPARETO_RESULTS_MIN_VALUE">Co: compareTo()/compare() は Integer.MIN_VALUE を返す (CO_COMPARETO_RESULTS_MIN_VALUE)</a></h3>
+
+
+<p>
+いくつかの状況下では、この <code>compareTo</code> または <code>compare</code> メソッドは Integer.MIN_VALUE を返します。それは、非常に間違ったプラクティスです。
+<code>compareTo</code> メソッドの戻り値で重要なことは結果の符号だけです。
+しかし、結果の符号を無効にすることを期待して、<code>compareTo</code> メソッドの戻り値を無効にすることがあります。
+戻り値が Integer.MIN_VALUE である場合を除き、Integer.MIN_VALUE よりも-1を返します。
+</p>
+
+    
+<h3><a name="DLS_DEAD_LOCAL_INCREMENT_IN_RETURN">DLS: return 文に役に立たないインクリメントがある (DLS_DEAD_LOCAL_INCREMENT_IN_RETURN)</a></h3>
+
+
+<p>
+<code>return x++;</code> のような return 文があります。
+接頭辞インクリメント/デクリメントは 式の値に影響を与えないので、インクリメント/デクリメントは効果がありません。
+この文が正しいのか確かめてください。
+</p>
+
+    
+<h3><a name="DLS_DEAD_STORE_OF_CLASS_LITERAL">DLS: クラスリテラルの無効な代入 (DLS_DEAD_STORE_OF_CLASS_LITERAL)</a></h3>
+
+
+<p>
+この命令は変数にクラスリテラルを代入していますが、決して使われません。<br>
+<a href="//java.sun.com/j2se/1.5.0/compatibility.html#literal">The behavior of this differs in Java 1.4 and in Java 5</a><br>
+J2SE 1.4 およびそれ以前のバージョンでは、<code>Foo.class</code> への参照は <code>Foo</code> のためのスタティックイニシャライザがすでに実行されていないなら実行することを強制します。
+J2SE 5.0 ではそうしません。
+</p>
+<p>
+より多くの詳細と例と J2SE 5.0 のクラスの強制的な初期化の方法の提案は Sun の <a href="//java.sun.com/j2se/1.5.0/compatibility.html#literal">article on Java SE compatibility</a> を参照してください。
+</p>
+
+    
+<h3><a name="DLS_OVERWRITTEN_INCREMENT">DLS: 上書きされたインクリメント (DLS_OVERWRITTEN_INCREMENT)</a></h3>
+
+
+<p>
+このコードは、インクリメント演算 (たとえば、<code>i++</code>) を実行してすぐに上書きしています。
+たとえば、<code>i = i++</code> は元の値をインクリメントした値で上書きします。 
+</p>
+
+    
+<h3><a name="DMI_ARGUMENTS_WRONG_ORDER">DMI: 逆にされた引数 (DMI_ARGUMENTS_WRONG_ORDER)</a></h3>
+
+
+<p>
+このメソッド呼び出しへの引数は、順序が間違っているように見えます。
+たとえば、呼び出し <code>Preconditions.checkNotNull("message", message)</code> は、引数を予約しました。チェックされる値は第一引数です。
+</p>
+
+    
+<h3><a name="DMI_BAD_MONTH">DMI: 月のための間違った定数値 (DMI_BAD_MONTH)</a></h3>
+
+
+<p>
+このコードは、メソッドに0から11の範囲外の月定数値を渡しています。 
+</p>
+
+    
+<h3><a name="DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE">DMI: 正確に表されない double から構築された BigDecimal (DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE)</a></h3>
+
+
+<p>
+このコードは、10進数の数にうまく変換されない double 値から BigDecimal を作成しています。
+たとえば、Java で <code>new BigDecimal(0.1)</code> と書くと、0.1と正確に等しい BigDecimal (スケールが1でスケールなしの値が1) が作成されると思うかもしれませんが
+実際には0.1000000000000000055511151231257827021181583404541015625と等しくなります。
+</p>
+<p>
+おそらく <code>BigDecimal.valueOf(double d)</code> メソッドの使用が望ましいです。BigDecimal(たとえば、<code>BigDecimal.valueOf(0.1)</code> は0.1を与えます) を作成するためには double の文字列表現を使用します。
+</p>
+
+    
+<h3><a name="DMI_CALLING_NEXT_FROM_HASNEXT">DMI: hasNext メソッドで next メソッドを呼び出している (DMI_CALLING_NEXT_FROM_HASNEXT)</a></h3>
+
+
+<p>
+<code>hasNext</code> メソッドは、<code>next</code> メソッドを呼び出しています。
+<code>hasNext</code> メソッドは、イテレータの状態を変更することになっていないので、ほぼ確実に間違っています。
+<code>next</code> メソッドがイテレータの状態を変更することになっています。
+</p>
+
+    
+<h3><a name="DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES">DMI: コレクションは自分自身を含めるべきではない (DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES)</a></h3>
+
+
+<p>
+この総称型コレクションメソッドへの呼び出しはコレクションに自分自身が含まれている (たとえば、<code>s.contains(s)</code> が true だとして) 場合にだけ意味があります。
+これは true である可能性が低くて、もし true なら問題の原因になります (たとえば、無限再帰になっているハッシュコードの計算)。
+間違ったパラメータが渡されている可能性が高いです。
+</p>
+
+    
+<h3><a name="DMI_DOH">DMI: D'oh! 無意味なメソッド呼び出し (DMI_DOH)</a></h3>
+
+
+<p>
+この部分的なメソッド呼び出しは、検査から明らかな理由で意味がありません。
+</p>
+
+    
+<h3><a name="DMI_INVOKING_HASHCODE_ON_ARRAY">DMI: 配列で hashCode メソッドを呼び出している (DMI_INVOKING_HASHCODE_ON_ARRAY)</a></h3>
+
+
+<p>
+このコードは、配列で <code>hashCode</code> メソッドを呼び出しています。
+配列で <code>hashCode</code> メソッドを呼び出すことは、System.identityHashCode と同じ値を返すので、コンテンツと配列の長さを無視します。
+配列 <code>a</code> のコンテンツによるハッシュコードを必要とするなら、<code>java.util.Arrays.hashCode(a)</code> を使用してください。
+</p>
+
+    
+<h3><a name="DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT">DMI: int に対して Double.longBitsToDouble() を呼び出している (DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT)</a></h3>
+
+
+<p>
+<code>Double.longBitsToDouble()</code> の呼び出しで、32ビット int 値が引数として渡されています。
+これはほぼ間違いなく意図したことではありませんし意図した結果を与えることはほとんどありません。 
+</p>
+
+    
+<h3><a name="DMI_VACUOUS_SELF_COLLECTION_CALL">DMI: コレクションへの無意味な呼び出し (DMI_VACUOUS_SELF_COLLECTION_CALL)</a></h3>
+
+
+<p>
+この呼び出しは意味がありません。
+どんなコレクション <code>c</code> も <code>c.containsAll(c)</code> を呼び出すことは常に true であるべきです。
+そして、<code>c.retainAll(c)</code> は効果があるはずがありません。
+</p>
+
+    
+<h3><a name="DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION">Dm: ランタイムリテンションなしで、アノテーションの存在を調べるためにリフレクションを使用することはできない (DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION)</a></h3>
+
+
+<p>
+アノテーションは、<code>@Retention(RetentionPolicy.RUNTIME)</code> でアノテートされなければ、リフレクション (たとえば、<code>isAnnotationPresent(...)</code> メソッド) を使用して観測することができません。
+</p>
+
+    
+<h3><a name="DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR">Dm: ScheduledThreadPoolExecutor の最大プールサイズを変えようとする無駄な試み (DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR)</a></h3>
+
+
+<p>
+<code>ScheduledThreadPoolExecutor</code> は <code>ThreadPoolExecutor</code> から継承されますが継承されたチューニングメソッドの一部は有効ではありません。
+特に、corePoolSize スレッドとアンバウンド形式のキューを使用する固定サイズプールとして動作するので、maximumPoolSize の調整は有効な効果がありません。<br>
+(<a href="http://java.sun.com/javase/ja/6/docs/ja/api/java/util/concurrent/ScheduledThreadPoolExecutor.html">Javadoc</a>)
+</p>
+
+    
+<h3><a name="DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS">Dm: コアプールサイズが0の ScheduledThreadPoolExecutor の作成 (DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS)</a></h3>
+
+
+<p>
+コアプールサイズが0の <code>ScheduledThreadPoolExecutor</code> は決して何も実行しません。
+最大プールサイズへの変更は無視されます。<br>
+(<a href="http://java.sun.com/javase/ja/6/docs/ja/api/java/util/concurrent/ScheduledThreadPoolExecutor.html#ScheduledThreadPoolExecutor(int)">Javadoc</a>)
+</p>
+
+    
+<h3><a name="DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD">Dm: EasyMock メソッドへの役に立たない/無意味な呼び出し (DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD)</a></h3>
+
+
+<p>
+この呼び出しは EasyMock メソッドにどんなオブジェクトも渡さないので何もしません。
+</p>
+
+    
+<h3><a name="EC_ARRAY_AND_NONARRAY">EC: equals メソッドを使用して配列と非配列を比較している (EC_ARRAY_AND_NONARRAY)</a></h3>
+
+
+<p>
+このメソッドは、配列と配列であると思われない参照を比較するために <code>.equals(Object o)</code> を呼び出しています。
+比較されているものが違う型なら不等であることが保証されているので、比較はほぼ間違いなく誤りです。
+たとえそれらが両方とも配列であるとしても、配列の <code>equals</code> メソッドは2つの配列が同じオブジェクトであると決定するだけです。
+配列のコンテンツを比較するためには <code>java.util.Arrays.equals(Object[], Object[])</code> を使用してください。 
+</p>
+
+    
+<h3><a name="EC_BAD_ARRAY_COMPARE">EC: 配列の equals メソッド呼び出しは == と等価である (EC_BAD_ARRAY_COMPARE)</a></h3>
+
+
+<p>
+このメソッドは、配列で <code>.equals(Object o)</code> を呼び出しています。
+配列は、<code>Object</code> の <code>equals</code> メソッドをオーバーライドしないので、配列で <code>equals</code> メソッドを呼び出すことはアドレスを比較することと同じです。
+配列のコンテンツを比較するためには <code>java.util.Arrays.equals(Object[], Object[])</code> を使用してください。
+配列のアドレスを比較するために、明示的に、<code>==</code> を使用して参照等価性をチェックすることは、それほど紛らわしくないでしょう。
+</p>
+
+    
+<h3><a name="EC_INCOMPATIBLE_ARRAY_COMPARE">EC: equals(...) メソッドを使用して互換性のない配列を比較している (EC_INCOMPATIBLE_ARRAY_COMPARE)</a></h3>
+
+
+<p>
+このメソッドは、互換性のない型の配列を比較するために <code>.equals(Object o)</code> を呼び出しています (たとえば、<code>String[]</code> と <code>StringBuffer[]</code>、<code>String[]</code> と <code>int[]</code>) 。
+それらは、決して等価ではありません。
+さらに、<code>equals(...)</code> が配列を比較するのに使用されるとき、それらが同じ配列であるかどうか確かめるだけで、配列のコンテンツは無視します。
+</p>
+
+    
+<h3><a name="EC_NULL_ARG">EC: equals(null) の呼び出し (EC_NULL_ARG)</a></h3>
+
+
+<p>
+このメソッドは、 null 値の引数を渡して <code>equals(Object)</code> を呼び出しています。
+<code>equals</code> メソッドの規約によると、この呼び出しは常に false を返すはずです。
+</p>
+
+    
+<h3><a name="EC_UNRELATED_CLASS_AND_INTERFACE">EC: equals メソッドを呼び出して無関係のクラスとインタフェースを比較している (EC_UNRELATED_CLASS_AND_INTERFACE)</a></h3>
+
+
+<p>
+このメソッドは、一方がクラスで他方がインタフェースである2つの参照で <code>equals(Object)</code> メソッドを呼び出しています。
+クラスは、そのクラスの非抽象サブクラスも含めてインタフェースを実装していません。
+したがって比較されている2つのオブジェクトは実行時に同じクラスのメンバである可能性が低いです (いくつかのアプリケーションクラスが解析できなかったか、動的クラスローディングが実行時に起こることができた場合を除く)。
+<code>equals</code> メソッドの規約によると、異なるクラスのオブジェクトは常に不等として比較するべきです。
+したがって、<code>java.lang.Object.equals(Object)</code> によって定義される規約によれば、この比較の結果は実行時に常に false になります。
+</p>
+
+    
+<h3><a name="EC_UNRELATED_INTERFACES">EC: equals メソッドを呼び出して異なる型のインタフェースを比較している (EC_UNRELATED_INTERFACES)</a></h3>
+
+
+<p>
+このメソッドは、どちらも他方のサブタイプでない無関係なインタフェース型の2つの参照で <code>equals(Object)</code> メソッドを呼び出しています。
+そして、両方のインタフェースを実装する既知の非抽象クラスがありません。
+したがって比較されている2つのオブジェクトは実行時に同じクラスのメンバである可能性が低いです (いくつかのアプリケーションクラスが解析できなかったか、動的クラスローディングが実行時に起こることができた場合を除く)。
+<code>equals</code> メソッドの規約によると、異なるクラスのオブジェクトは常に不等として比較するべきです。
+したがって、<code>java.lang.Object.equals(Object)</code> によって定義される規約によれば、この比較の結果は実行時に常に false になります。
+</p>
+
+    
+<h3><a name="EC_UNRELATED_TYPES">EC: equals メソッドを呼び出して異なる型を比較している (EC_UNRELATED_TYPES)</a></h3>
+
+
+<p>
+このメソッドは、共通のサブクラスがない異なるクラス型の2つのオブジェクト参照で <code>equals(Object)</code> メソッドを呼び出しています。
+したがって比較されている2つのオブジェクトは実行時に同じクラスのメンバである可能性が低いです (いくつかのアプリケーションクラスが解析できなかったか、動的クラスローディングが実行時に起こることができた場合を除く)。
+<code>equals</code> メソッドの規約によると、異なるクラスのオブジェクトは常に不等として比較するべきです。
+したがって、<code>java.lang.Object.equals(Object)</code> によって定義される規約によれば、この比較の結果は実行時に常に false になります。
+</p>
+
+    
+<h3><a name="EC_UNRELATED_TYPES_USING_POINTER_EQUALITY">EC: 参照等価性を使用して異なる型を比較している (EC_UNRELATED_TYPES_USING_POINTER_EQUALITY)</a></h3>
+
+
+<p>
+このメソッドは異なる型と思われる2つの参照を比較するために参照等価性を使用しています。
+この比較の結果は、常に false です。
+</p>
+
+    
+<h3><a name="EQ_ALWAYS_FALSE">Eq: equals メソッドは常に false を戻す (EQ_ALWAYS_FALSE)</a></h3>
+
+
+<p>
+このクラスでは、常に false を返す <code>equlas</code> メソッドを定義しています。
+これは、オブジェクトがそれ自身と等価ではないことを意味していて、このクラスの有効な Map や Set を作成できません。
+より根本的に、<code>equals</code> メソッドの要件の一つである反射性を満たしていないことになります。
+</p>
+<p>
+おそらく意図されたことは、オブジェクトはそれ自身と等価であるというオブジェクト同一性です。
+これは <code>Object</code> クラスから継承される振る舞いです。
+異なるスーパークラスから継承される <code>equals</code> メソッドをオーバーライドする必要があるなら以下のようなコードが使えます。
+</p>
+<blockquote><pre>
+public boolean equals(Object o) {
+    return this == o;
+}
+</pre></blockquote>
+
+    
+<h3><a name="EQ_ALWAYS_TRUE">Eq: equals メソッドは常に true を返す (EQ_ALWAYS_TRUE)</a></h3>
+
+
+<p>
+このクラスは、常に true を返す <code>equals</code> メソッドを定義しています。
+これは想像力に富むが、あまり良い方法とはいえません。さらに、<code>equals</code> メソッドが対称的ではないことを意味します。
+</p>
+
+    
+<h3><a name="EQ_COMPARING_CLASS_NAMES">Eq: equals メソッドはクラスオブジェクトではなくクラス名を比較している (EQ_COMPARING_CLASS_NAMES)</a></h3>
+
+
+<p>
+このメソッドは、クラス名を比較することによって、2つのオブジェクトが同じクラスなのか確かめています。
+異なるクラスローダによってロードされたクラスなら、同じ名前で異なるクラスがある可能性があります。
+クラスオブジェクトが同じなのか確かめてください。
+</p>
+
+    
+<h3><a name="EQ_DONT_DEFINE_EQUALS_FOR_ENUM">Eq: 列挙型は共変な equals メソッドを定義している (EQ_DONT_DEFINE_EQUALS_FOR_ENUM)</a></h3>
+
+
+<p>
+このクラスは列挙を定義していて、列挙の等価性はオブジェクト同一性を使用して定義されています。
+列挙値のために共変な <code>equals</code> メソッドを定義することは、非常に間違ったプラクティスです。
+2つの異なる列挙値が一般にの <code>equals</code> メソッドでは「等価ではない」と判定され、共変な <code>equals</code> メソッドでは「等価」と判定されるからです。
+共変な <code>equals</code> メソッドを定義しないでください。
+</p>
+
+    
+<h3><a name="EQ_OTHER_NO_OBJECT">Eq: equals(Object) メソッドをオーバーライドしていない equals メソッドの定義 (EQ_OTHER_NO_OBJECT)</a></h3>
+
+
+<p>
+このクラスは、<code>equals</code> メソッドを定義していますが、<code>java.lang.Object</code> クラスの <code>equals(Object)</code> メソッドをオーバーライドしていません。
+その代わりに、スーパークラスから <code>equals(Object)</code> メソッドを継承して、<code>boolean equals(Object)</code> メソッドを定義するべきです。
+</p>
+
+    
+<h3><a name="EQ_OTHER_USE_OBJECT">Eq: Object.equals(Object) をオーバーライドしていない equals メソッドの定義 (EQ_OTHER_USE_OBJECT)</a></h3>
+
+
+<p>
+このクラスは、<code>equals</code> メソッドを定義していますが、<code>java.lang.Object</code> クラスの <code>equals(Object)</code> メソッドをオーバーライドしていません。
+クラスは、<code>boolean equals(Object)</code> メソッドを定義するべきです。
+</p>
+
+    
+<h3><a name="EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC">Eq: equals メソッドはスーパークラスの equals メソッドをオーバーライドしているが、対称的ではないかもしれない (EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC)</a></h3>
+
+
+<p>
+このクラスはスーパークラスの <code>equals</code> メソッドをオーバーライドする <code>equals</code> メソッドを定義しています。
+両方の <code>equals</code> メソッドは、2つのオブジェクトが等しいかどうかの判定で、<code>instanceof</code> を使用しています。
+<code>equals</code> メソッドは対称的 (<code>a.equals(b) == b.equals(a)</code>) であることが重要なのでこれは危険を伴っています。
+<i>B</i> が <i>A</i> のサブタイプなら <i>A</i> の <code>equals</code> メソッドは引数が <code>instanceof A</code> なのかチェックします。
+そして、<i>B</i> の <code>equals</code> メソッドは引数が <code>instanceof B</code> なのかチェックします。
+これらのメソッドによって定義された同値関係が対称的でないということです。
+</p>
+
+    
+<h3><a name="EQ_SELF_USE_OBJECT">Eq: 共変な equals メソッドを定義して、Object.equals(Object) を継承している (EQ_SELF_USE_OBJECT)</a></h3>
+
+
+<p>
+このクラスは、共変な <code>equals</code> メソッドを定義していますが、 <code>equals(Object)</code> メソッドは <code>java.lang.Object</code> クラスから継承しています。
+クラスは、<code>boolean equals(Object)</code> メソッドを定義するべきです。
+</p>
+
+    
+<h3><a name="FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER">FE: NaN への等価性のための絶望的なテスト (FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER)</a></h3>
+
+
+<p>
+このコードは、浮動小数点が特別な非数値と等価であるか確かめています (たとえば <code>if (x == Double.NaN)</code>)。
+しかしながら、<code>NaN</code> の特別な意味のため、値は <code>NaN</code> と等価ではありません。
+したがって、<code>x == Double.NaN</code> は常に false と評価します。
+<code>x</code> という値が特別な非数値であるかどうか確かめるためには <code>Double.isNaN(x)</code> を使用します (あるいは <code>x</code> が浮動小数点精度であるなら <code>Float.isNaN(x)</code>)。
+</p>
+
+    
+<h3><a name="VA_FORMAT_STRING_BAD_ARGUMENT">FS: 書式指示子へ渡している引数に互換性がない (VA_FORMAT_STRING_BAD_ARGUMENT)</a></h3>
+
+
+<p>
+書式指示子は、対応する引数と互換性がありません。
+たとえば、<code>System.out.println("%d\n", "hello");</code> の %d 書式指示子は数値の引数を必要としますが数値ではなく文字列が渡されています。
+この文が実行されると実行時例外が発生します。
+</p>
+
+    
+<h3><a name="VA_FORMAT_STRING_BAD_CONVERSION">FS: 与えられた引数の型は書式指示子に合致しません (VA_FORMAT_STRING_BAD_CONVERSION)</a></h3>
+
+
+<p>
+引数の1つは、対応する書式指示子と互換性がありません。その結果、実行されるときに実行時例外を生成します。
+たとえば、<code>String.format("%d", "1")</code> は、文字列 "1" が書式指示子 "%d" と互換性がないので例外を生成します。
+</p>
+
+    
+<h3><a name="VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED">FS: printf スタイルの書式が期待されているところで MessageFormat が与えられている (VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED)</a></h3>
+
+
+<p>
+Java の printf 書式文字列と引数のリストを期待するメソッドが呼び出されています。
+しかしながら、書式文字列にはどんな書式指示子 (たとえば、%s) も含まないで、メッセージフォーマットの要素 (たとえば、{0}) を含んでいます。
+printf スタイルの書式文字列が必要なときに、MessageFormat の文字列を与えている可能性が高いです。
+実行時に、すべての引数は無視され、書式文字列は正確にフォーマットされずに返されます。
+</p>
+
+    
+<h3><a name="VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED">FS: 書式文字列で実際に使われるより、多くの引数が渡されている (VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED)</a></h3>
+
+
+<p>
+可変長引数による書式文字列メソッドが呼び出されていますが書式文字列で実際に使われるより多くの引数が渡されています。
+これは実行時例外の原因とはなりませんが、コードはフォーマットされた文字列に含まれることを意図した情報を黙って省略しているかもしれません。
+</p>
+
+    
+<h3><a name="VA_FORMAT_STRING_ILLEGAL">FS: 無効な書式文字列 (VA_FORMAT_STRING_ILLEGAL)</a></h3>
+
+
+<p>
+書式文字列は構文的に無効です。この文が実行されると実行時例外が発生します。
+</p>
+
+    
+<h3><a name="VA_FORMAT_STRING_MISSING_ARGUMENT">FS: 書式文字列は足りない引数を参照している (VA_FORMAT_STRING_MISSING_ARGUMENT)</a></h3>
+
+
+<p>
+書式文字列で書式指示子を満たすために十分な引数が渡されていません。この文が実行されると実行時例外が発生します。
+</p>
+
+    
+<h3><a name="VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT">FS: 書式文字列ための前の引数がない (VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT)</a></h3>
+
+
+<p>
+この書式文字列は、前の書式指示子の引数が再利用されるようにするために「相対インデックス ("&lt;")」を指定しています。
+しかしながら、前の引数がありません。
+たとえば、<code>formatter.format("%&lt;s %s", "a", "b")</code> が実行されると MissingFormatArgumentException をスローします。
+</p>
+
+    
+<h3><a name="GC_UNRELATED_TYPES">GC: 型パラメータとメソッド引数に関係がない (GC_UNRELATED_TYPES)</a></h3>
+
+
+<p>
+総称型コレクションメソッドへの呼び出しにコレクションのパラメータとは互換性のないクラスの引数があります (すなわち、引数の型は総称型引数に対応するスーパタイプでもサブタイプでもありません)。
+したがって、コレクションにはここで使用されたメソッド引数と等価であるどんなオブジェクトも含まれていません。
+多分間違った値がメソッドに渡されています。
+一般に、2つの無関係なクラスのインスタンスは等価ではありません。
+たとえば、<code>Foo</code> と <code>Bar</code> クラスがサブタイプによって関係がないなら、<code>Foo</code> のインスタンスは <code>Bar</code> のインスタンスと等価のはずがありません。
+その他の問題で対称的ではない <code>equals</code> メソッドになる可能性が高いです。
+たとえば、<code>Foo</code> が <code>String</code> と等価であるように <code>Foo</code> クラスを定義するなら、<code>String</code> は <code>String</code> だけと等価であるので、<code>equals</code> メソッドは対称的ではありません。
+</p>
+<p>
+まれに、非対称 <code>equals</code> メソッドを定義して、まだ、何とかそれらのコードを機能させています。
+APIのどれも文書化していないか、保証もしていないが、<code>Collection&lt;String&gt;</code> に <code>Foo</code> があるかどうか調べたいなら、
+引数の <code>equals</code> メソッド (たとえば、<code>Foo</code>クラスの <code>equals</code> メソッド) を使用して等価性をチェックします。
+</p>
+
+    
+<h3><a name="HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS">HE: ハッシュ化された文脈でハッシュ化できないクラスの使用がシグネチャで宣言されている (HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS)</a></h3>
+
+
+<p>
+メソッド、フィールド、クラスは、ハッシュ可能なクラスが必要な文脈で、ハッシュ化できないクラスが使用される総称的なシグネチャを宣言しています。
+クラスは、<code>equals</code> メソッドを宣言していますが、<code>hashCode</code> メソッドは <code>java.lang.Object</code> から継承しています。
+これは「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という <code>hashCode</code> メソッドの汎用規約に従っていないのでハッシュ化できません。
+</p>
+
+    
+<h3><a name="HE_USE_OF_UNHASHABLE_CLASS">HE: ハッシュデータ構造で hashCode メソッドのないクラスを使用している (HE_USE_OF_UNHASHABLE_CLASS)</a></h3>
+
+
+<p>
+このクラスは、<code>equals(Object)</code> メソッドを定義していますが、<code>hashCode</code> メソッドを定義していません。
+これは「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という <code>hashCode</code> メソッドの汎用規約に従っていません。
+このクラスのインスタンスはハッシュデータ構造で使われています。最重要問題を修正する必要があります。
+</p>
+
+    
+<h3><a name="ICAST_INT_2_LONG_AS_INSTANT">ICAST: int 値を long に変換して絶対時間として使用している (ICAST_INT_2_LONG_AS_INSTANT)</a></h3>
+
+
+<p>
+このコードは、32ビット int 値を64ビット long 値に変換して、絶対時間値を必要とするメソッドパラメータに渡しています。
+絶対時間値は、「エポック」(すなわち、1970年1月1日、00:00:00 GMT)としてわかっている標準的な基準時間からのミリ秒数です。<br>
+たとえば、次のメソッド(Date にエポックから秒を変換することを意図した)は、ひどく壊れています。
+</p>
+<blockquote><pre>
+Date getDate(int seconds) { return new Date(seconds * 1000); }
+</pre></blockquote>
+<p>
+乗算は32ビット演算を使用して、64ビット値に変換されます。
+32ビット値は、64ビットに変換されて、絶対時間値を表すために使用されるとき、1969年12月と1970年1月の日付しか表せません。
+</p>
+<p>
+上記のメソッドのための正しい実装は、以下のとおりです。
+</p>
+<blockquote><pre>
+// 失敗、2037年後の日付
+Date getDate(int seconds) { return new Date(seconds * 1000L); }
+
+// より良い、すべての日付で動作する
+Date getDate(long seconds) { return new Date(seconds * 1000); }
+</pre></blockquote>
+
+    
+<h3><a name="ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL">ICAST: 整数値を double にキャストして Math.ceil() に渡している (ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL)</a></h3>
+
+
+<p>
+このコードは、整数値 (たとえば、int や long) を倍精度浮動小数点に変換してから、その結果を <code>Math.ceil()</code> に渡しています。
+整数を double に変換すると小数部がない数値が得られるので、この演算は常にノーオペレーションになります。
+<code>Math.ceil()</code>に渡される値を生成した演算が倍精度浮動小数点演算を使用して実行することを意図した可能性が高いです。
+</p>
+
+    
+<h3><a name="ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND">ICAST: 整数値を float にキャストして Math.round() に渡している (ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND)</a></h3>
+
+
+<p>
+このコードは、整数値を float 精度浮動小数点に変換してから、その結果を <code>Math.round()</code> に渡して引数に最も近い int/long を返します。
+整数を float に変換すると小数部がない数値が得られるので、この演算は常にノーオペレーションになります。
+<code>Math.round()</code>に渡される値を生成した演算が浮動小数点演算を使用して実行することを意図した可能性が高いです。
+</p>
+
+    
+<h3><a name="IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD">IJU: run メソッドでの JUnit アサーションは JUnit によって通知されない (IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD)</a></h3>
+
+
+<p>
+<code>run</code> メソッドで JUnit アサーションが実行されています。失敗した JUnit アサーションは例外をスローします。
+したがって、この例外がテストメソッドを実行したスレッド以外のスレッドで発生するなら、例外はスレッドを終了させますが、テストの失敗になりません。 
+</p>
+
+    
+<h3><a name="IJU_BAD_SUITE_METHOD">IJU: TestCase は suite メソッドの間違った宣言をしている (IJU_BAD_SUITE_METHOD)</a></h3>
+
+
+<p>
+JUnit の TestCase クラスで、<code>suite</code> メソッドを実装しています。
+しかしながら、<code>suite</code> メソッドは、
+</p>
+<blockquote><pre>
+public static junit.framework.Test suite()
+</pre></blockquote>
+<p>か</p>
+<blockquote><pre>
+public static junit.framework.TestSuite suite()
+</pre></blockquote>
+<p>
+のどちらかを宣言する必要があります。
+</p>
+
+    
+<h3><a name="IJU_NO_TESTS">IJU: TestCase はテストがない  (IJU_NO_TESTS)</a></h3>
+
+
+<p>
+JUnit の TestCase クラスで、どんなテストメソッドも実装していません。
+</p>
+
+    
+<h3><a name="IJU_SETUP_NO_SUPER">IJU: TestCase は super.setup() を呼び出さない setUp メソッドを実装している (IJU_SETUP_NO_SUPER)</a></h3>
+
+
+<p>
+JUnit の TestCase クラスで、<code>setUp</code> メソッドを実装しています。
+<code>setUp</code> メソッドは、<code>super.setUp()</code> を呼び出すべきなのにそうしていません。
+</p>
+
+    
+<h3><a name="IJU_SUITE_NOT_STATIC">IJU: TestCase は 非 static な suite メソッドを実装している (IJU_SUITE_NOT_STATIC)</a></h3>
+
+
+<p>
+JUnit の TestCase クラスで、<code>suite</code> メソッドを実装しています。
+<code>suite</code> メソッドは static として宣言するべきなのにそうしていません。
+</p>
+
+    
+<h3><a name="IJU_TEARDOWN_NO_SUPER">IJU: TestCase は super.tearDown() を呼び出さない tearDown メソッドを実装している  (IJU_TEARDOWN_NO_SUPER)</a></h3>
+
+
+<p>
+JUnit の TestCase クラスで、<code>tearDown</code> メソッドを実装しています。
+<code>tearDown</code> メソッドは、<code>super.tearDown()</code> を呼び出すべきなのにそうしていません。
+ </p>
+
+    
+<h3><a name="IL_CONTAINER_ADDED_TO_ITSELF">IL: コレクションは自分自身を追加している (IL_CONTAINER_ADDED_TO_ITSELF)</a></h3>
+
+
+<p>
+コレクションは、自分自身を追加しています。その結果、hashCode を計算すると <code>StackOverflowException</code> をスローします。
+</p>
+
+    
+<h3><a name="IL_INFINITE_LOOP">IL: 明らかな無限ループ (IL_INFINITE_LOOP)</a></h3>
+
+
+<p>
+このループは、例外をスローする以外の方法で終了させることができないように思われます。
+</p>
+
+    
+<h3><a name="IL_INFINITE_RECURSIVE_LOOP">IL: 明らかな無限再帰ループ (IL_INFINITE_RECURSIVE_LOOP)</a></h3>
+
+
+<p>
+このメソッドは、無条件で自分自身を呼び出します。これは、スタックオーバーフローになる無限再帰ループを示しています。
+</p>
+
+    
+<h3><a name="IM_MULTIPLYING_RESULT_OF_IREM">IM: 整数剰余の結果の整数乗算 (IM_MULTIPLYING_RESULT_OF_IREM)</a></h3>
+
+
+<p>
+このコードは、整数剰余の結果に整数定数を乗算しています。
+紛らわしい演算子の優先順位がないことを確実にしてください。
+たとえば、i % 60 * 1000 は、i % (60 * 1000) ではなく (i % 60) * 1000 となります。 
+</p>
+
+    
+<h3><a name="INT_BAD_COMPARISON_WITH_INT_VALUE">INT: int 値と long 定数との間違った比較 (INT_BAD_COMPARISON_WITH_INT_VALUE)</a></h3>
+
+
+<p>
+このコードは、int 値と int 値として表現できる値の範囲外にある long 定数を比較しています。
+この比較は無意味で、おそらく間違っています。
+</p>
+
+    
+<h3><a name="INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE">INT: 負でない値と負の定数との間違った比較 (INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE)</a></h3>
+
+
+<p>
+このコードは、負でないことが保証されている値と負の定数とを比較しています。 
+</p>
+
+    
+<h3><a name="INT_BAD_COMPARISON_WITH_SIGNED_BYTE">INT: 符号付きバイトの間違った比較 (INT_BAD_COMPARISON_WITH_SIGNED_BYTE)</a></h3>
+
+
+<p>
+符号付バイトのとりうる値の範囲は-128~127です。その範囲外で符号付バイトを値と比較することは無意味で間違っていそうです。
+符号付きバイト <code>b</code> を範囲が0~255の符号なしバイトに変換するには <code>0xff &amp; b</code> を使用してください。 
+</p>
+
+    
+<h3><a name="IO_APPENDING_TO_OBJECT_OUTPUT_STREAM">IO: オブジェクト出力ストリームへの追加は失敗に終わる (IO_APPENDING_TO_OBJECT_OUTPUT_STREAM)</a></h3>
+
+
+<p>
+このコードは、ファイルを追加モードで開いて、オブジェクト出力ストリームの中で結果をラップしています。
+これは、ファイルに格納された既存のオブジェクト出力ストリームに追加できないでしょう。
+オブジェクト出力ストリームに追加したいなら、オブジェクト出力ストリームを開いておく必要があります。
+</p>
+<p>
+追加モードでファイルを開き、オブジェクト出力ストリームで書き込むことができる唯一の状況は、
+ファイルを読み出すときにランダムアクセスモードで開き、追加を開始するところまでバイトオフセットをシークすると計画した場合です。
+</p> 
+
+    
+<h3><a name="IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN">IP: メソッドで読み取られずに上書きされているパラメータ (IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN)</a></h3>
+
+
+<p>
+このパラメータの初期値は無視され、ここで上書きされています。
+これは多くの場合、パラメータへの書き込みが呼び出し元に戻されるという誤った考えを示しています。 
+</p>
+
+    
+<h3><a name="MF_CLASS_MASKS_FIELD">MF: スーパークラスのフィールドを隠すフィールドを定義しているクラス (MF_CLASS_MASKS_FIELD)</a></h3>
+
+
+<p>
+このクラスは、スーパークラスの可視インスタンスフィールドと同じ名前でフィールドを定義しています。
+これは紛らわしくて、メソッドがフィールドを更新するかアクセスするなら、間違いを指摘するかもしれません。
+</p>
+
+    
+<h3><a name="MF_METHOD_MASKS_FIELD">MF: フィールドを隠す変数を定義しているメソッド (MF_METHOD_MASKS_FIELD)</a></h3>
+
+
+<p>
+このメソッドは、このクラスまたはスーパークラスのフィールドと同じ名前でローカル変数を定義しています。
+これはフィールドから初期化されていない値を読み出したり初期化されていないフィールドをそのままにしておくメソッドの原因になるかもしれません。
+</p>
+
+    
+<h3><a name="NP_ALWAYS_NULL">NP: null 値を利用している (NP_ALWAYS_NULL)</a></h3>
+
+
+<p>
+ここで null 値を利用しようとしています。
+コードが実行されると NullPointerException が発生します。
+</p>
+
+    
+<h3><a name="NP_ALWAYS_NULL_EXCEPTION">NP: null 値を例外経路で利用している (NP_ALWAYS_NULL_EXCEPTION)</a></h3>
+
+
+<p>
+例外経路上のここで null 値を利用しています。コードが実行されると NullPointerException が発生します。
+現在の FindBugs は実行不可能な例外経路を取り除いていないので、誤検出かもしれないことに注意してください。
+</p>
+<p>
+switch 文の default が多くの場合実行不可能なので FindBugs が例外経路である default を検討することに注意して下さい。
+</p>
+
+    
+<h3><a name="NP_ARGUMENT_MIGHT_BE_NULL">NP: null の引数をチェックしていないメソッド (NP_ARGUMENT_MIGHT_BE_NULL)</a></h3>
+
+
+<p>
+このメソッドへのパラメータが null かどうか確かめるために常にチェックされるべき値として特定されました。
+しかし、null チェックをしないで、null 値が利用されています。
+</p>
+
+    
+<h3><a name="NP_CLOSING_NULL">NP: 常に null 値のオブジェクトで close メソッドを呼び出している (NP_CLOSING_NULL)</a></h3>
+
+
+<p>
+<code>close</code> メソッドは、常に null 値のオブジェクトで呼び出されています。
+この文が実行されるなら NullPointerException が発生します。
+ここでクローズするべき何かを決してクローズしないという大きな危険性があります。
+</p>
+
+    
+<h3><a name="NP_GUARANTEED_DEREF">NP: null 値を利用することが保証されている (NP_GUARANTEED_DEREF)</a></h3>
+
+
+<p>
+文または分岐が実行されるなら、この時点で値は null であり、null 値を利用する (フォワードパスで実行時例外を伴うこと以外は) ことが保証されています。
+</p>
+<p>
+なお、<code>if (x == null) throw new NullPointerException();</code> は <code>x</code> の参照解除として扱われることに注意して下さい。
+</p>
+
+    
+<h3><a name="NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH">NP: null 値を例外経路で利用することが保証されている (NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH)</a></h3>
+
+
+<p>
+例外経路上の文または分岐が実行されるなら、この時点で値は null であり、null 値を利用する (フォワードパスで実行時例外を伴うこと以外は) ことが保証されています。
+</p>
+
+    
+<h3><a name="NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">NP: 非 null フィールドは初期化されていない (NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR)</a></h3>
+
+
+<p>
+フィールドは、非 null としてマークされていますが、コンストラクタで書き込まれていません。
+フィールドは、コンストラクタの間、ほかの場所で初期化されるか、または使用する前に常に初期化されるかもしれません。
+</p>
+
+       
+<h3><a name="NP_NONNULL_PARAM_VIOLATION">NP: メソッド呼び出しは非 null パラメータに対して null を渡している (NP_NONNULL_PARAM_VIOLATION)</a></h3>
+
+
+<p>
+このメソッドは、非 null でなければならないメソッドのパラメータとして、null 値を渡しています。
+このパラメータは、@Nonnull として明示的にアノテートされていたか、または解析が常に null 値を利用すると示していました。
+</p>
+
+    
+<h3><a name="NP_NONNULL_RETURN_VIOLATION">NP: null を返すかもしれないメソッドが @NonNull 宣言されている (NP_NONNULL_RETURN_VIOLATION)</a></h3>
+
+
+<p>
+このメソッドは、null 値を返すかもしれないのにメソッド (またはスーパークラスのメソッド) の戻り値に @NonNull が宣言されています。
+</p>
+
+    
+<h3><a name="NP_NULL_INSTANCEOF">NP: null とわかっている値をその型のインスタンスなのか確かめている (NP_NULL_INSTANCEOF)</a></h3>
+
+
+<p>
+チェックされている値が null であることが保証されているので、instanceof は常に faluse を返します。
+これは安全で、誤解や論理エラーを指摘していないことを確認してください。
+</p>
+
+    
+<h3><a name="NP_NULL_ON_SOME_PATH">NP: null 値を利用している可能性がある (NP_NULL_ON_SOME_PATH)</a></h3>
+
+
+<p>
+そこで分岐または文が実行されるなら null 値が利用されて NullPointerException が発生します。
+もちろん、問題は分岐または文が実行不可能で、NullPointerException が決して発生する可能性がないということかもしれません。
+それを決めるのは FindBugs の能力を超えています。
+</p>
+
+    
+<h3><a name="NP_NULL_ON_SOME_PATH_EXCEPTION">NP: null 値を例外経路で利用している可能性がある (NP_NULL_ON_SOME_PATH_EXCEPTION)</a></h3>
+
+
+<p>
+例外経路上のここで null 値が利用されています。コードが実行されると NullPointerException が発生するかもしれません。
+現在の FindBugs は実行不可能な例外経路を取り除かないので、誤検出かもしれないことに注意してください。
+</p>
+<p>
+switch 文の default が多くの場合実行不可能なので FindBugs が例外経路である default を検討することに注意して下さい。
+</p>
+
+    
+<h3><a name="NP_NULL_PARAM_DEREF">NP: メソッド呼び出しは非 null パラメータに対して null を渡している (NP_NULL_PARAM_DEREF)</a></h3>
+
+
+<p>
+このメソッド呼び出しは非 null メソッドパラメータに対して null 値を渡しています。
+パラメータは、常に非 null とすべきパラメータとしてアノテートされていたか、または解析が常に null 値を利用すると示していました。
+</p>
+
+    
+<h3><a name="NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS">NP: メソッド呼び出しは非 null パラメータに対して null を渡している (NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS)</a></h3>
+
+
+<p>
+すべての既知のターゲットメソッドが非 null であることをパラメータに要求する呼び出し場所で、おそらく null 値を渡しています。
+パラメータは、常に非 null とすべきパラメータとしてアノテートされていたか、または解析が常に null 値を利用すると示していました。
+</p>
+
+    
+<h3><a name="NP_NULL_PARAM_DEREF_NONVIRTUAL">NP: 非 null パラメータに null を渡している非仮想メソッドの呼び出し (NP_NULL_PARAM_DEREF_NONVIRTUAL)</a></h3>
+
+
+<p>
+null の可能性がある値が、非 null メソッドパラメータに渡されています。
+パラメータは、常に非 null とすべきパラメータとしてアノテートされていたか、または解析が常に null 値を利用すると示していました。
+</p>
+
+    
+<h3><a name="NP_OPTIONAL_RETURN_NULL">NP: Optional の戻り型を持つメソッドが明示的に null を返す (NP_OPTIONAL_RETURN_NULL)</a></h3>
+
+
+<p>
+Optional の戻り型の使い方は、常に明示的に null を返すのは設計が望ましくないことを意味します。
+null 値をこのようなケースで返すことは契約違反で、多分クライアントコードを破壊するでしょう。
+</p>
+
+    
+<h3><a name="NP_STORE_INTO_NONNULL_FIELD">NP: @NonNull でアノテートされたフィールドに null を格納している (NP_STORE_INTO_NONNULL_FIELD)</a></h3>
+
+
+<p>
+@NonNull でアノテートされたフィールドに null かもしれない値を格納しています。 
+</p>
+
+    
+<h3><a name="NP_UNWRITTEN_FIELD">NP: 書き込まれていないフィールドの読み出し (NP_UNWRITTEN_FIELD)</a></h3>
+
+
+<p>
+プログラムは、決して null でない値を書き込むとは思われないフィールドの値を利用しています。
+この値を利用すると NullPointerException が発生します。
+</p>
+
+    
+<h3><a name="NM_BAD_EQUAL">Nm: クラスは equal(Object) を定義しています。equals(Object) にすべきですか? (NM_BAD_EQUAL)</a></h3>
+
+
+<p>
+このクラスは、<code>equal(Object)</code> という名前のメソッドを定義しています。
+このメソッドは、<code>java.lang.Object</code> の <code>equals(Object)</code> を (おそらく意図的に) オーバーライドしていません。
+</p>
+
+    
+<h3><a name="NM_LCASE_HASHCODE">Nm: クラスは hashcode() を定義しています。hashCode() にすべきですか? (NM_LCASE_HASHCODE)</a></h3>
+
+
+<p>
+このクラスは、<code>hashcode()</code> という名前のメソッドを定義しています。
+このメソッドは、<code>java.lang.Object</code> の <code>hashCode</code> メソッドを (おそらく意図的に) オーバーライドしていません。
+</p>
+
+    
+<h3><a name="NM_LCASE_TOSTRING">Nm: クラスは tostring() を定義しています。toString() にすべきですか? (NM_LCASE_TOSTRING)</a></h3>
+
+
+<p>
+このクラスは、<code>tostring()</code> という名前のメソッドを定義しています。
+このメソッドは、<code>java.lang.Object</code> の <code>toString</code> メソッドを (おそらく意図的に) オーバーライドしていません。
+</p>
+
+    
+<h3><a name="NM_METHOD_CONSTRUCTOR_CONFUSION">Nm: 明らかなメソッドとコンストラクタの混乱 (NM_METHOD_CONSTRUCTOR_CONFUSION)</a></h3>
+
+
+<p>
+この正規のメソッドは定義しているクラスと同じ名前です。
+これはコンストラクタを意図していた可能性が高いです。もしそうなら void 戻り値の宣言を除去してください。
+このメソッドを定義したことが偶然間違っているとわかり、正しいコンストラクタを定義したが、下位互換性のためにこのメソッドを取り除くことができないなら、メソッドを非推奨にしてください。
+</p>
+
+    
+<h3><a name="NM_VERY_CONFUSING">Nm: 非常に紛らわしい名前のメソッド (NM_VERY_CONFUSING)</a></h3>
+
+
+<p>
+参照されたメソッドは、大文字の使い方だけによって異なる名前があります。
+大文字の使い方が同一ならメソッドの1つが他のメソッドをオーバーライドするので、非常に紛らわしいです。
+</p>
+
+    
+<h3><a name="NM_WRONG_PACKAGE">Nm: パラメータの間違ったパッケージのために、スーパークラスのメソッドをオーバーライドしていないメソッド (NM_WRONG_PACKAGE)</a></h3>
+
+
+<p>
+パラメータの型がスーパークラスで対応するパラメータの型と正確に合致していないので、サブクラスのメソッドはスーパークラスの類似したメソッドをオーバーライドしていません。<br>
+たとえば以下のようなコードです。
+</p>
+<blockquote><pre>
+import alpha.Foo;
+
+public class A {
+    public int f(Foo x) { return 17; }
+}
+----
+import beta.Foo;
+
+public class B extends A {
+    public int f(Foo x) { return 42; }
+}
+</pre></blockquote>
+<p>
+クラス <code>B</code> で定義された <code>f(Foo)</code> メソッドは、クラス <code>A</code> の <code>f(Foo)</code> メソッドをオーバーライドしていません。
+これは引数の型 <code>Foo</code> が違うパッケージだからです。
+</p>
+
+    
+<h3><a name="QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT">QBA: 論理式で boolean リテラル値を代入しているメソッド (QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT)</a></h3>
+
+
+<p>
+このメソッドは、if または while の式の中の boolean 変数に boolean リテラル値 (true または false) を代入しています。
+おそらく、これは = による代入ではなく、== を使用して論理比較をすることになっていました。
+</p>
+
+    
+<h3><a name="RC_REF_COMPARISON">RC: 疑わしい参照比較 (RC_REF_COMPARISON)</a></h3>
+
+
+<p>
+このメソッドは、 == または != 演算子を使用して2つの参照値を比較しています。
+この型のインスタンスを比較する正しい方法は、一般に <code>equals</code> メソッドです。
+等価で識別可能なインスタンスを作成する可能性がありますが異なるオブジェクトなので == で比較しないでください。
+参照によって一般に比較されるべきでないクラスの例は、<code>java.lang.Integer</code> 、<code>java.lang.Float</code> などです。
+</p>
+
+    
+<h3><a name="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE">RCN: すでに利用していた値の null チェック (RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE)</a></h3>
+
+
+<p>
+ここで値が null なのかチェックしていますが、すでに値を利用していたので null である可能性はありません。
+値が null なら以前の利用で NullPointerException が発生していたでしょう。
+基本的に、値が null であることを許すのかどうかに関係なく、このコードと以前の値の利用は一致しません。
+チェックは冗長か、または以前の値の利用は誤りです。
+</p>
+
+    
+<h3><a name="RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION">RE: 正規表現のための無効な構文 (RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION)</a></h3>
+
+
+<p>
+このコードは、正規表現の構文によると無効である正規表現を使用しています。
+この文が実行されるとき PatternSyntaxException をスローします。 
+</p>
+
+    
+<h3><a name="RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION">RE: 正規表現のために使われている File.separator (RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION)</a></h3>
+
+
+<p>
+このコードは、正規表現が必要とされる場所で、<code>File.separator</code> を使用しています。
+これは <code>File.separator</code> がバックスラッシュである Windows プラットホームでは失敗します。
+バックスラッシュは正規表現ではエスケープ文字として解釈されます。
+その他の選択肢としては、<code>File.separator</code> の代わりに <code>File.separatorChar=='\\' ? "\\\\" : File.separator</code> を使用できます。 
+</p>
+
+    
+<h3><a name="RE_POSSIBLE_UNINTENDED_PATTERN">RE: 正規表現のために使われている "." または "|" (RE_POSSIBLE_UNINTENDED_PATTERN)</a></h3>
+
+
+<p>
+String 機能が呼び出されていて、"." または "|" が引数として正規表現を取るパラメータに渡されています。
+これは、意図したことですか?
+たとえば
+</p>
+<ul>
+  <li><code>s.replaceAll(".", "/")</code> は、すべての文字が '/' 文字に置換された String を返す</li>
+  <li><code>s.split(".")</code> は、常に長さが0の String 配列を返す</li>
+  <li><code>"ab|cd".replaceAll("|", "/")</code> は、<code>"/a/b/|/c/d/"</code> を返す</li>
+  <li><code>"ab|cd".split("|")</code> は、6個の要素がある配列を返す: <code>[, a, b, |, c, d]</code></li>
+</ul>
+
+    
+<h3><a name="RV_01_TO_INT">RV: 0から1の乱数値は整数値0に丸められる (RV_01_TO_INT)</a></h3>
+
+
+<p>
+0から1の乱数値は整数値0に丸められます。
+おそらく整数に丸められる前に何か他のことによって乱数値を倍数にしたかったか、または <code>Random.nextInt(n)</code> メソッドを使いたかったのでしょう。
+</p>
+
+    
+<h3><a name="RV_ABSOLUTE_VALUE_OF_HASHCODE">RV: 符号付き32ビットハッシュコードの絶対値を計算する間違った試み (RV_ABSOLUTE_VALUE_OF_HASHCODE)</a></h3>
+
+
+<p>
+このコードは、ハッシュコードを生成して絶対値を計算しています。
+ハッシュコードが <code>Integer.MIN_VALUE</code> なら結果は同様に負です (<code>Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE</code> なので)。
+</p>
+<p>
+文字列の2^32個に1個は <code>Integer.MIN_VALUE</code> のハッシュコードを持っていて、「polygenelubricants」、「GydZG_」、「DESIGNING WORKHOUSES」が該当します。
+</p>
+
+    
+<h3><a name="RV_ABSOLUTE_VALUE_OF_RANDOM_INT">RV: 符号付き整数の乱数の絶対値を計算する間違った試み (RV_ABSOLUTE_VALUE_OF_RANDOM_INT)</a></h3>
+
+
+<p>
+このコードは、符号付き整数の乱数を生成して絶対値を計算しています。
+乱数ジェネレータで返される数が <code>Integer.MIN_VALUE</code> なら結果は同様に負です (<code>Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE</code> なので)。 
+(同じ問題は long 値でも同様に起きます)。
+</p>
+
+    
+<h3><a name="RV_CHECK_COMPARETO_FOR_SPECIFIC_RETURN_VALUE">RV: compareTo によって返された特定の値のコードチェック (RV_CHECK_COMPARETO_FOR_SPECIFIC_RETURN_VALUE)</a></h3>
+
+
+<p>
+このコードは、compareTo または compare メソッドを呼び出して、戻り値が特定の値(たとえば1または-1) なのか確かめています。
+これらのメソッドを呼び出すときは特定のゼロ以外の値ではなく、結果の符号だけをチェックするべきです。
+多数または大部分の compareTo と比較メソッドは-1、0または1を返しますが、いくつかは他の値を返します。
+</p>
+
+    
+<h3><a name="RV_EXCEPTION_NOT_THROWN">RV: 作成した例外をスローするのではなく捨てている (RV_EXCEPTION_NOT_THROWN)</a></h3>
+
+
+<p>
+このコードは、例外 (またはエラー) オブジェクトを作成していますが、何もしていません。<br>
+たとえば以下のようなコードです。
+</p>
+<blockquote><pre>
+if (x &lt; 0) {
+    new IllegalArgumentException("x must be nonnegative");
+}
+</pre></blockquote>
+<p>
+おそらくプログラマの意図は、作成した例外をスローすることでした。 
+</p>
+<blockquote><pre>
+if (x &lt; 0) {
+    throw new IllegalArgumentException("x must be nonnegative");
+}
+</pre></blockquote>
+
+    
+<h3><a name="RV_RETURN_VALUE_IGNORED">RV: 戻り値を無視しているメソッド (RV_RETURN_VALUE_IGNORED)</a></h3>
+
+
+<p>
+このメソッドの戻り値はチェックするべきです。
+この警告の共通の原因は、オブジェクトが更新されると思って不変オブジェクトのメソッドを呼び出すことです。<br>
+たとえば以下のようなコードです。
+</p>
+<blockquote><pre>
+String dateString = getHeaderField(name);
+dateString.trim();
+</pre></blockquote>
+<p>
+プログラマは、<code>trim</code> メソッドが <code>dateString</code> によって参照される String オブジェクトが更新されると思っています。
+しかし、String オブジェクトは不変で、<code>trim</code> メソッドが新しい String オブジェクトを返すのに無視しています。
+このコードは、以下のように修正するべきです。
+</p>
+<blockquote><pre>
+String dateString = getHeaderField(name);
+dateString = dateString.trim();
+</pre></blockquote>
+
+    
+<h3><a name="RpC_REPEATED_CONDITIONAL_TEST">RpC: 条件テストの繰り返し (RpC_REPEATED_CONDITIONAL_TEST)</a></h3>
+
+
+<p>
+このコードには条件テストが2回、つまり、1つめの条件テストが正しいとき、2つめの条件テストが実行されます (たとえば、<code>x == 0 || x == 0</code>)。
+多分、2つめの条件テストは何か他のことを意図しています (たとえば、<code>x == 0 || y == 0</code>)。
+</p>
+
+    
+<h3><a name="SA_FIELD_SELF_ASSIGNMENT">SA: フィールドの自己代入 (SA_FIELD_SELF_ASSIGNMENT)</a></h3>
+
+
+<p>
+このメソッドにはフィールドの自己代入があります。<br>
+たとえば以下のようなコードです。
+</p>
+<blockquote><pre>
+int x;
+public void foo() {
+    x = x;
+}
+</pre></blockquote>
+<p>
+そのような代入は役に立たないので、論理エラーかタイプミスかもしれません。
+</p>
+
+    
+<h3><a name="SA_FIELD_SELF_COMPARISON">SA: フィールドとそれ自身との自己比較 (SA_FIELD_SELF_COMPARISON)</a></h3>
+
+
+<p>
+このメソッドは、フィールドをそれ自身と比較しています。
+論理エラーかタイプミスかもしれません。正しいものを比較していることを確認してください。 
+</p>
+
+    
+<h3><a name="SA_FIELD_SELF_COMPUTATION">SA: フィールドの無意味な自己演算 (たとえば、 x & x) (SA_FIELD_SELF_COMPUTATION)</a></h3>
+
+
+<p>
+このメソッドは、フィールドと同じフィールドへの別の参照との無意味な計算を実行しています (たとえば、x &amp; x または x - x)。
+この計算の性質のため、演算は意味をなすとは思われないので、論理エラーかタイプミスかもしれません。
+計算をチェックしてください。
+</p>
+
+    
+<h3><a name="SA_LOCAL_SELF_ASSIGNMENT_INSTEAD_OF_FIELD">SA: フィールドへの代入ではなくローカル変数への自己代入 (SA_LOCAL_SELF_ASSIGNMENT_INSTEAD_OF_FIELD)</a></h3>
+
+
+<p>
+このメソッドにはローカル変数の自己代入があり、ローカル変数とフィールドが同じ名前です。<br>
+たとえば以下のようなコードです。
+</p>
+<blockquote><pre>
+    int foo;
+    public void setFoo(int foo) {
+        foo = foo;
+    }
+</pre></blockquote>
+<p>
+そのような代入は役に立ちません。そうではなく、フィールドに代入するつもりでしたか?
+</p>
+
+    
+<h3><a name="SA_LOCAL_SELF_COMPARISON">SA: ローカル変数とそれ自身との自己比較 (SA_LOCAL_SELF_COMPARISON)</a></h3>
+
+
+<p>
+このメソッドは、ローカル変数をそれ自身と比較しています。論理エラーかタイプミスかもしれません。
+正しいものを比較していることを確認してください。 
+</p>
+
+    
+<h3><a name="SA_LOCAL_SELF_COMPUTATION">SA: 変数の無意味な自己演算 (たとえば、x & x) (SA_LOCAL_SELF_COMPUTATION)</a></h3>
+
+
+<p>
+このメソッドは、ローカル変数と同じ変数への別の参照との無意味な計算を実行しています (たとえば、x &amp; x または x - x)。
+この計算の性質のため、演算は意味をなすとは思われないので、論理エラーかタイプミスかもしれません。
+計算をダブルチェックしてください。 
+</p>
+
+    
+<h3><a name="SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH">SF: switch 文のフォールスルーのために格納が無効になっている (SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH)</a></h3>
+
+
+<p>
+前の case で格納された値が switch 文のフォールスルーのためにここで上書きされています。
+前の case の終わりに break または return を入れるのを忘れた可能性があります。 
+</p>
+
+    
+<h3><a name="SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW">SF: スローする switch 文のフォールスルーのために格納が無効になっている (SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW)</a></h3>
+
+
+<p>
+前の case で格納された値が例外がスローされる場所で、switch 文のフォールスルーのためにここで失われています。
+前の case の終わりに break または return を入れるのを忘れた可能性があります。
+</p>
+
+    
+<h3><a name="SIC_THREADLOCAL_DEADLY_EMBRACE">SIC: 非 static 内部クラスとスレッドローカルのデッドロック (SIC_THREADLOCAL_DEADLY_EMBRACE)</a></h3>
+
+
+<p>
+このクラスは内部クラスですが、おそらく static 内部クラスにすべきです。
+実際には内部クラスと外部クラスのスレッドローカルとの間にデッドロックの深刻な危険性があります。
+内部クラスが static でないので、外部クラスへの参照を保持します。
+スレッドローカルに内部クラスのインスタンスの参照があるなら、内部と外部のインスタンスの両方が到達可能になり、ガベージされません。
+</p>
+
+    
+<h3><a name="SIO_SUPERFLUOUS_INSTANCEOF">SIO: instanceof 演算子を使用した不必要な型チェック (SIO_SUPERFLUOUS_INSTANCEOF)</a></h3>
+
+
+<p>
+オブジェクトが要求する型であるかどうかにかかわらず、静的に確定している可能性があるのに instanceof 演算子を使用して型チェックをしています。
+</p>
+
+    
+<h3><a name="SQL_BAD_PREPARED_STATEMENT_ACCESS">SQL: インデックスが0で PreparedStatement にアクセスしようとしているメソッド (SQL_BAD_PREPARED_STATEMENT_ACCESS)</a></h3>
+
+
+<p>
+インデックスが0で、<code>PreparedStatement</code> の setXXX メソッドを呼び出しています。
+インデックスは1から開始するので、これは常に間違いです。
+</p>
+
+    
+<h3><a name="SQL_BAD_RESULTSET_ACCESS">SQL: インデックスが0で ResultSet にアクセスしようとしているメソッド (SQL_BAD_RESULTSET_ACCESS)</a></h3>
+
+
+<p>
+インデックスが0で、<code>ResultSet</code> の getXXX、updateXXX メソッドを呼び出しています。
+<code>ResultSet</code> のインデックスは1から開始するので、これは常に間違いです。
+</p>
+
+    
+<h3><a name="STI_INTERRUPTED_ON_CURRENTTHREAD">STI: interrupted メソッドを呼び出すために不要な currentThread メソッドを呼び出している (STI_INTERRUPTED_ON_CURRENTTHREAD)</a></h3>
+
+
+<p>
+このメソッドは、<code>interrupted</code> メソッドを呼び出すために <code>Thread.currentThread()</code> を呼び出しています。
+<code>interrupted</code> メソッドは static メソッドなので、<code>Thread.interrupted()</code> を使用するほうが単純明解です。
+</p>
+
+    
+<h3><a name="STI_INTERRUPTED_ON_UNKNOWNTHREAD">STI: スレッドインスタンスで static Thread.interrupted() を呼び出している (STI_INTERRUPTED_ON_UNKNOWNTHREAD)</a></h3>
+
+
+<p>
+このメソッドは、カレントスレッドでない Thread オブジェクトであるように見える Thread オブジェクトで <code>Thread.interrupted()</code> を呼び出しています。
+<code>interrupted</code> メソッドは static なので、作成者が意図したこととは異なるオブジェクトで呼び出されます。
+</p>
+
+    
+<h3><a name="SE_METHOD_MUST_BE_PRIVATE">Se: 直列化機構のために private にしなければならないメソッド (SE_METHOD_MUST_BE_PRIVATE)</a></h3>
+
+
+<p>
+このクラスは、<code>Serializable</code> インタフェースを実装して、カスタム直列化/直列化復元のためのメソッドを定義しています。
+しかし、そのメソッドが private として宣言されていないので、直列化/直列化復元 API によって無視されます。
+</p>
+
+    
+<h3><a name="SE_READ_RESOLVE_IS_STATIC">Se: readResolve メソッドが static メソッドとして宣言されている (SE_READ_RESOLVE_IS_STATIC)</a></h3>
+
+
+<p>
+<code>readResolve</code> メソッドが直列化機構で認識されるためには static メソッドとして宣言してはいけません。
+</p>
+
+    
+<h3><a name="TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED">TQ: 型修飾子でアノテーションされた値がその修飾子を付けてはならない値を必要とする場所で使われている (TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED)</a></h3>
+
+
+<p>
+型修飾子であのてーとされた値がその修飾子を付けてはならない値を必要とする場所で使われています。
+</p>
+<p>
+より正確に、when=ALWAYS を指定した型修飾子でアノテートされた値が到達することが保証されているか同じ型修飾子で when=NEVER を指定する場所で使用しています。
+</p>
+<p>
+たとえば、@NonNegative が型修飾子アノテーション @Negative(when=When.NEVER) の略称だとします。
+以下のコードは、return 文が @NonNegative 値を要求するが @Negative としてマークされている値を受け取るのでこの警告を生成します。
+</p>
+<blockquote><pre>
+public @NonNegative Integer example(@Negative Integer value) {
+    return value;
+}
+</pre></blockquote>
+
+    
+<h3><a name="TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS">TQ: 互換性のない型修飾子による比較値 (TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS)</a></h3>
+
+
+<p>
+型修飾子アノテーションを指定した値がその修飾子のない値と比較しています。
+</p>
+<p>
+より正確に、when=ALWAYS を指定した型修飾子でアノテートされた値が同じ型修飾子で when=NEVER を指定する値と比較しています。
+</p>
+<p>
+たとえば、@NonNegative が型修飾子アノテーション @Negative(when=When.NEVER) の略称だとします。
+以下のコードは、return 文が @NonNegative 値を要求するが、@Negative としてマークされている値を受け取るのでこの警告を生成します。
+</p>
+<blockquote><pre>
+public boolean example(@Negative Integer value1, @NonNegative Integer value2) {
+    return value1.equals(value2);
+}
+</pre></blockquote>
+
+    
+<h3><a name="TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK">TQ: 型修飾子を付けていないかもしれない値がその型修飾子を必要とする方法で常に使われている (TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK)</a></h3>
+
+
+<p>
+型修飾子によって示された値のインスタンスではない可能性としてアノテートされた値です。
+値は、その型修飾子によって示された値を必要とする方法で使われることが保証されています。
+</p>
+
+    
+<h3><a name="TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK">TQ: 型修飾子を付けているかもしれない値がその型修飾子を禁止する方法で常に使われている (TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK)</a></h3>
+
+
+<p>
+型修飾子によって示された値のインスタンスである可能性としてアノテートされた値です。
+値は、その型修飾子によって示された値を禁止する方法で使われることが保証されています。
+</p>
+
+    
+<h3><a name="TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED">TQ: 型修飾子でアノテートされていない値がその修飾子が付けられた値を必要とする場所で使われている (TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED)</a></h3>
+
+
+<p>
+型修飾子でアノテートされていない値がその修飾子が付けられた値を必要とする場所で使われています。
+</p>
+<p>
+より正確に、when=NEVER を指定した型修飾子でアノテートされた値が同じ型修飾子で when=ALWAYS を指定する場所で使用しています。
+</p>
+
+    
+<h3><a name="TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED">TQ: 型修飾子がない値が修飾子を必要とする場所で使われている (TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED)</a></h3>
+
+
+<p>
+値が型修飾子アノテーションを必要とする方法で使われています。型修飾子は厳密なので、ツールは適切なアノテーションを指定していない値を拒絶します。
+</p>
+<p>
+厳密なアノテーションを指定しているので値を型変換します。戻り値が厳密なアノテーションでアノテートされる同一性機能を定義してください。
+これは、厳密な型修飾子アノテーションで非アノテート値を値に変える唯一の方法です。
+</p>
+
+    
+<h3><a name="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS">UMAC: 呼び出し不可能なメソッドが無名クラスで定義されている (UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS)</a></h3>
+
+
+<p>
+この無名クラスは、直接呼び出されないスーパークラスのメソッドをオーバーライドしていないメソッドを定義しています。
+他のクラスのメソッドが無名クラスで宣言されたメソッドを直接呼び出せないので、このメソッドは呼び出し不可能であると思われます。
+メソッドは単にデッドコードであるかもしれません。しかし、メソッドがスーパークラスで宣言されるメソッドをオーバーライドすることを意図した可能性もあります。
+そして、タイプミスまたは他の誤りのために、メソッドは、実際、それが意図されるメソッドをオーバーライドしません。
+</p>
+
+    
+<h3><a name="UR_UNINIT_READ">UR: コンストラクタで初期化されていないフィールドを読み出している (UR_UNINIT_READ)</a></h3>
+
+
+<p>
+このコンストラクタは、まだ値が代入されていないフィールドを読み出しています。
+多くの場合、プログラマがコンストラクタのパラメータの代わりに誤ってフィールドを使用するときに起きます。
+</p>
+
+    
+<h3><a name="UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR">UR: スーパークラスのコンストラクタから呼び出されるメソッドで初期化されていないフィールドを読み出している (UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR)</a></h3>
+
+
+<p>
+このメソッドは、スーパークラスのコンストラクタで呼びされています。この時点では、クラスのフィールドはまだ初期化されていません。
+</p>
+<p>
+これはたくさんの具象クラスを作るためです。以下のクラスを検討してください。
+</p>
+<blockquote><pre>
+abstract class A {
+    int hashCode;
+    abstract Object getValue();
+    
+    A() {
+        hashCode = getValue().hashCode();
+    }
+}
+
+class B extends A {
+    Object value;
+
+    B(Object v) {
+        this.value = v;
+    }
+
+    Object getValue() {
+        return value;
+    }
+}
+</pre></blockquote>
+<p>
+<code>B</code> が構築されるとき、<code>B</code> のコンストラクタが <code>value</code> に値を設定する前に、<code>A</code> クラスのコンストラクタが呼び出されます。
+したがって、<code>A</code> のコンストラクタが <code>getValue</code> を呼び出すとき、<code>value</code> の初期化されていない値が読み出されます。
+</p>
+
+
+    
+<h3><a name="DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY">USELESS_STRING: 名前のない配列で toString メソッドを呼び出している (DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY)</a></h3>
+
+
+<p>
+このコードは、無名の配列で <code>toString</code> メソッドを呼び出しています。「[C@16f0472」のようなかなり役に立たない結果を生成します。
+配列のコンテンツを与え、読める文字列に変換するために、<code>Arrays.toString()</code> を使うことを検討してください。<br>
+『Programming Puzzlers』の第3章、パズル12を参照してください。
+</p>
+
+    
+<h3><a name="DMI_INVOKING_TOSTRING_ON_ARRAY">USELESS_STRING: 配列で toString メソッドを呼び出している (DMI_INVOKING_TOSTRING_ON_ARRAY)</a></h3>
+
+
+<p>
+このコードは、配列で <code>toString</code> メソッドを呼び出しています。「[C@16f0472」のようなかなり役に立たない結果を生成します。
+配列のコンテンツを与え、読める文字列に変換するために、<code>Arrays.toString()</code> を使うことを検討してください。<br>
+『Programming Puzzlers』の第3章、パズル12を参照してください。
+</p>
+
+    
+<h3><a name="VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY">USELESS_STRING: 書式文字列を使用して役に立たない方法で配列をフォーマットしている (VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY)</a></h3>
+
+
+<p>
+書式文字列でフォーマットされている引数の1つは配列です。
+これは [I@304282 のようなかなり役に立たない書式を使用してフォーマットされます。それは配列のコンテンツを表示しません。
+フォーマットで扱う前に <code>Arrays.asList(...)</code> を使用して配列をラップすることを検討してください。
+</p>
+
+    
+<h3><a name="UWF_NULL_FIELD">UwF: null に設定されるだけのフィールド (UWF_NULL_FIELD)</a></h3>
+
+
+<p>
+このフィールドに定数値 null を書き込みます。したがって、フィールドの読み出しは null を返します。
+誤りをチェックしてください。使わないなら除去してください。
+</p>
+
+    
+<h3><a name="UWF_UNWRITTEN_FIELD">UwF: 書き込まれていないフィールド (UWF_UNWRITTEN_FIELD)</a></h3>
+
+
+<p>
+このフィールドは決して書き込まれません。このフィールドからの読み出しはデフォルト値を返します。
+誤りをチェックしてください (フィールドは初期化するべきでしたか?)。使わないなら除去してください。
+</p>
+
+    
+<h3><a name="VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG">VA: 可変長引数を期待しているメソッドにプリミティブ型の配列を渡している (VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG)</a></h3>
+
+
+<p>
+このコードは可変長引数をとるメソッドにプリミティブ型の配列を渡しています。
+これは、プリミティブ型の配列を保持するために長さが1の配列を作成してメソッドに渡します。
+</p>
+
+    
+<h3><a name="LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE">LG: ロガーの変更は OpenJDK の弱参照が原因で潜在的に失われる (LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE)</a></h3>
+
+
+<p>
+OpenJDK は、潜在的非互換性を取り入れました。特に、<code>java.util.logging.Logger</code> は振る舞いが変更されています。
+強参照を使用する代わりに、現在、内部的に弱参照を使用しています。
+それは理にかなった変更ですが、残念ながらいくつかのコードは古い振る舞いに依存しています。
+ロガーの構成を変更するとき、ロガーへの参照を捨てます。
+つまり、ガベージコレクタはそのメモリを回収できます。それは、ロガーの構成が失われることを意味します。<br>
+たとえば、以下を検討してください。
+</p>
+<blockquote><pre>
+public static void initLogging() throws Exception {
+    Logger logger = Logger.getLogger("edu.umd.cs");
+    logger.addHandler(new FileHandler()); // ロガーの構成の変更
+    logger.setUseParentHandlers(false); // 別のロガーの構成の変更
+}
+</pre></blockquote>
+<p>
+ロガーの参照は、メソッドの終わり (メソッドは脱出しません) で失われるので、
+<code>initLogging</code> の呼び出しの後でガベージコレクションの循環があるなら、ロガー構成は失われます (なぜなら Logger は弱参照を保持するだけなので)。
+</p>
+<blockquote><pre>
+public static void main(String[] args) throws Exception {
+    initLogging(); // ファイルハンドラーをロガーに追加する
+    System.gc(); // ロガーの構成が失われる
+    Logger.getLogger("edu.umd.cs").info("Some message"); // 期待したようにファイルに記録されません
+}
+</pre></blockquote>
+<p>
+Ulf Ochsenfahrt と Eric Fellheimer
+</p>
+
+    
+<h3><a name="OBL_UNSATISFIED_OBLIGATION">OBL: ストリームやリソースのクリーンアップに失敗するかもしれないメソッド (OBL_UNSATISFIED_OBLIGATION)</a></h3>
+
+
+<p>
+このメソッドは、ストリーム、データベースオブジェクト、または明示的にクリーンアップ操作を必要としている他のリソースのクリーンアップ (クローズする、片付ける) に失敗するかもしれません。
+</p>   
+<p>
+一般に、メソッドがストリープや他のリソースを開いたなら、メソッドはストリームやリソースがメソッドが戻る前にクリーンアップされることを確認するために、try/finally ブロックを使用するべきです。
+</p>
+<p>
+このバグパターンは、OS_OPEN_STREAM と ODR_OPEN_DATABASE_RESOURCE と基本的に同じですが異なる (そして、うまくいけばより良い) 静的解析技術に基づいています。
+私たちは、このバグパターンの有効性についてのフィードバックを得ることに関心があります。
+どちらかの方法でフィードバックを送ってください。
+</p>
+<ul>
+  <li>send email to findbugs@cs.umd.edu</li>
+  <li>file a bug report: <a href="http://findbugs.sourceforge.net/reportingBugs.html">http://findbugs.sourceforge.net/reportingBugs.html</a></li>
+</ul>
+<p>
+特に、このバグパターンの誤検出抑制探索法は詳細にわたって調整されていないので、誤検出についてのレポートは我々の助けになります。 
+</p>
+<p>
+解析技術の説明は、Weimer と Necula による <i>Finding and Preventing Run-Time Error Handling Mistakes</i> を参照してください。 
+</p>
+
+    
+<h3><a name="OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE">OBL: チェック例外でストリームやリソースのクリーンアップに失敗するかもしれないメソッド (OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE)</a></h3>
+
+
+<p>
+このメソッドは、ストリーム、データベースオブジェクト、または明示的にクリーンアップ操作を必要としている他のリソースのクリーンアップ (クローズする、片付ける) に失敗するかもしれません。
+</p>   
+<p>
+一般に、メソッドがストリープや他のリソースを開いたなら、メソッドはストリームやリソースがメソッドが戻る前にクリーンアップされることを確認するために、try/finally ブロックを使用するべきです。
+</p>
+<p>
+このバグパターンは、OS_OPEN_STREAM と ODR_OPEN_DATABASE_RESOURCE と基本的に同じですが異なる (そして、うまくいけばより良い) 静的解析技術に基づいています。
+私たちは、このバグパターンの有効性についてのフィードバックを得ることに関心があります。
+どちらかの方法でフィードバックを送ってください。
+</p>
+<ul>
+  <li>send email to findbugs@cs.umd.edu</li>
+  <li>file a bug report: <a href="http://findbugs.sourceforge.net/reportingBugs.html">http://findbugs.sourceforge.net/reportingBugs.html</a></li>
+</ul>
+<p>
+特に、このバグパターンの誤検出抑制探索法は詳細にわたって調整されていないので、誤検出についてのレポートは我々の助けになります。 
+</p>
+<p>
+解析技術の説明は、Weimer と Necula による <i>Finding and Preventing Run-Time Error Handling Mistakes</i> を参照してください。 
+</p>
+
+      
+<h3><a name="DM_CONVERT_CASE">Dm: 呼び出したメソッドの Locale パラメータの使用を検討する (DM_CONVERT_CASE)</a></h3>
+
+
+<p>
+文字列がプラットホームのデフォルトエンコーディングを使用して大文字、小文字に変換されています。
+国際文字で使われると不適切な変換になるかもしれません。
+</p>
+<ul>
+  <li>String.toUpperCase(Locale l)</li>
+  <li>String.toLowerCase(Locale l)</li>
+</ul>
+
+    
+<h3><a name="DM_DEFAULT_ENCODING">Dm: デフォルトエンコーディングへの依存 (DM_DEFAULT_ENCODING)</a></h3>
+
+
+<p>
+byte から String (または String から byte) への変換で、デフォルトプラットホームエンコーディングが適切であると仮定するメソッドの呼び出しを発見しました。
+これは、アプリケーションの振る舞いがプラットホーム間で異なる原因となります。代替 API を使用して、明示的に文字セット名または Charset オブジェクトを指定して下さい。
+</p>
+
+    
+<h3><a name="DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED">DP: doPrivileged ブロック内で作成されるべきクラスローダ (DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED)</a></h3>
+
+
+<p>
+このコードはクラスローダを作成していますが、セキュリティ管理がインストールされるなら許可が必要です。
+このコードがセキュリティ許可がないコードによって呼び出されるなら、クラスローダの作成は doPrivileged ブロックの中で行う必要があります。
+</p>
+
+    
+<h3><a name="DP_DO_INSIDE_DO_PRIVILEGED">DP: doPrivileged ブロック内で呼び出すべきメソッド (DP_DO_INSIDE_DO_PRIVILEGED)</a></h3>
+
+
+<p>
+このコードは、セキュリティ許可チェックが必要なメソッドを呼び出しています。
+このコードにセキュリティ許可が与えられるとしても、セキュリティ許可を持たないコードによって呼び出されるなら doPrivileged ブロックの中で呼び出す必要があります。
+</p>
+
+    
+<h3><a name="EI_EXPOSE_REP">EI: 可変オブジェクトへの参照を返すことによって内部表現を暴露するかもしれないメソッド (EI_EXPOSE_REP)</a></h3>
+
+
+<p>
+オブジェクトのフィールドに格納された可変オブジェクトの参照を返すと、オブジェクトの内部表現を暴露します。
+インスタンスが信頼できないコードによってアクセスされるなら、可変オブジェクトのチェックされていない変更がセキュリティや他の重要なプロパティを危うくするでしょう。
+何か違うことをする必要があります。オブジェクトの新しいコピーを返すことは、多くの状況でより良いアプローチです。
+</p>
+
+    
+<h3><a name="EI_EXPOSE_REP2">EI2: 可変オブジェクトへの参照を取り込むことによって内部表現を暴露するかもしれないメソッド (EI_EXPOSE_REP2)</a></h3>
+
+
+<p>
+このコードは、オブジェクトの内部表現に外部の可変オブジェクトの参照を格納しています。
+インスタンスが信頼できないコードによってアクセスされるなら、可変オブジェクトのチェックされていない変更がセキュリティや他の重要なプロパティを危うくするでしょう。
+何か違うことをする必要があります。オブジェクトの新しいコピーを返すことは、多くの状況でより良いアプローチです。
+</p>
+
+    
+<h3><a name="FI_PUBLIC_SHOULD_BE_PROTECTED">FI: ファイナライザは public ではなく protected にすべき (FI_PUBLIC_SHOULD_BE_PROTECTED)</a></h3>
+
+
+<p>
+このクラスの <code>finalize</code> メソッドは public ではなく、protected にすべきです。
+</p>
+
+    
+<h3><a name="EI_EXPOSE_STATIC_REP2">MS: static フィールドに可変オブジェクトを格納することによって、内部の静的状態を暴露するかもしれないメソッド (EI_EXPOSE_STATIC_REP2)</a></h3>
+
+
+<p>
+このコードは、static フィールドに外部の可変オブジェクトを格納しています。
+可変オブジェクトのチェックされていない変更がセキュリティや他の重要なプロパティを危うくするでしょう。
+何か違うことをする必要があります。オブジェクトのコピーを保存することは、多くの状況でより良いアプローチです。
+</p>
+
+    
+<h3><a name="MS_CANNOT_BE_FINAL">MS: final でないフィールドは悪質なコードから保護できない (MS_CANNOT_BE_FINAL)</a></h3>
+
+
+<p>
+この可変 static フィールドは、悪質なコードや偶然別のパッケージによって変更される可能性があります。
+残念ながらこのような使い方は簡単に解決できません。
+</p>
+
+    
+<h3><a name="MS_EXPOSE_REP">MS: 配列を返すことによって内部表現を暴露するかもしれない public static メソッド (MS_EXPOSE_REP)</a></h3>
+
+
+<p>
+public static メソッドは、クラスの 静的な状態の一部である配列の参照を返します。
+このメソッドを呼び出すどんなコードも、基底配列を自由に変更できます。
+解決策は、配列のコピーを返すことです。
+</p>
+
+    
+<h3><a name="MS_FINAL_PKGPROTECT">MS: final かつパッケージプロテクテッドにすべきフィールド (MS_FINAL_PKGPROTECT)</a></h3>
+
+
+<p>
+この可変 static フィールドは、悪質なコードや偶然別のパッケージによって変更される可能性があります。
+フィールドは、脆弱性を回避するために final および/またはパッケージプロテクテッドにします。
+</p>
+
+    
+<h3><a name="MS_MUTABLE_ARRAY">MS: 可変配列のフィールド (MS_MUTABLE_ARRAY)</a></h3>
+
+
+<p>
+この final static フィールドは、配列を参照しているので、悪質なコードや偶然別のパッケージによってアクセスされる可能性があります。
+このコードは、配列のコンテンツを自由に変更できます。
+</p>
+
+    
+<h3><a name="MS_MUTABLE_HASHTABLE">MS: 可変 Hashtable のフィールド (MS_MUTABLE_HASHTABLE)</a></h3>
+
+
+<p>
+この final static フィールドは、Hashtable を参照しているので、悪質なコードや偶然別のパッケージによってアクセスされる可能性があります。
+このコードは、Hashtable のコンテンツを自由に変更できます。
+</p>
+
+    
+<h3><a name="MS_OOI_PKGPROTECT">MS: インタフェースから移動してパッケージプロテクテッドにすべきフィールド (MS_OOI_PKGPROTECT)</a></h3>
+
+
+<p>
+インタフェースに定義された final static フィールドが、配列や Hashtable などの可変オブジェクトを参照しています。
+この可変オブジェクトは、悪質なコードや偶然別のパッケージによって変更される可能性があります。
+これを解決するために、フィールドはクラスへ移動する必要があり、脆弱性を回避するためにパッケージプロテクテッドにします。
+</p>
+
+    
+<h3><a name="MS_PKGPROTECT">MS: パッケージプロテクテッドにすべきフィールド (MS_PKGPROTECT)</a></h3>
+
+
+<p>
+この可変 static フィールドは、悪質なコードや偶然別のパッケージによって変更される可能性があります。
+フィールドは、脆弱性を回避するためにパッケージプロテクテッドにします。
+</p>
+
+    
+<h3><a name="MS_SHOULD_BE_FINAL">MS: final にすべきフィールド (MS_SHOULD_BE_FINAL)</a></h3>
+
+
+<p>
+final でない public static フィールドは、悪質なコードや偶然別のパッケージによって変更される可能性があります。
+フィールドは、脆弱性を回避するために final にします。
+</p>
+
+    
+<h3><a name="MS_SHOULD_BE_REFACTORED_TO_BE_FINAL">MS: final でないフィールドはリファクタリングするべき (MS_SHOULD_BE_REFACTORED_TO_BE_FINAL)</a></h3>
+
+
+<p>
+final でない public static フィールドは、悪質なコードや偶然別のパッケージによって変更される可能性があります。
+フィールドは、脆弱性を回避するために final にします。
+しかしながら、スタティックイニシャライザには複数のフィールドへの書き込みがあるので、何らかのリファクタリングを必要とするでしょう。
+</p>
+
+    
+<h3><a name="AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION">AT: 並行抽象の呼び出しシーケンスはアトミックではないかもしれない (AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION)</a></h3>
+
+
+<p>
+このコードには並行抽象化 (たとえば、並行ハッシュマップ) の呼び出しシーケンスがあります。
+これらの呼び出しは原子的に実行されません。
+</p>
+
+    
+<h3><a name="DC_DOUBLECHECK">DC: フィールドのダブルチェックの可能性 (DC_DOUBLECHECK)</a></h3>
+
+
+<p>
+このメソッドにはダブルチェックロッキングのインスタンスがあるかもしれません。このイディオムは、Java のメモリモデルでは正しくありません。<br>
+詳細は、<a href="http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html" >http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html</a> を参照してください。
+</p>
+
+    
+<h3><a name="DL_SYNCHRONIZATION_ON_BOOLEAN">DL: Boolean の同期化 (DL_SYNCHRONIZATION_ON_BOOLEAN)</a></h3>
+
+
+<p>
+<code>Boolean</code> のようなボクシングされたプリミティブ型の定数で同期化しています。
+</p>
+<blockquote><pre>
+private static Boolean inited = Boolean.FALSE;
+
+synchronized(inited) { 
+    if (!inited) {
+        init();
+        inited = Boolean.TRUE;
+    }
+}
+</pre></blockquote>
+<p>
+一般には2つの <code>Boolean</code> オブジェクトだけが存在しています。
+このコードは他の無関係なコードと同じオブジェクトで同期化している可能性があるので、無応答やデッドロックの原因になります。
+</p>
+
+    
+<h3><a name="DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE">DL: デッドロックの原因になる可能性があるボクシングされたプリミティブ型の同期化 (DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE)</a></h3>
+
+
+<p>
+このコードは、Integer のようなボクシングされたプリミティブ型の定数で同期化しています。
+</p>
+<blockquote><pre>
+private static Integer count = 0;
+
+synchronized(count) { 
+    count++;
+}
+</pre></blockquote>
+<p>
+<code>Integer</code> オブジェクトはキャッシュして共有される可能性があります。
+他の無関係なコードと同じオブジェクトで同期化している可能性があるので、無応答やデッドロックの原因になります。
+</p>
+<p>
+CERT の <a href="https://www.securecoding.cert.org/confluence/display/java/CON08-J.+Do+not+synchronize+on+objects+that+may+be+reused">CON08-J. Do not synchronize on objects that may be reused</a> を参照してください。
+</p>
+
+    
+<h3><a name="DL_SYNCHRONIZATION_ON_SHARED_CONSTANT">DL: 正準化した文字列の同期化 (DL_SYNCHRONIZATION_ON_SHARED_CONSTANT)</a></h3>
+
+
+<p>
+このコードは、正準化した文字列で同期化しています。
+</p>
+<blockquote><pre>
+private static String LOCK = "LOCK";
+
+synchronized(LOCK) {
+    ...
+}
+</pre></blockquote>
+<p>
+文字列定数は正準化され、Java 仮想マシンによってロードされたすべてのクラス全体で共有されます。
+したがって、これは他のコードがロックしているかもしれない何かをロックしている可能性があります。
+これはブロッキングとデッドロックの振る舞いの診断を難しくして、とても奇妙な結果になる可能性があります。 <br>
+詳細は、<a href="http://www.javalobby.org/java/forums/t96352.html">http://www.javalobby.org/java/forums/t96352.html</a> と <a href="http://jira.codehaus.org/browse/JETTY-352">http://jira.codehaus.org/browse/JETTY-352</a> を参照してください。
+</p>
+
+    
+<h3><a name="DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE">DL: ボクシングされたプリミティブ値の同期化 (DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE)</a></h3>
+
+
+<p>
+このコードは、明らかに共有されていない <code>Integer</code> のようなボクシングされたプリミティブ型で同期化しています。
+</p>
+<blockquote><pre>
+private static final Integer fileLock = new Integer(1);
+
+synchronized(fileLock) { 
+    .. do something ..
+}
+</pre></blockquote>
+<p>
+このコードは、 fileLock を以下のように宣言するとより良くなります。
+</p>
+<blockquote><pre>
+private static final Object fileLock = new Object();
+</pre></blockquote>
+<p>
+既存のコードとしては間違っていないのかもしれませんが、紛らわしいので将来リファクタリングするべきかもしれません。
+たとえば、IntelliJ の "Remove Boxing" のようなリファクタリングは Java 仮想マシンを通して共有される正準化された <code>Integer</code> オブジェクトを使用するように置き換えてしまい、非常に紛らわしい振る舞いと潜在的デッドロックの原因になります。
+</p>
+
+    
+<h3><a name="DM_MONITOR_WAIT_ON_CONDITION">Dm: Condition で wait メソッドを呼び出している (DM_MONITOR_WAIT_ON_CONDITION)</a></h3>
+
+
+<p>
+このメソッドは、<code>java.util.concurrent.locks.Condition</code> オブジェクトで <code>wait</code> メソッドを呼び出しています。
+<code>Condition</code> オブジェクトを待機させるためには <code>Condition</code> インタフェースで定義された <code>await</code> メソッドを使用するべきです。
+</p>
+
+    
+<h3><a name="DM_USELESS_THREAD">Dm: デフォルトの空の run メソッドを使用して作成されたスレッド (DM_USELESS_THREAD)</a></h3>
+
+
+<p>
+このメソッドは、<code>Thread</code> クラスから派生した <code>run</code> メソッドを指定していないか、<code>Runnable</code> オブジェクトを渡すことなく、スレッドを作成しています。
+このスレッドは、時間の無駄です。
+</p>
+
+    
+<h3><a name="ESync_EMPTY_SYNC">ESync: 空の synchronized ブロック (ESync_EMPTY_SYNC)</a></h3>
+
+
+<p>
+このコードには空の synchronized ブロックがあります。
+</p>
+<blockquote><pre>
+synchronized() {
+}
+</pre></blockquote>
+<p>
+空の synchronized ブロックは巧妙で正しく使用するのは困難です。
+空の synchronized ブロックはわざとらしくて決して良い解決策ではありません。
+</p>
+
+    
+<h3><a name="IS2_INCONSISTENT_SYNC">IS: 一貫性のない同期化 (IS2_INCONSISTENT_SYNC)</a></h3>
+
+
+<p>
+このクラスのフィールドは、同期化に関して一貫性なくアクセスされるように見えます。
+このバグレポートは、バグパターンディテクタが以下のように判断したことを示します。
+</p>
+<ul>
+  <li>クラスは、ロックされたアクセスとアンロックされたアクセスが混在していて</li>
+  <li>クラスは、javax.annotation.concurrent.NotThreadSafe としてアノテートされません</li>
+  <li>少なくとも1つのロックされたアクセスがクラス自身のメソッドの1つによって実行され、</li>
+  <li>読み出しの2倍の重み付けをした書き込みで、非同期フィールドのアクセス (読み出しと書き込み) 数がすべてのアクセスのわずか1/3</li>
+</ul>
+<p
+このバグパターンに合致する典型的なバグは、スレッドセーフを意図したクラスでメソッドを同期化させることを忘れていることです。
+</p>
+<p>
+ディテクタがどこでフィールドが同期化なしでアクセスされると信じていたかを示すコードの場所に「非同期アクセス」というラベルがついているノードを選択できます。
+</p>
+<p>
+不正確ないろいろな原因がこのディテクタにあることに注意してください。
+たとえば、ディテクタはロックを保持されるすべての状況を静的に検出できるというわけではありません。
+また、ディテクタがロックされたアクセスとアンロックされたアクセスの区別が正確なときでも、問題のコードは依然として正しいかもしれません。
+</p>
+
+    
+<h3><a name="IS_FIELD_NOT_GUARDED">IS: 並行アクセスに対してガードされていないフィールド (IS_FIELD_NOT_GUARDED)</a></h3>
+
+
+<p>
+このフィールドは、net.jcip.annotations.GuardedBy または javax.annotation.concurrent.GuardedBy でアノテートされていますが、アノテーションに違反すると思われる方法でアクセスできます。
+</p>
+
+    
+<h3><a name="JLM_JSR166_LOCK_MONITORENTER">JLM: Lock で同期化している (JLM_JSR166_LOCK_MONITORENTER)</a></h3>
+
+
+<p>
+このメソッドは、<code>java.util.concurrent.locks.Lock</code> を実装したオブジェクトで同期化しています。
+そのようなオブジェクトは <code>synchronized (...)</code> 構文よりも <code>acquire()</code>/<code>release()</code> を使用してロックとロックの解除をします。
+</p>
+
+    
+<h3><a name="JLM_JSR166_UTILCONCURRENT_MONITORENTER">JLM: java.util.concurrent のインスタンスで同期化している (JLM_JSR166_UTILCONCURRENT_MONITORENTER)</a></h3>
+
+
+<p>
+このメソッドは、java.util.concurrent パッケージのクラス (またはサブクラス) のインスタンスで同期化しています。
+これらのクラスのインスタンスは、<code>synchronized</code> の使用とは違う互換性のないそれら自身の並行制御メカニズムを持っています。
+たとえば、<code>AtomicBoolean</code> で同期しても、他のスレッドが <code>AtomicBoolean</code> を変更するのを防ぎません。
+</p>
+<p>
+そのようなコードは正しいかもしれないが、将来コードを維持しなければならない人々を混乱させるかもしれないので慎重にレビューし文書化するべきです、
+</p>
+
+    
+<h3><a name="JML_JSR166_CALLING_WAIT_RATHER_THAN_AWAIT">JLM: util.concurrent 抽象でモニタスタイルの wait メソッドを使用している (JML_JSR166_CALLING_WAIT_RATHER_THAN_AWAIT)</a></h3>
+
+
+<p>
+このメソッドは、<code>await()</code> メソッド、<code>signal</code> メソッド、<code>signalAll</code> メソッドを提供するオブジェクト
+(たとえば、util.concurrent の Condition オブジェクト) で、<code>wait</code> メソッド、<code>notify</code> メソッド、<code>notifyAll</code> メソッドを呼び出しています。
+これはおそらくあなたが望むことではありません。たとえそれを望むとしても、他の開発者が非常に紛らわしいことを理解して、設計を変更することを検討するべきです。
+</p>
+
+
+<h3><a name="LI_LAZY_INIT_STATIC">LI: static フィールドの間違った遅延初期化 (LI_LAZY_INIT_STATIC)</a></h3>
+
+
+<p>
+このメソッドにはvolatile でない static フィールドの非同期な遅延初期化があります。
+コンパイラやプロセッサが命令を並べ替えるかもしれないので、メソッドが複数のスレッドによって呼び出されるかもしれないなら、
+スレッドは完全に初期化されたオブジェクトを見るとは保証されていません。
+フィールドにアクセスした際に、中途半端に初期化されたインスタンスが見えてしまう危険があります。
+この問題を修正するために、フィールドを volatile にできます。<br>
+詳細は、<a href="http://www.cs.umd.edu/~pugh/java/memoryModel/">Java Memory Model web site</a> を参照してください。
+</p>
+
+    
+<h3><a name="LI_LAZY_INIT_UPDATE_STATIC">LI: 更新される static フィールドの間違った遅延初期化 (LI_LAZY_INIT_UPDATE_STATIC)</a></h3>
+
+
+<p>
+このメソッドにはstatic フィールドの非同期な遅延初期化があります。
+フィールドが設定された後で、その場所に格納されるオブジェクトはさらに更新されるかアクセスされます。
+それが設定されるとすぐに、フィールドの設定は他のスレッドに見えます。
+フィールドを設定するさらなるアクセスがオブジェクトを初期化するのに役に立つなら、
+それが完全に初期化されるまでどんな他のスレッドも格納されたオブジェクトにアクセスするのを防がないかぎり、非常に深刻なマルチスレッドバグがあります。
+</p>
+<p>
+たとえメソッドが複数のスレッドによって決して呼び出されないと確信していても、
+それは、フィールドに設定している値が完全にデータを読み込まれるか初期化されるまで、 static フィールドを設定しないほうが良いかもしれません。
+</p>
+
+    
+<h3><a name="ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD">ML: フィールドを同期化でガードしようとする無駄な試み (ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD)</a></h3>
+
+
+<p>
+このメソッドは、フィールドの同時更新に対して同期化でガードしようとしています。しかし、フィールドをガードするとフィールドではなく、フィールドが参照するオブジェクトのロックを獲得します。
+これはあなたが必要とする相互排除を提供しないかもしれません。
+他のスレッドは (他の目的のための) 参照されたオブジェクトのロックを獲得するかもしれません。<br>
+このパターンの例は以下のようになります。
+</p>
+<blockquote><pre>
+private Long myNtfSeqNbrCounter = new Long(0);
+private Long getNotificationSequenceNumber() {
+     Long result = null;
+     synchronized(myNtfSeqNbrCounter) {
+         result = new Long(myNtfSeqNbrCounter.longValue() + 1);
+         myNtfSeqNbrCounter = new Long(result.longValue());
+     }
+     return result;
+}
+</pre></blockquote>
+
+    
+<h3><a name="ML_SYNC_ON_UPDATED_FIELD">ML: 更新されるフィールドで同期化しているメソッド (ML_SYNC_ON_UPDATED_FIELD)</a></h3>
+
+
+<p>
+このメソッドは、可変フィールドから参照されたオブジェクトで同期化しています。
+異なるスレッドが異なるオブジェクトで同期化しているかもしれないので、これは有効な意味を持っている可能性が低いです。
+</p>
+
+    
+<h3><a name="MSF_MUTABLE_SERVLET_FIELD">MSF: 可変サーブレットフィールド (MSF_MUTABLE_SERVLET_FIELD)</a></h3>
+
+
+<p>
+Web サーバは、一般的にサーブレットや JSP クラスのインスタンスを1つだけ作成します (すなわち、シングルトンとして扱います)。
+複数のスレッドが複数同時に発生するリクエストを処理するためにインスタンスのメソッドを呼び出します。
+したがって、可変インスタンスフィールドは一般に競合状態を作成します。
+</p>
+
+    
+<h3><a name="MWN_MISMATCHED_NOTIFY">MWN: 不整合な notify メソッド (MWN_MISMATCHED_NOTIFY)</a></h3>
+
+
+<p>
+このメソッドは、オブジェクトで明らかにロックを保持することなく <code>Object.notify()</code> や <code>Object.notifyAll()</code> を呼び出しています。
+保持されるロックがない状態で、<code>notify</code> メソッドや <code>notifyAll</code> メソッドを呼び出すことは、<code>IllegalMonitorStateException</code> をスローすることになります。
+</p>
+
+    
+<h3><a name="MWN_MISMATCHED_WAIT">MWN: 不整合な wait メソッド (MWN_MISMATCHED_WAIT)</a></h3>
+
+
+<p>
+このメソッドは、オブジェクトで明らかにロックを保持することなく、<code>Object.wait()</code> を呼び出しています。
+保持されるロックがない状態で、<code>wait</code> メソッドを呼び出すことは、<code>IllegalMonitorStateException</code> をスローすることになります。
+</p>
+
+    
+<h3><a name="NN_NAKED_NOTIFY">NN: 裸の notify メソッド (NN_NAKED_NOTIFY)</a></h3>
+
+
+<p>
+<code>notify</code> メソッドまたは <code>notifyAll</code> メソッドへの呼び出しは可変オブジェクト状態にどんな (明らかな) 付随的な変更ももたらされませんでした。
+一般に、別のスレッドが期待しているいくつかの条件が真になったので、モニタで <code>notify</code> メソッドが呼び出されます。
+しかしながら、意味がある条件のために、両方のスレッドに見えるヒープオブジェクトを含まなければなりません。
+</p>
+<p>
+可変オブジェクトの状態変更が通知があるメソッドを呼び出したメソッドで起こったかもしれないので、このバグが必ずしもエラーを示すというわけではありません。
+</p>
+
+    
+<h3><a name="NP_SYNC_AND_NULL_CHECK_FIELD">NP: 同じフィールドでの同期化と null チェック (NP_SYNC_AND_NULL_CHECK_FIELD)</a></h3>
+
+
+<p>
+フィールドは同期化しているので、おそらく null ではないと思われます。
+null のフィールドを同期化すると NullPointerException がスローされるので、null チェックは無意味になります。
+別のフィールドで同期化したほうがよいです。
+</p>
+
+    
+<h3><a name="NO_NOTIFY_NOT_NOTIFYALL">No: notifyAll メソッドではなく notify メソッドを使用している (NO_NOTIFY_NOT_NOTIFYALL)</a></h3>
+
+
+<p>
+このメソッドは、<code>notifyAll</code> メソッドではなく <code>notify</code> メソッドを呼び出しています。
+モニタが複数の条件のために多くの場合使われます。
+<code>notify</code> メソッドの呼び出しは1つのスレッドを起こすだけで起こされたスレッドは呼び出し元が満たした待機条件の1つではないかもしれないことを意味しています。
+</p>
+
+    
+<h3><a name="RS_READOBJECT_SYNC">RS: readObject メソッドを同期化しているクラス (RS_READOBJECT_SYNC)</a></h3>
+
+
+<p>
+この直列化可能クラスは同期化する <code>readObject</code> メソッド を定義していますが、
+直列化復元によって作成されるオブジェクトは1つのスレッドによってだけ到達可能です。
+したがって、<code>readObject</code> メソッドは同期化する必要がありません。
+<code>readObject</code> メソッドそのものが別のスレッドに見えるようになるオブジェクトの原因になっているなら非常に疑わしいコーディングスタイルの例です。
+</p>
+
+    
+<h3><a name="RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED">RV: putIfAbsent の戻り値は無視されて putIfAbsent に渡した値は再利用された (RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED)</a></h3>
+
+
+<p>
+<code>putIfAbsent</code> メソッドは、一般に1つの値が与えられたキー (非存在が成功するかどうかの第一の値) と関連することを確認するために使われます。
+戻り値を無視して中で渡される値への参照を保持するなら、マップのキーと関連する1つではない値を保持する危険性を冒します。
+どれを使用するかが重要であり、マップに格納できないものを使用すると、プログラムは誤った振る舞いをします。
+</p>
+
+    
+<h3><a name="RU_INVOKE_RUN">Ru: スレッドで run メソッドを呼び出している (RU_INVOKE_RUN)</a></h3>
+
+
+<p>
+このメソッドは、スレッドで 明示的に <code>run</code> メソッドを呼び出しています。
+一般に、クラスは新しいスレッドで自己の <code>run</code> メソッドを呼び出してもらうために <code>Runnable</code> インタフェースを実装します。
+その場合は、<code>Thread.start()</code> を呼び出すのが正しいです。
+</p>
+
+    
+<h3><a name="SC_START_IN_CTOR">SC: Thread.start() を呼び出しているコンストラクタ (SC_START_IN_CTOR)</a></h3>
+
+
+<p>
+コンストラクタがスレッドを開始しています。クラスが拡張され、サブクラスが作られるなら間違っていそうです。
+なぜなら、サブクラスのコンストラクタでスレッドが開始される前に、スーパークラスのスレッドが開始してしまうためです。
+</p>
+
+    
+<h3><a name="SP_SPIN_ON_FIELD">SP: スピンロックをしているメソッド (SP_SPIN_ON_FIELD)</a></h3>
+
+
+<p>
+このメソッドは、フィールドを読み出すループで回り続けます。
+コンパイラがフィールドの読み出しをループの外に出すかもしれません。コードを無限ループに変えます。
+正しい同期化 (wait/notify を呼び出すように含む) を使うようにクラスを変更するべきです。
+</p>
+
+    
+<h3><a name="STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE">STCAL: static Calendar の呼び出し (STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE)</a></h3>
+
+
+<p>
+たとえ JavaDoc にそれに関する手がかりがないとしても、Calendar はマルチスレッドでの使用は本質的に安全ではありません。
+ディテクタは、static フィールドから得られた Calendar のインスタンスの呼び出しを発見しました。
+これは疑わしく見えます。
+詳細については、<a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6231579">Sun Bug #6231579</a> や <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6178997">Sun Bug #6178997</a> を参照してください。
+</p>
+
+    
+<h3><a name="STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE">STCAL: static DateFormat の呼び出し (STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE)</a></h3>
+
+
+<p>
+JavaDoc に書かれているように、DateFormat はマルチスレッドでの使用は本質的に安全ではありません。
+ディテクタは、static フィールドから得られた DateFormat のインスタンスの呼び出しを発見しました。
+これは疑わしく見えます。
+詳細については、<a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6231579">Sun Bug #6231579</a> や <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6178997">Sun Bug #6178997</a> を参照してください。
+</p>
+
+    
+<h3><a name="STCAL_STATIC_CALENDAR_INSTANCE">STCAL: static Calendar フィールド (STCAL_STATIC_CALENDAR_INSTANCE)</a></h3>
+
+
+<p>
+たとえ JavaDoc にそれに関する手がかりがないとしても、Calendar はマルチスレッドでの使用は本質的に安全でありません。
+正しい同期化をしないでスレッド境界の向こうで1つのインスタンスを共有することは、アプリケーションの誤動作になります。
+JDK 5.0に比べて JDK 1.4 のほうが問題が表面化するように思われ、おそらく sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate() の ArrayIndexOutOfBoundsExceptions や IndexOutOfBoundsExceptions がランダムに発生します。
+直列化問題も経験するかもしれません。インスタンスフィールドを使うことを推奨します。<br>
+詳細については、<a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6231579">Sun Bug #6231579</a> や <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6178997">Sun Bug #6178997</a> を参照してください。
+</p>
+
+    
+<h3><a name="STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE">STCAL: static DateFormat (STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE)</a></h3>
+
+
+<p>
+JavaDoc に書かれているように、DateFormat はマルチスレッドでの使用は本質的に安全ではありません。
+正しい同期化をしないでスレッド境界の向こうで1つのインスタンスを共有することは、アプリケーションの誤動作になります。
+JDK 5.0に比べて JDK 1.4 のほうが問題が表面化するように思われ、おそらく sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate() の ArrayIndexOutOfBoundsExceptions や IndexOutOfBoundsExceptions がランダムに発生します。
+直列化問題も経験するかもしれません。インスタンスフィールドを使うことを推奨します。<br>
+詳細については、<a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6231579">Sun Bug #6231579</a> や <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6178997">Sun Bug #6178997</a> を参照してください。
+</p>
+
+    
+<h3><a name="SWL_SLEEP_WITH_LOCK_HELD">SWL: ロックを保持して Thread.sleep() を呼び出しているメソッド (SWL_SLEEP_WITH_LOCK_HELD)</a></h3>
+
+
+<p>
+このメソッドは、ロックを保持して、<code>Thread.sleep()</code> を呼び出しています。
+他のスレッドがロックを獲得するために待機しているかもしれないので、ひどい性能とスケーラビリティ、またはデッドロックになるかもしれません。
+ロックで <code>wait</code> メソッドを呼び出すことはかなり良い考えで、ロックを解除して他のスレッドが実行するのを許可します。
+</p>
+
+    
+<h3><a name="TLW_TWO_LOCK_WAIT">TLW: 2つ以上のロックを保持して wait メソッドを呼び出している (TLW_TWO_LOCK_WAIT)</a></h3>
+
+
+<p>
+2つ以上のロックを保持して、モニタで待機させるとデッドロックの原因になる場合があります。
+<code>wait</code> メソッドを呼び出すと、待機しているオブジェクトのロックを解除するだけで、その他のロックは解除しません。
+これは必ずしもバグではありませんが厳密に調べる価値があります。
+</p>
+
+    
+<h3><a name="UG_SYNC_SET_UNSYNC_GET">UG: 同期化していない get メソッド、同期化している set メソッド (UG_SYNC_SET_UNSYNC_GET)</a></h3>
+
+
+<p>
+このクラスには類似した名前の get メソッドと set メソッドがあり、set メソッドは同期化していて、get メソッドは同期化していません。
+get メソッドの呼び出し元がオブジェクトの一貫した状態を必ずしも見るというわけではないので、実行時に間違った振る舞いになるかもしれません。
+get メソッドは同期化するべきです。
+</p>
+
+    
+<h3><a name="UL_UNRELEASED_LOCK">UL: すべての経路でロックが解除されないメソッド (UL_UNRELEASED_LOCK)</a></h3>
+
+
+<p>
+このメソッドは、JSR-166(<code>java.util.concurrent</code>) のロックを獲得していますが、メソッドからのすべての経路で解除していません。
+一般に、JSR-166のロックを使用するための正しいイディオムは以下のようになります。
+</p>
+<blockquote><pre>
+Lock l = ...;
+l.lock();
+try {
+    // do something
+} finally {
+    l.unlock();
+}
+</pre></blockquote>
+
+    
+<h3><a name="UL_UNRELEASED_LOCK_EXCEPTION_PATH">UL: すべての例外経路でロックが解除されないメソッド (UL_UNRELEASED_LOCK_EXCEPTION_PATH)</a></h3>
+
+
+<p>
+このメソッドは、JSR-166(<code>java.util.concurrent</code>) のロックを獲得していますが、メソッドからのすべての例外経路で解除していません。
+一般に、JSR-166のロックを使用するための正しいイディオムは以下のようになります。
+</p>
+<blockquote><pre>
+Lock l = ...;
+l.lock();
+try {
+    // do something
+} finally {
+    l.unlock();
+}
+</pre></blockquote>
+
+    
+<h3><a name="UW_UNCOND_WAIT">UW: wait メソッドの無条件呼び出し (UW_UNCOND_WAIT)</a></h3>
+
+
+<p>
+このメソッドには条件制御フローによってガードされない <code>java.lang.Object.wait()</code> の呼び出しがあります。
+このコードは、<code>wait</code> メソッドを呼び出す前に待機するつもりだった条件がすでに満たされていないことを確かめるべきです。
+どんな前の通知も無視されます。
+</p>
+
+    
+<h3><a name="VO_VOLATILE_INCREMENT">VO: volatile フィールドへのインクリメントはアトミックではない (VO_VOLATILE_INCREMENT)</a></h3>
+
+
+<p>
+このコードは、volatile フィールドをインクリメントしています。
+volatile フィールドのインクリメントはアトミックではありません。
+複数のスレッドが同時にフィールドをインクリメントすると、インクリメントが失われる可能性があります。 
+</p>
+
+    
+<h3><a name="VO_VOLATILE_REFERENCE_TO_ARRAY">VO: 配列への volatile 参照は、配列要素を volatile として扱わない (VO_VOLATILE_REFERENCE_TO_ARRAY)</a></h3>
+
+
+<p>
+配列に volatile 参照を宣言していますが、あなたが望むものではないかもしれません。
+配列への volatile 参照は、配列への参照の読み出し、書き込みは volatile として扱われますが、配列要素は volatile として扱われません。
+配列要素を volatile として扱いたいのであれば、J2SE 5.0で提供された java.util.concurrent パッケージのアトミック配列クラスを使用する必要があります。
+</p>
+
+    
+<h3><a name="WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL">WL: クラスリテラルではなく getClass で同期化している (WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL)</a></h3>
+
+
+<p>
+このインスタンスメソッドは、<code>this.getClass()</code> で同期化しています。
+このクラスがサブクラス化されるなら、サブクラスはおそらく意図したことではないサブクラスのためにクラスオブジェクトで同期化します。
+たとえば、<code>java.awt.Label</code> の以下のコードを検討してください。
+</p>
+<blockquote><pre>
+private static final String base = "label";
+private static int nameCounter = 0;
+
+String constructComponentName() {
+    synchronized (getClass()) {
+        return base + nameCounter++;
+    }
+}
+</pre></blockquote>
+<p>
+<code>Label</code> のサブクラスは同じサブクラスで同期化しません。データレースを生じさせます。
+代わりに、このコードは、<code>Label.class</code> で同期化するべきです。
+</p>
+<blockquote><pre>
+private static final String base = "label";
+private static int nameCounter = 0;
+
+String constructComponentName() {
+    synchronized (Label.class) {
+        return base + nameCounter++;
+    }
+}
+</pre></blockquote>
+<p>
+Jason Mehrens によって寄贈されたバグパターン
+</p>
+
+    
+<h3><a name="WS_WRITEOBJECT_SYNC">WS: writeObject メソッドは同期化しているがその他のメソッドは同期化していないクラス (WS_WRITEOBJECT_SYNC)</a></h3>
+
+
+<p>
+このクラスには同期化している <code>writeObject</code> メソッドがあります。
+しかしながら、クラスのその他のメソッドは同期化していません。
+</p>
+
+    
+<h3><a name="WA_AWAIT_NOT_IN_LOOP">Wa: Condition.await() がループの中にない (WA_AWAIT_NOT_IN_LOOP)</a></h3>
+
+
+<p>
+このメソッドは、ループの中にない <code>java.util.concurrent.await()</code> (またはそのバリエーション) を呼び出しています。
+オブジェクトが複数の条件のために使われるなら、呼び出し元が待機するつもりだった条件は実際には発生しないかもしれません。
+</p>
+
+    
+<h3><a name="WA_NOT_IN_LOOP">Wa: wait メソッドがループの中にない (WA_NOT_IN_LOOP)</a></h3>
+
+
+<p>
+このメソッドは、ループの中にない <code>java.lang.Object.wait()</code> を呼び出しています。
+モニタが複数の条件のために使われるなら、呼び出し元が待機するつもりだった条件は実際には発生しないかもしれません。
+</p>
+
+    
+<h3><a name="BX_BOXING_IMMEDIATELY_UNBOXED">Bx: プリミティブ値がボクシングされて、すぐにアンボクシングされる (BX_BOXING_IMMEDIATELY_UNBOXED)</a></h3>
+
+
+<p>
+プリミティブ値がボクシングされて、すぐにアンボクシングされます。
+おそらくアンボクシングされた値が必要な場所で、手動でボクシングをしているためです。
+その結果、コンパイラにボクシングの機能を取り消すことを強制しています。
+</p>
+
+    
+<h3><a name="BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION">Bx: プリミティブ値がプリミティブ型の型変換をするためにボクシングされて、アンボクシングされる (BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION)</a></h3>
+
+
+<p>
+プリミティブ値がコンストラクタでボクシングされて、すぐに異なるプリミティブ型に変換されます (たとえば <code>new Double(d).intValue()</code>)。
+直接プリミティブ型の型変換を実行してください (たとえば <code>(int) d</code>)。
+</p>
+
+    
+<h3><a name="BX_UNBOXING_IMMEDIATELY_REBOXED">Bx: ボクシングされた値がアンボクシングされて、すぐに再ボクシングされる (BX_UNBOXING_IMMEDIATELY_REBOXED)</a></h3>
+
+
+<p>
+ボクシングされた値がアンボクシングされて、すぐに再ボクシングされます。
+</p>
+
+    
+<h3><a name="DM_BOXED_PRIMITIVE_FOR_PARSING">Bx: ボクシング/アンボクシングはプリミティブを解析する (DM_BOXED_PRIMITIVE_FOR_PARSING)</a></h3>
+
+
+<p>
+ボックス化されたプリミティブは、String から生成されていて、アンボックス化されたプリミティブ値を抽出します。
+static parseXXX メソッドを呼び出す方が効率的です。
+</p>
+
+    
+<h3><a name="DM_BOXED_PRIMITIVE_TOSTRING">Bx: toString メソッドを呼び出すためにプリミティブ型のラッパクラスのインスタンスを作成している (DM_BOXED_PRIMITIVE_TOSTRING)</a></h3>
+
+
+<p>
+<code>toString</code> メソッドを呼び出すために、プリミティブ型のラッパクラスのインスタンスを作成しています。
+それよりもプリミティブ値を引数にとる static な <code>toString</code> メソッドを使用したほうが効率的です。
+</p>
+<table>
+   <tr><th>置換前</th><th>置換後</th></tr>
+   <tr><td>new Integer(1).toString()</td><td>Integer.toString(1)</td></tr>
+   <tr><td>new Long(1).toString()</td><td>Long.toString(1)</td></tr>
+   <tr><td>new Float(1.0).toString()</td><td>Float.toString(1.0)</td></tr>
+   <tr><td>new Double(1.0).toString()</td><td>Double.toString(1.0)</td></tr>
+   <tr><td>new Byte(1).toString()</td><td>Byte.toString(1)</td></tr>
+   <tr><td>new Short(1).toString()</td><td>Short.toString(1)</td></tr>
+   <tr><td>new Boolean(true).toString()</td><td>Boolean.toString(true)</td></tr>
+</table>
+
+    
+<h3><a name="DM_FP_NUMBER_CTOR">Bx: 効率が悪い浮動小数点 Number コンストラクタを呼び出しているメソッド (DM_FP_NUMBER_CTOR)</a></h3>
+
+
+<p>
+<code>new Double(double)</code> の使用は、常に新しいブジェクトになることが保証されています。
+これに対して、<code>Double.valueOf(double)</code> は、コンパイラ、クラスライブラリ、Java 仮想マシンで値がキャッシュされます。
+キャッシュに格納された値を使うことはインスタンス生成を回避し、コードはより高速になります。
+</p>
+<p>
+クラスが J2SE 5.0より前の Java 仮想マシンとの互換性が不要なら、オートボクシングか <code>Double</code>、<code>Float</code> の <code>valueOf</code> メソッドを使用してください。
+</p>
+
+    
+<h3><a name="DM_NUMBER_CTOR">Bx: 効率が悪い Number コンストラクタを呼び出しているメソッド (DM_NUMBER_CTOR)</a></h3>
+
+
+<p>
+<code>new Integer(int)</code> の使用は、常に新しいブジェクトになることが保証されています。
+これに対して、<code>Integer.valueOf(int)</code> は、コンパイラ、クラスライブラリ、Java 仮想マシンで値がキャッシュされます。
+キャッシュに格納された値を使うことはインスタンスの作成を回避し、コードはより高速になります。
+</p>
+<p>
+-128から127までの値は対応するキャッシュされたインスタンスを持つことが保証されています。
+そして、<code>valueOf</code> メソッドの使用は、コンストラクタを使用するより約3.5倍高速です。
+定数範囲外の値は、両方のスタイルの性能は同じです。
+</p>
+<p>
+クラスが J2SE 5.0より前の Java 仮想マシンとの互換性が不要なら、<code>Long</code>、<code>Integer</code>、<code>Short</code>、<code>Character</code>、<code>Byte</code> のインスタンスを作成するときは、オートボクシングか <code>valueOf</code> メソッドを使用してください。
+</p>
+
+    
+<h3><a name="DMI_BLOCKING_METHODS_ON_URL">Dm: URL の equals メソッドと hashCode メソッドはブロックする (DMI_BLOCKING_METHODS_ON_URL)</a></h3>
+
+
+<p>
+URL の <code>equals</code> メソッドと <code>hashCode</code> メソッドは、ドメイン名の解決を行うので、ひどい性能になる可能性があります。<br>
+詳細は、<a href="http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html">http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html</a> を参照してください。<br>
+その代わりに <code>java.net.URI</code> を使うことを検討してください。
+</p>
+
+    
+<h3><a name="DMI_COLLECTION_OF_URLS">Dm: URL の Map や Set はひどい性能になる可能性がある (DMI_COLLECTION_OF_URLS)</a></h3>
+
+
+<p>
+このメソッドまたはフィールドは、URL の <code>Map</code> か <code>Set</code> を使用しています。
+URL の <code>equals</code> と <code>hashCode</code> は、ドメイン名の解決を行うので、ひどい性能になる可能性があります。<br>
+詳細は、<a href="http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html">http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html</a> を参照してください。<br>
+その代わりに <code>java.net.URI</code> を使うことをを検討してください。
+</p>
+
+    
+<h3><a name="DM_BOOLEAN_CTOR">Dm: 効率が悪い Boolean コンストラクタを呼び出しているメソッド (DM_BOOLEAN_CTOR)</a></h3>
+
+
+<p>
+<code>java.lang.Boolean</code> の新しいインスタンスを作成するとメモリを浪費します。
+<code>Boolean</code> オブジェクトは不変で、2つの有効な値 (<code>Boolean.TRUE</code> と <code>Boolean.FALSE</code>) があります。
+その代わりに <code>Boolean</code> オブジェクトを作成するために、<code>Boolean.valueOf</code> メソッド (または J2SE 5.0 のオートボクシング) を使用してください。
+</p>
+
+    
+<h3><a name="DM_GC">Dm: 明示的なガベージコレクション (DM_GC)</a></h3>
+
+
+<p>
+明示的にガベージコレクションを呼び出しています。ベンチマークの特定の用途を除いて非常に疑わしいです。
+</p>
+<p>
+過去に、<code>close</code> メソッドや <code>finalize</code> メソッドでガベージコレクタを明示的に呼び出していた状況は、巨大なパフォーマンスブラックホールの原因となりました。
+ガベージコレクションは、高くつく可能性があります。何百、何千ものガベージコレクションを強制する状況は、システムの停滞をもたらすでしょう。
+</p>
+
+    
+<h3><a name="DM_NEW_FOR_GETCLASS">Dm: クラスオブジェクトを得るためだけにインスタンスを作成しているメソッド (DM_NEW_FOR_GETCLASS)</a></h3>
+
+
+<p>
+メソッドは、クラスオブジェクトを得るために、インスタンスを生成して <code>getClass</code> メソッドを呼び出しています。
+クラスリテラル (<code>Foo.class</code>) を使うほうが簡単です。
+</p>
+
+    
+<h3><a name="DM_NEXTINT_VIA_NEXTDOUBLE">Dm: 整数の乱数を生成するためには nextDouble メソッド ではなく nextInt メソッドを使用する (DM_NEXTINT_VIA_NEXTDOUBLE)</a></h3>
+
+
+<p>
+<code>java.util.Random</code> のインスタンス <code>r</code> で、<code>0</code> から <code>n-1</code> の乱数を生成したいのであれば、<code>(int)(r.nextDouble() * n)</code> ではなく <code>r.nextInt(n)</code> を使用します。
+</p>
+<p>
+<code>nextInt</code> メソッドへの引数は整数でなければなりません。
+たとえば、-99から0までの乱数を生成したいなら、<code>-r.nextInt(100)</code> を使用してください。
+</p>
+
+    
+<h3><a name="DM_STRING_CTOR">Dm: 効率が悪い new String(String) コンストラクタを呼び出しているメソッド (DM_STRING_CTOR)</a></h3>
+
+
+<p>
+<code>new String(String)</code> コンストラクタの使用はメモリを浪費します。
+そのようにして構築されたオブジェクトと パラメータとして渡された <code>String</code> は機能的に区別がつかないからです。
+引数の <code>String</code> をそのまま使用してください。
+</p>
+
+    
+<h3><a name="DM_STRING_TOSTRING">Dm: String の toString メソッドを呼び出しているメソッド (DM_STRING_TOSTRING)</a></h3>
+
+
+<p>
+<code>String.toString()</code> を呼び出すのは冗長です。<code>String</code> を使用してください。
+</p>
+
+    
+<h3><a name="DM_STRING_VOID_CTOR">Dm: 効率が悪い new String() コンストラクタを呼び出しているメソッド (DM_STRING_VOID_CTOR)</a></h3>
+
+
+<p>
+引数がないコンストラクタを使用して、新しい <code>java.lang.String()</code> オブジェクトを作成するとメモリを浪費します。
+そのようにして作成されたオブジェクトと空の文字列定数 <code>""</code> は機能的に区別がつかないからです。
+Javaは、同一の文字列定数が同じ <code>String</code> オブジェクトによって表されることを保証します。
+したがって、直接空の文字列定数を使用するべきです。
+</p>
+
+    
+<h3><a name="HSC_HUGE_SHARED_STRING_CONSTANT">HSC: 複数のクラスファイルにわたって複製されている巨大な文字列定数 (HSC_HUGE_SHARED_STRING_CONSTANT)</a></h3>
+
+
+<p>
+巨大な文字列定数が複数のクラスファイルにわたって複製されています。
+final フィールドが文字列定数で初期化され、Java 言語によって他のクラスからの final フィールドへのすべての参照がクラスファイルにインライン化されるからです。
+</p>
+<p>
+JDK はこのバグを解決してサイズを1MB減らすことができました。<br>
+詳細は、<a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6447475">JDK bug 6447475</a> を参照してください。
+</p>
+
+    
+<h3><a name="IIO_INEFFICIENT_INDEX_OF">IIO: String.indexOf(String) の非効率的な使用 (IIO_INEFFICIENT_INDEX_OF)</a></h3>
+
+
+<p>
+このコードは、String.indexOf() に長さ1の文字列定数を渡しています。String.indexOf() の整数実装を使うほうが効率的です。
+たとえば、<code>myString.indexOf(".") の代わりに <code>myString.indexOf('.')</code> を呼び出します。</code>
+</p>
+
+    
+<h3><a name="IIO_INEFFICIENT_LAST_INDEX_OF">IIO: String.lastIndexOf(String) の非効率的な使用 (IIO_INEFFICIENT_LAST_INDEX_OF)</a></h3>
+
+
+<p>
+このコードは、String.lastIndexOf() に長さ1の文字列定数を渡しています。String.lastIndexOf() の整数実装を使うほうが効率的です。
+たとえば、<code>myString.lastIndexOf(".") の代わりに <code>myString.lastIndexOf('.')</code> を呼び出します。</code>
+</p>
+
+    
+<h3><a name="ITA_INEFFICIENT_TO_ARRAY">ITA: 長さが0の配列の引数で toArray メソッドを使用しているメソッド (ITA_INEFFICIENT_TO_ARRAY)</a></h3>
+
+
+<p>
+このメソッドは、Collection 派生クラスの </code>toArray</code> メソッドを使用して長さが0の配列の引数を渡しています。
+<code>myCollection.toArray(new Foo[myCollection.size()])</code> を使用するほうがより効率的です。
+渡される配列がコレクションの要素のすべてを格納できるくらいの大きさなら、データが読み込まれて、そのまま返されます。
+これは、結果として返す2番目の配列 (リフレクションによって) を作成する必要を回避します。
+</p>
+
+    
+<h3><a name="SBSC_USE_STRINGBUFFER_CONCATENATION">SBSC: ループの中で + を使用して文字列を連結しているメソッド (SBSC_USE_STRINGBUFFER_CONCATENATION)</a></h3>
+
+
+<p>
+このメソッドは、ループの中で + を使用して <code>String</code> を構築していると思われます。
+各々の繰り返しにおいて、<code>String</code> は <code>StringBuffer</code>/<code>StringBuilder</code> に変換、追加され、<code>String</code> へ変換されます。
+各々の繰り返しで文字列が再コピーされ、増大すると繰り返しの数で二次コストの原因になる可能性があります。
+</p>
+<p>
+明示的に、<code>StringBuffer</code> (または J2SE 5.0の <code>StringBuilder</code>) を使うことで、より良い性能を得られるかもしれません。
+</p>
+<p>
+たとえば、
+</p>
+<blockquote><pre>
+// This is bad
+String s = "";
+for (int i = 0; i &lt; field.length; ++i) {
+    s = s + field[i];
+}
+
+// This is better
+StringBuffer buf = new StringBuffer();
+for (int i = 0; i &lt; field.length; ++i) {
+    buf.append(field[i]);
+}
+String s = buf.toString();
+</pre></blockquote>
+
+    
+<h3><a name="SIC_INNER_SHOULD_BE_STATIC">SIC: static 内部クラスにすべき (SIC_INNER_SHOULD_BE_STATIC)</a></h3>
+
+
+<p>
+このクラスは内部クラスなのにそれを作成したオブジェクトへの埋め込まれた参照を使用していません。
+この参照はより大きなクラスのインスタンスを作成して、必要以上に長い間作成オブジェクトへの参照を存続しておくかもしれません。
+できれば、クラスは static にすべきです。
+</p>
+
+    
+<h3><a name="SIC_INNER_SHOULD_BE_STATIC_ANON">SIC: 名前付き static 内部クラスにリファクタリングできるかもしれない (SIC_INNER_SHOULD_BE_STATIC_ANON)</a></h3>
+
+
+<p>
+このクラスは内部クラスなのにそれを作成したオブジェクトへの埋め込まれた参照を使用していません。
+この参照はより大きなクラスのインスタンスを作成して、必要以上に長く作成オブジェクトへの参照を存続しておくかもしれません。
+できれば、クラスは static 内部クラスにすべきです。
+無名内部クラスは static にできないので、名前付き内部クラスにリファクタリングする必要があります。
+</p>
+
+    
+<h3><a name="SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS">SIC: static 内部クラスにリファクタリングできるかもしれない (SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS)</a></h3>
+
+
+<p>
+このクラスは内部クラスなのにそれを作成したオブジェクトへの埋め込まれた参照を使用していません。
+この参照はより大きなクラスのインスタンスを作成して、必要以上に長く作成オブジェクトへの参照を存続しておくかもしれません。
+できれば、クラスは static 内部クラスにすべきです。
+外部オブジェクトへの参照が内部クラスのインスタンスを構築する間必要なので内部クラスのコンストラクタに外部インスタンスへの参照を渡すようにリファクタリングする必要があります。
+</p>
+
+    
+<h3><a name="SS_SHOULD_BE_STATIC">SS: 読み出されないフィールド (SS_SHOULD_BE_STATIC)</a></h3>
+
+
+<p>
+このクラスにはコンパイル時に静的な値に初期化されるインスタンス final フィールドがあります。
+static フィールドにすることを検討してください。
+</p>
+
+    
+<h3><a name="UM_UNNECESSARY_MATH">UM: 定数値で Math クラスの static メソッドを呼び出しているメソッド (UM_UNNECESSARY_MATH)</a></h3>
+
+
+<p>
+このメソッドは、定数値で <code>java.lang.Math</code> の static メソッドを呼び出しています。
+このメソッドの結果は、静的に確定している可能性があり、より高速で、ときには定数を使用するほうがより正確です。<br>
+検出されるメソッドは、以下のとおりです。 
+</p>
+<table>
+<tr>
+   <th>メソッド</th> <th>パラメータ</th>
+</tr>
+<tr>
+   <td>abs</td> <td>-any-</td>
+</tr>
+<tr>
+   <td>acos</td> <td>0.0 or 1.0</td>
+</tr>
+<tr>
+   <td>asin</td> <td>0.0 or 1.0</td>
+</tr>
+<tr>
+   <td>atan</td> <td>0.0 or 1.0</td>
+</tr>
+<tr>
+   <td>atan2</td> <td>0.0</td>
+</tr>
+<tr>
+   <td>cbrt</td> <td>0.0 or 1.0</td>
+</tr>
+<tr>
+   <td>ceil</td> <td>-any-</td>
+</tr>
+<tr>
+   <td>cos</td> <td>0.0</td>
+</tr>
+<tr>
+   <td>cosh</td> <td>0.0</td>
+</tr>
+<tr>
+   <td>exp</td> <td>0.0 or 1.0</td>
+</tr>
+<tr>
+   <td>expm1</td> <td>0.0</td>
+</tr>
+<tr>
+   <td>floor</td> <td>-any-</td>
+</tr>
+<tr>
+   <td>log</td> <td>0.0 or 1.0</td>
+</tr>
+<tr>
+   <td>log10</td> <td>0.0 or 1.0</td>
+</tr>
+<tr>
+   <td>rint</td> <td>-any-</td>
+</tr>
+<tr>
+   <td>round</td> <td>-any-</td>
+</tr>
+<tr>
+   <td>sin</td> <td>0.0</td>
+</tr>
+<tr>
+   <td>sinh</td> <td>0.0</td>
+</tr>
+<tr>
+   <td>sqrt</td> <td>0.0 or 1.0</td>
+</tr>
+<tr>
+   <td>tan</td> <td>0.0</td>
+</tr>
+<tr>
+   <td>tanh</td> <td>0.0</td>
+</tr>
+<tr>
+   <td>toDegrees</td> <td>0.0 or 1.0</td>
+</tr>
+<tr>
+   <td>toRadians</td> <td>0.0</td>
+</tr>
+</table>
+
+    
+<h3><a name="UPM_UNCALLED_PRIVATE_METHOD">UPM: private メソッドは決して呼び出されない (UPM_UNCALLED_PRIVATE_METHOD)</a></h3>
+
+
+<p>
+この private メソッドは、決して呼び出されません。
+メソッドがリフレクションによって呼び出されるかもしれないが、決して使われないなら除去するべきです。
+</p>
+
+    
+<h3><a name="URF_UNREAD_FIELD">UrF: 読み出されないフィールド (URF_UNREAD_FIELD)</a></h3>
+
+
+<p>
+このフィールドは決して読み出されません。クラスから除去することを検討してください。
+</p>
+
+    
+<h3><a name="UUF_UNUSED_FIELD">UuF: 未使用のフィールド (UUF_UNUSED_FIELD)</a></h3>
+
+
+<p>
+このフィールドは決して使われません。クラスから除去することを検討してください。
+</p>
+
+    
+<h3><a name="WMI_WRONG_MAP_ITERATOR">WMI: entrySet イテレータではなく効率が悪い keySet イテレータを使用している (WMI_WRONG_MAP_ITERATOR)</a></h3>
+
+
+<p>
+このメソッドは、keySet イテレータから取り出されたキーを使用して、マップエントリの値にアクセスしています。
+Map の entrySet イテレータを使用したほうが <code>Map.get(key)</code> ルックアップを回避するのでより効率的です。
+</p>
+
+    
+<h3><a name="DMI_CONSTANT_DB_PASSWORD">Dm: ハードコードされた定数データベースパスワード (DMI_CONSTANT_DB_PASSWORD)</a></h3>
+
+
+<p>
+このコードは、ハードコードされた定数パスワードを使用してデータベース接続を作成しています。
+ソースコードかコンパイルされたコードへアクセスできる人なら誰でも簡単にパスワードを知ることができてしまいます。
+</p>
+
+    
+<h3><a name="DMI_EMPTY_DB_PASSWORD">Dm: 空のデータベースパスワード (DMI_EMPTY_DB_PASSWORD)</a></h3>
+
+
+<p>
+このコードは、空白または空のパスワードを使用してデータベース接続を作成しています。
+これはデータベースがパスワードによって保護されていないことを示しています。
+</p>
+
+    
+<h3><a name="HRS_REQUEST_PARAMETER_TO_COOKIE">HRS: 信頼できない入力から形成された HTTP cookie (HRS_REQUEST_PARAMETER_TO_COOKIE)</a></h3>
+
+
+<p>
+このコードは信頼できない HTTP パラメータを使用して HTTP クッキーを構築しています。
+このクッキーが HTTP レスポンスに追加されるなら、HRS(HTTP レスポンススプリッティング) 脆弱性を可能にします。<br>
+詳細は、<a href="http://en.wikipedia.org/wiki/HTTP_response_splitting">http://en.wikipedia.org/wiki/HTTP_response_splitting</a> を参照してください。
+</p>
+<p>
+FindBugs は、HRS の最も露骨で自明なケースだけを探します。
+FindBugs が何かを発見したならほぼ間違いなく FindBugs が報告しないより多くの脆弱性があるでしょう。
+HRS を心配するなら、商用の静的解析ツールかペネトレーションテストツールの使用を真剣に検討するべきです。
+</p>
+
+    
+<h3><a name="HRS_REQUEST_PARAMETER_TO_HTTP_HEADER">HRS: HTTP レスポンススプリッティング脆弱性 (HRS_REQUEST_PARAMETER_TO_HTTP_HEADER)</a></h3>
+
+
+<p>
+このコードは、HTTP ヘッダに HTTP パラメータを直接書き込んでいます。これは HRS(HTTP レスポンススプリッティング) 脆弱性を可能にします。<br>
+詳細は、<a href="http://en.wikipedia.org/wiki/HTTP_response_splitting">http://en.wikipedia.org/wiki/HTTP_response_splitting</a> を参照してください。
+</p>
+<p>
+FindBugs は、HRS の最も露骨で自明なケースだけを探します。
+FindBugs が何かを発見したならほぼ間違いなく FindBugs が報告しないより多くの脆弱性があるでしょう。
+HRS を心配するなら、商用の静的解析ツールかペネトレーションテストツールの使用を真剣に検討するべきです。
+</p>
+
+    
+<h3><a name="PT_ABSOLUTE_PATH_TRAVERSAL">PT: サーブレットの絶対パストラバーサル (PT_ABSOLUTE_PATH_TRAVERSAL)</a></h3>
+
+
+<p>
+ソフトウェアは、制限されたディレクトリ内にあるべきパス名を構築するためにHTTPリクエストのパラメータを使いますが、パラメータはそのディレクトリの外にある場所に解決できる「/abs/path」のような絶対パスシーケンスを適切に無効にしていません。
+詳細は、<a href="http://cwe.mitre.org/data/definitions/36.html">http://cwe.mitre.org/data/definitions/36.html</a> を参照してください。
+</p>
+<p>
+FindBugs は、相対パストラバーサルの最も露骨で自明なケースだけを探します。
+FindBugs が何かを発見したならほぼ間違いなく FindBugs が報告しないより多くの脆弱性があるでしょう。
+相対パストラバーサルを心配するなら、商用の静的解析ツールかペネトレーションテストツールの使用を真剣に検討するべきです。
+</p>
+
+    
+<h3><a name="PT_RELATIVE_PATH_TRAVERSAL">PT: サーブレットの相対パストラバーサル (PT_RELATIVE_PATH_TRAVERSAL)</a></h3>
+
+
+<p>
+ソフトウェアは、制限されたディレクトリ内にあるべきパス名を構築するためにHTTPリクエストのパラメータを使いますが、パラメータはそのディレクトリの外にある場所に解決できる「..」のようなシーケンスを適切に無効にしていません。
+詳細は、<a href="http://cwe.mitre.org/data/definitions/23.html">http://cwe.mitre.org/data/definitions/23.html</a> を参照してください。
+</p>
+<p>
+FindBugs は、相対パストラバーサルの最も露骨で自明なケースだけを探します。
+FindBugs が何かを発見したならほぼ間違いなく FindBugs が報告しないより多くの脆弱性があるでしょう。
+相対パストラバーサルを心配するなら、商用の静的解析ツールかペネトレーションテストツールの使用を真剣に検討するべきです。
+</p>
+
+    
+<h3><a name="SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE">SQL: SQL の Statement の  execute メソッドに定数でない文字列を渡している (SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE)</a></h3>
+
+
+<p>
+このメソッドは、動的に生成されるように思われる文字列で、 SQL の <code>Statement</code> の <code>execute</code> メソッドを呼び出しています。
+その代わりに <code>PreparedStatement</code> を使うことを検討してください。
+効率的で、SQL インジェクション攻撃に強いです。
+</p>
+
+    
+<h3><a name="SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING">SQL: PreparedStatement が定数でない文字列から生成されている (SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING)</a></h3>
+
+
+<p>
+このコードは、定数でない文字列から SQL の <code>PreparedStatement</code> を作成しています。
+ユーザからのチェックされていない汚染されたデータがこの文字列を作る際に使われるなら、PreparedStatement で予想外で望ましくない何かをするために SQL インジェクションが使われる可能性があります。
+</p>
+
+    
+<h3><a name="XSS_REQUEST_PARAMETER_TO_JSP_WRITER">XSS: 反射型クロスサイトスクリプティング脆弱性がある JSP (XSS_REQUEST_PARAMETER_TO_JSP_WRITER)</a></h3>
+
+
+<p>
+このコードは、JSP の出力に HTTP パラメータを直接書き込んでいます。これは XSS(クロスサイトスクリプティング) 脆弱性を可能にします。<br>
+詳細は、<a href="http://en.wikipedia.org/wiki/Cross-site_scripting">http://en.wikipedia.org/wiki/Cross-site_scripting</a> を参照してください。
+</p>
+<p>
+FindBugs は、XSS の最も露骨で自明なケースだけを探します。
+FindBugs が何かを発見したならほぼ間違いなく FindBugs が報告しないより多くの脆弱性があるでしょう。
+XSS に関して心配しているなら商用の静的解析ツールかペネトレーションテストツールの使用を真剣に検討するべきです。
+</p>
+
+    
+<h3><a name="XSS_REQUEST_PARAMETER_TO_SEND_ERROR">XSS: 反射型クロスサイトスクリプティング脆弱性がエラーページにあるサーブレット (XSS_REQUEST_PARAMETER_TO_SEND_ERROR)</a></h3>
+
+
+<p>
+このコードは、サーブレットのエラーページに <code>HttpServletResponse.sendError</code> を使用して HTTP パラメータを直接書き込んでいます。
+信頼できない入力を返すことは反射型 XSS(クロスサイトスクリプティング) 脆弱性を可能にします。<br>
+詳細は、<a href="http://en.wikipedia.org/wiki/Cross-site_scripting">http://en.wikipedia.org/wiki/Cross-site_scripting</a> を参照してください。
+</p>
+<p>
+FindBugs は、XSS の最も露骨で自明なケースだけを探します。
+FindBugs が何かを発見したならほぼ間違いなく FindBugs が報告しないより多くの脆弱性があるでしょう。
+XSS を心配するなら、商用の静的解析ツールかペネトレーションテストツールの使用を真剣に検討するべきです。
+</p>
+
+    
+<h3><a name="XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER">XSS: 反射型クロスサイトスクリプティング脆弱性があるサーブレット (XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER)</a></h3>
+
+
+<p>
+このコードは、サーブレットの出力に HTTP パラメータを直接書き込んでいます。これは反射型 XSS(クロスサイトスクリプティング) 脆弱性を可能にします。<br>
+詳細は、<a href="http://en.wikipedia.org/wiki/Cross-site_scripting">http://en.wikipedia.org/wiki/Cross-site_scripting</a> を参照してください。
+</p>
+<p>
+FindBugs は、XSS の最も露骨で自明なケースだけを探します。
+FindBugs が何かを発見したならほぼ間違いなく FindBugs が報告しないより多くの脆弱性があるでしょう。
+XSS を心配するなら、商用の静的解析ツールかペネトレーションテストツールの使用を真剣に検討するべきです。
+</p>
+
+    
+<h3><a name="BC_BAD_CAST_TO_ABSTRACT_COLLECTION">BC: 抽象コレクションへの疑わしいキャスト (BC_BAD_CAST_TO_ABSTRACT_COLLECTION)</a></h3>
+
+
+<p>
+このコードは、Collection を抽象コレクションにキャストしています (たとえば <code>List</code>、<code>Set</code>、<code>Map</code>)。
+オブジェクトがキャストする型であると保証されることを確認してください。
+必要とするコレクションの反復処理ができるなら Set または List にキャストする必要はありません。
+</p>
+
+    
+<h3><a name="BC_BAD_CAST_TO_CONCRETE_COLLECTION">BC: 具象コレクションへの疑わしいキャスト (BC_BAD_CAST_TO_CONCRETE_COLLECTION)</a></h3>
+
+
+<p>
+このコードは抽象コレクション (たとえば、Collection、List、Set) を特定の具象実装 (たとえば、ArrayList、HashSet) にキャストしています。
+これは正しくないかもしれません。そして、将来の時点で他の具象実装への切り替えをとても困難にするので、脆弱なコードになるかもしれません。
+そうするために特別な理由がないかぎり抽象コレクションクラスを使用してください。
+</p>
+
+    
+<h3><a name="BC_UNCONFIRMED_CAST">BC: 未チェック/未確認のキャスト (BC_UNCONFIRMED_CAST)</a></h3>
+
+
+<p>
+このキャストはチェックされていません。すべての型のインスタンスがキャストした型にキャストできるというわけではありません。
+プログラムのロジックがこのキャストが失敗しないことを確実に確認してください。  
+</p>
+
+    
+<h3><a name="BC_UNCONFIRMED_CAST_OF_RETURN_VALUE">BC: メソッドからの戻り値の未チェック/未確認のキャスト (BC_UNCONFIRMED_CAST_OF_RETURN_VALUE)</a></h3>
+
+
+<p>
+このコードは、メソッドの戻り値の未確認のキャストを実行しています。
+コードは、キャストが安全であることが保証されるようにメソッドを呼び出しているかもしれませんが、FindBugs はキャストが安全であることを検証できません。
+プログラムのロジックがこのキャストが失敗しないことを確実に確認してください。 
+</p>
+
+    
+<h3><a name="BC_VACUOUS_INSTANCEOF">BC: 常に true を返す instanceof (BC_VACUOUS_INSTANCEOF)</a></h3>
+
+
+<p>
+この instanceof は常に true を返します (テストしている値が null でないかぎり)。
+これは安全で、誤解や論理エラーを指摘していないことを確認してください。
+本当に null なのか値をテストしたいなら、多分、instanceof ではなく null テストをしたほうが良く、より明確になります。
+</p>
+
+    
+<h3><a name="ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT">BSHIFT: 符号なし右シフトを short/byte にキャストしている (ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT)</a></h3>
+
+
+<p>
+このコードは、符号なしキャストの実行結果を short または byte にキャストしています。結果の上位ビットは捨てられます。
+上位ビットが捨てられるので、符号付き、符号なし右シフトの (シフトのサイズによって) 違いがないかもしれません。
+</p>
+
+    
+<h3><a name="CI_CONFUSED_INHERITANCE">CI: final なクラスが protected フィールドを宣言している (CI_CONFUSED_INHERITANCE)</a></h3>
+
+
+<p>
+このクラスは、final と宣言されていますが、フィールドは protected と宣言されています。
+クラスは fainal なので派生できません。、protected の使用は紛らわしいです。 
+フィールドのためのアクセス修飾子は、フィールドの真の用途を表すため、 private か public に変更するべきです。
+</p>
+
+    
+<h3><a name="DB_DUPLICATE_BRANCHES">DB: 2つの分岐のために同じコードを使用しているメソッド (DB_DUPLICATE_BRANCHES)</a></h3>
+
+
+<p>
+このメソッドは、条件分岐の2つの分岐を実装するために同じコードを使用しています。これがコーディングミスではないことを確認してください。
+</p>
+
+    
+<h3><a name="DB_DUPLICATE_SWITCH_CLAUSES">DB: switch 文の2つの case のために同じコードを使用しているメソッド (DB_DUPLICATE_SWITCH_CLAUSES)</a></h3>
+
+
+<p>
+このメソッドは、switch 文の2つの case を実装するために同じコードを使用しています。
+複製コードの case かもしれないしコーディングミスかもしれません。
+</p>
+
+    
+<h3><a name="DLS_DEAD_LOCAL_STORE">DLS: ローカル変数への無効な代入 (DLS_DEAD_LOCAL_STORE)</a></h3>
+
+
+<p>
+この命令はローカル変数に値を代入していますが、値は読み出されないか以降の命令でも使われません。
+多くの場合、計算された値が決して使われないので、これは誤りを示します。
+</p>
+<p>
+Sun の javac コンパイラが final なローカル変数のためにしばしば無効な格納を生成することに注意してください。
+FindBugs は、バイトコードベースのツールなので誤検出をなくす簡単な方法がありません。 
+</p>
+
+    
+<h3><a name="DLS_DEAD_LOCAL_STORE_IN_RETURN">DLS: return 文に役に立たない代入がある (DLS_DEAD_LOCAL_STORE_IN_RETURN)</a></h3>
+
+
+<p>
+この文は、return 文でローカル変数に代入をしています。この代入は効果がありません。
+この文が正しいことを確かめてください。
+</p>
+
+    
+<h3><a name="DLS_DEAD_LOCAL_STORE_OF_NULL">DLS: ローカル変数への無効な null 代入 (DLS_DEAD_LOCAL_STORE_OF_NULL)</a></h3>
+
+
+<p>
+このコードはローカル変数に null を代入していますが代入された値は読み出されていません。
+この代入はガベージコレクタを手伝うために導入されたのかもしれませんが、Java SE 6 ではもはや必要とされないか有効ではありません。
+</p>
+
+    
+<h3><a name="DLS_DEAD_LOCAL_STORE_SHADOWS_FIELD">DLS: フィールドを遮るローカル変数への無効な代入 (DLS_DEAD_LOCAL_STORE_SHADOWS_FIELD)</a></h3>
+
+
+<p>
+この命令は、ローカル変数に値を代入していますが、値は読み出されないか以降の命令でも使われません。
+多くの場合、計算された値が決して使われないので、これは誤りを示します。
+フィールドがローカル変数と同じ名前です。そうではなく、フィールドに代入するつもりでしたか?
+</p>
+
+    
+<h3><a name="DMI_HARDCODED_ABSOLUTE_FILENAME">DMI: ハードコードされた絶対パス名への参照がある (DMI_HARDCODED_ABSOLUTE_FILENAME)</a></h3>
+
+
+<p>
+このコードは、ハードコードされた絶対パス名を使用して File オブジェクトを構築しています (たとえば <code>new File("/home/dannyc/workspace/j2ee/src/share/com/sun/enterprise/deployment");</code>)。
+</p>
+
+    
+<h3><a name="DMI_NONSERIALIZABLE_OBJECT_WRITTEN">DMI: ObjectOutput に書き込まれる非直列化可能オブジェクト (DMI_NONSERIALIZABLE_OBJECT_WRITTEN)</a></h3>
+
+
+<p>
+このコードは、<code>ObjectOutput.writeObject</code> に非直列化可能オブジェクトを渡していると思われます。
+このオブジェクトが本当に非直列化可能なら、エラーを招きます。
+</p>
+
+    
+<h3><a name="DMI_USELESS_SUBSTRING">DMI: substring(0) の呼び出しは元の値を返す (DMI_USELESS_SUBSTRING)</a></h3>
+
+
+<p>
+このコードは、文字列で <code>substring(0)</code> を呼び出していますが、元の値を返します。
+</p>
+
+    
+<h3><a name="DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED">Dm: Thread オブジェクトが Runnable が期待されているところに渡されている (DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED)</a></h3>
+
+
+<p>
+Threadオブジェクトが Runnable が期待されているメソッドへのパラメータとして渡されています。
+これはかなり異常で、論理エラーを示すか、予想外の振る舞いの原因になるかもしれません。
+</p>
+
+    
+<h3><a name="EQ_DOESNT_OVERRIDE_EQUALS">Eq: スーパークラスの equals メソッドをオーバーライドしていないクラス (EQ_DOESNT_OVERRIDE_EQUALS)</a></h3>
+
+
+<p>
+このクラスは、<code>equals</code> メソッドを定義しているクラスを拡張してフィールドを追加していますが、<code>equals</code> メソッドを定義していません。
+したがって、このクラスのインスタンスの等価性は、サブクラスと追加されたフィールドの同一性を無視します。
+これが意図したことで、しかも、<code>equals</code> メソッドをオーバーライドする必要がないことを確実にしてください。
+たとえ <code>equals</code> メソッドをオーバーライドする必要がないとしても、サブクラスのための <code>equals</code> メソッドが <code>super.equals(o)</code> を呼び出して結果を返すという事実を実証するために、いずれにしろ、<code>equals</code> メソッドをオーバーライドすることを検討してください。
+</p>
+
+    
+<h3><a name="EQ_UNUSUAL">Eq: 異常な equals メソッド  (EQ_UNUSUAL)</a></h3>
+
+
+<p>
+このクラスの <code>equals</code> メソッドは、引数の型が <code>this</code> オブジェクトの型と互換性があるこをチェックするために、我々が認識しているパターンで何もしていません。
+このコードは何も間違っていないかもしれませんが、レビューする価値があります。
+</p>
+
+    
+<h3><a name="FE_FLOATING_POINT_EQUALITY">FE: 浮動小数点の等価性のためのテスト (FE_FLOATING_POINT_EQUALITY)</a></h3>
+
+
+<p>
+この演算は、等価性のために2つの浮動小数点値を比較しています。
+浮動小数点の計算は丸めを伴うかもしれないので計算された float と double の値は正確ではないかもしれません。
+通貨のような正確でなければならない値のために、<code>BigDecimal</code> のような固定精度型を使うことを検討してください。
+正確である必要がない値のためにいくつかの範囲の中で等価性のために比較することを検討してください。
+たとえば、<code>if (Math.abs(x - y) &lt; .0000001)</code>。<br>
+詳細は Java 言語仕様4.2.4を参照してください。
+</p>
+
+    
+<h3><a name="VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN">FS: Boolean 型でない引数を %b 書式指示子を使用してフォーマットしている (VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN)</a></h3>
+
+
+<p>
+Boolean 型でない引数を %b 書式指示子でフォーマットしています。これは例外をスローしません。
+その代わりに、非  null 値では true 、null では false を出力します。
+書式文字列のこの機能は奇妙で意図したことではないかもしれません。
+</p>
+
+    
+<h3><a name="IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD">IA: 潜在的な継承されたメソッドなのか外部のメソッドなのかあいまいなメソッドの呼び出し (IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD)</a></h3>
+
+
+<p>
+内部クラスは、継承されたメソッドか外部クラスで定義されたメソッドなのかどちらとも解釈できるメソッドを呼び出しています。
+たとえば、<code>foo(17)</code> を呼び出します。それはスーパークラスと外部のメソッドの両方で定義されています。
+Java のセマンティックスでは、継承したメソッドを呼び出しますが、これは意図したことではないかもしれません。
+</p>
+<p>
+本当に継承されたメソッドを呼び出すつもりなら super を付けて (例:super.foo(17)) 呼び出してください。
+そうすれば、外部クラスのメソッドではなく継承されたメソッドを呼び出したいことがこのコードを読む人と FindBugs に明確になります。
+</p>
+<p>
+<code>this.foo(17)</code> を呼び出す場合は、継承されたメソッドが呼び出されます。
+しかしながら、FindBugs はクラスファイルを見るだけなので、<code>this.foo(17)</code> と <code>foo(17)</code> の呼び出しの違いを見分けることができません。
+潜在的なあいまいな呼び出しについて文句を言うでしょう。
+</p>
+
+    
+<h3><a name="IC_INIT_CIRCULARITY">IC: 初期化が循環している (IC_INIT_CIRCULARITY)</a></h3>
+
+
+<p>
+バグインスタンスによって参照される2つのクラスのスタティックイニシャライザで循環が検出されました。
+多くの種類の予想外の振る舞いは、そのような循環に起因するかもしれません。
+</p>
+
+    
+<h3><a name="ICAST_IDIV_CAST_TO_DOUBLE">ICAST: 整数の除算の結果を double または float にキャストしている (ICAST_IDIV_CAST_TO_DOUBLE)</a></h3>
+
+
+<p>
+このコードは 整数の除算の結果を double または float にキャストしています。
+整数で除算をすることは、ゼロに最も近い整数値まで結果を切り捨てます。
+結果が double にキャストされたという事実は、この精度が維持されるべきだったことを示唆しています。
+おそらく意味されたことは、除算を実行する前にオペランドの1つまたは両方を double にキャストすることでした。<br>
+以下に例を示します。 
+</p>
+<blockquote><pre>
+int x = 2;
+int y = 5;
+// Wrong: yields result 0.0
+double value1 =  x / y;
+
+// Right: yields result 0.4
+double value2 =  x / (double) y;
+</pre></blockquote>
+
+    
+<h3><a name="ICAST_INTEGER_MULTIPLY_CAST_TO_LONG">ICAST: 整数乗算の結果を long にキャストしている (ICAST_INTEGER_MULTIPLY_CAST_TO_LONG)</a></h3>
+
+
+<p>
+このコードは、以下のように整数の乗算を実行してから結果を long に変換しています。
+</p>
+<blockquote><pre>
+long convertDaysToMilliseconds(int days) { return 1000*3600*24*days; } 
+</pre></blockquote>
+<p>
+long を使用して乗算をすれば、結果がオーバーフローするという可能性を回避できます。<br>
+たとえば以下のように修正できます。
+</p>
+<blockquote><pre>
+long convertDaysToMilliseconds(int days) { return 1000L*3600*24*days; } 
+</pre></blockquote>
+<p>
+または
+</p>
+<blockquote><pre>
+static final long MILLISECONDS_PER_DAY = 24L*3600*1000;
+long convertDaysToMilliseconds(int days) { return days * MILLISECONDS_PER_DAY; } 
+</pre></blockquote>
+
+    
+<h3><a name="IM_AVERAGE_COMPUTATION_COULD_OVERFLOW">IM: 平均の計算はオーバーフローする可能性がある (IM_AVERAGE_COMPUTATION_COULD_OVERFLOW)</a></h3>
+
+
+<p>
+このコードは、除算か符号付き右シフトを使用して2つの整数の平均を計算して、結果を配列の添字として使用しています。
+平均値が非常に大きいならオーバーフローする可能性があります (結果として負の平均の計算になる)。
+結果が負でないことを意図していたなら、その代わりに符号なし右シフトを使用できます。
+つまり、<code>(low+high)/2</code> ではなく <code>(low+high) &gt;&gt;&gt; 1</code> を使用してください。
+</p>
+<p>
+このバグは、二分探索とマージソートの多くの以前の実装で存在します。
+Martin Buchholz が <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6412541">JDK ライブラリでバグを発見し、修正しています</a>。
+Joshua Bloch が <a href="http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html">バグパターンとして公表しました</a>。
+</p>
+
+    
+<h3><a name="IM_BAD_CHECK_FOR_ODD">IM: 負数で機能しない奇数チェック (IM_BAD_CHECK_FOR_ODD)</a></h3>
+
+
+<p>
+このコードは、<code>x % 2 == 1</code> を使用して値が負数なのか確かめていますが、負数 (たとえば、<code>(-5) % 2 == -1</code>) なので機能しません。
+奇数チェックを意図しているなら、<code>x &amp; 1 == 1</code> または <code>x % 2 != 0</code> を使うことを検討してください。
+</p>
+
+    
+<h3><a name="INT_BAD_REM_BY_1">INT: 1を法とする整数の剰余 (INT_BAD_REM_BY_1)</a></h3>
+
+
+<p>
+どんな式 <code>(exp % 1)</code> も常に0を返すことが保証されています。
+そうではなく、<code>(exp &amp; 1)</code> または <code>(exp &amp; 2)</code> を意味していましたか?
+</p>
+
+    
+<h3><a name="INT_VACUOUS_BIT_OPERATION">INT: 整数値の無意味なビットマスク演算 (INT_VACUOUS_BIT_OPERATION)</a></h3>
+
+
+<p>
+これはどんな有効な働きもしない整数ビット演算 (AND、OR、XOR) です (たとえば <code>v & 0xffffffff</code>)。
+</p>
+
+    
+<h3><a name="INT_VACUOUS_COMPARISON">INT: 整数値の無意味な比較 (INT_VACUOUS_COMPARISON)</a></h3>
+
+
+<p>
+常に同じ値を返す整数の比較があります (たとえば <code>x &lt;= Integer.MAX_VALUE</code>)。 
+</p>
+
+    
+<h3><a name="MTIA_SUSPECT_SERVLET_INSTANCE_FIELD">MTIA: Servlet クラスを拡張したクラスでのインスタンス変数の使用 (MTIA_SUSPECT_SERVLET_INSTANCE_FIELD)</a></h3>
+
+
+<p>
+Servletクラスを拡張したクラスで、インスタンス変数を使用しています。
+Servlet クラスの1つのインスタンスだけが Java EE フレームワークによって作成され、マルチスレッドによって使われるので、このパラダイムは極めて問題があり、推奨できません。
+ローカル変数を使うことだけを検討してください。
+</p>
+
+    
+<h3><a name="MTIA_SUSPECT_STRUTS_INSTANCE_FIELD">MTIA: Struts Action を拡張したクラスでのインスタンス変数の使用 (MTIA_SUSPECT_STRUTS_INSTANCE_FIELD)</a></h3>
+
+
+<p>
+Struts Action クラスを拡張したクラスで、インスタンス変数を使用しています。
+Struts Action クラスの1つのインスタンスだけが Struts フレームワークによって作成され、マルチスレッドによって使われるので、このパラダイムは極めて問題があり、推奨できません。
+ローカル変数を使うことだけを検討してください。
+モニタを除いて書き込まれるインスタンスフィールドだけが報告されます。
+</p>
+
+    
+<h3><a name="NP_DEREFERENCE_OF_READLINE_VALUE">NP: readLine メソッドの結果が null なのか確かめないで値を利用している (NP_DEREFERENCE_OF_READLINE_VALUE)</a></h3>
+
+
+<p>
+<code>readLine</code> メソッドの結果が null なのか確かめないで値を利用しています。
+<code>readLine</code> メソッドは、それ以上読み出すテキスト行がなければ null を返すので、NullPointerException が発生します。
+</p>
+
+    
+<h3><a name="NP_IMMEDIATE_DEREFERENCE_OF_READLINE">NP: readLine メソッドの結果をすぐに利用している (NP_IMMEDIATE_DEREFERENCE_OF_READLINE)</a></h3>
+
+
+<p>
+<code>readLine</code> メソッドの結果をすぐに利用しています。
+<code>readLine</code> メソッドは、それ以上読み出すテキスト行がなければ null を返すので、NullPointerException が発生します。
+</p>
+
+    
+<h3><a name="NP_LOAD_OF_KNOWN_NULL_VALUE">NP: null とわかっている値のロード (NP_LOAD_OF_KNOWN_NULL_VALUE)</a></h3>
+
+
+<p>
+ここで参照されている変数は、以前に null なのかチェックしているため  null であることがわかっています。
+これは有効かもしれないが、間違いかもしれません (多分異なる変数を参照することを意図してました、あるいは以前の null チェックで  null でないのか確かめるべきでした)。
+</p>
+
+    
+<h3><a name="NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION">NP: メソッドはパラメータに nullness アノテーションを強化している (NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION)</a></h3>
+
+
+<p>
+メソッドは、オーバーライドするメソッドの契約を常に実装するべきです。
+したがって、メソッドが @Nullable としてマークされるパラメーターを取るならば、サブクラスでパラメーターを @Nonnull にしてメソッドをオーバーライドするべきでありません。
+そうするとメソッドが null パラメータを処理すべき契約を破ります。
+</p>
+
+      
+<h3><a name="NP_METHOD_RETURN_RELAXING_ANNOTATION">NP: メソッドは戻り値の nullness アノテーションを緩和している (NP_METHOD_RETURN_RELAXING_ANNOTATION)</a></h3>
+
+
+<p>
+メソッドは、オーバーライドするメソッドの契約を常に実装するべきです。
+したがって、メソッドが @Nonnull 値を返すようにアノテートしているならば、サブクラスでメソッドが  @Nullable または @CheckForNull 値を返すようにアノテートしてメソッドをオーバーライドするべきでありません。
+そうするとメソッドが null を返すべできではない契約を破ります。
+</p>
+
+      
+<h3><a name="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE">NP: null になっている可能性があるメソッドの戻り値を利用している (NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE)</a></h3>
+
+
+<p>
+メソッドからの戻り値を null チェックしないで利用しています。メソッドの戻り値は null なのかチェックするべきです。
+コードが実行されると NullPointerException が発生するかもしれません。
+</p>
+
+    
+<h3><a name="NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE">NP: null 値を実行不可能かもしれない分岐で利用している可能性がある (NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE)</a></h3>
+
+
+<p>
+分岐または文が実行されるなら、null 値が利用されて NullPointerException が発生します。
+もちろん、問題は分岐または文が実行不可能で、NullPointerException が決して発生する可能性がないということかもしれません。
+それを決めるのは FindBugs の能力を超えています。
+この値がすでに null であることを検査したという事実からこれは明確な可能性です。
+</p>
+
+    
+<h3><a name="NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE">NP: パラメータは  非 null でなければならないが null 可能としてアノテートされている (NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE)</a></h3>
+
+
+<p>
+このパラメータは、常に 非 null にすることを要求する方法で使われていますが、パラメータには明示的に null 可能としてアノテートされています。
+パラメータかアノテーションのどちらかの使い方が間違っています。
+</p>
+
+    
+<h3><a name="NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD">NP: 書き込まれていない public または protected フィールドの読み出し (NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD)</a></h3>
+
+
+<p>
+プログラムは、決して null 値でない値を書き込むと思われない public または protected フィールドの null 値を利用しています。
+フィールドが解析によって見られない機構を通して初期化されないかぎり、この値を利用すると NullPointerException が発生します。
+</p>
+
+    
+<h3><a name="NS_DANGEROUS_NON_SHORT_CIRCUIT">NS: 潜在的な非短絡論理の危険な使用 (NS_DANGEROUS_NON_SHORT_CIRCUIT)</a></h3>
+
+
+<p>
+このコードは、短絡論理 (&amp;&amp; や ||) ではなく非短絡論理 (&amp; や |) を使用していると思われます。
+さらに、左辺値によって右辺を評価したくない (例外のスローや演算が高くつく副作用があるため) と思っているのかもしれません。
+非短絡論理は、左辺の結果がわかっていて推論できるときでも、両側の式が評価されます。
+これは効率が悪く、右辺の評価でエラーが発生するケースを左辺でガードしているなら、結果としてエラーになる可能性があります。
+</p>
+<p>
+詳細については、<a href="http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.22.2">the Java Language Specification</a> を参照してください。
+</p>
+
+    
+<h3><a name="NS_NON_SHORT_CIRCUIT">NS: 非短絡論理の疑わしい使用 (NS_NON_SHORT_CIRCUIT)</a></h3>
+
+
+<p>
+このコードは、短絡論理 (&amp;&amp; や ||) ではなく非短絡論理 (&amp; や |) を使用していると思われます。
+非短絡論理は、左辺の結果がわかっていて推論できるときでも、両側の式が評価されます。
+これは効率が悪く、右辺の評価でエラーが発生するケースを左辺でガードしているなら、結果としてエラーになる可能性があります。
+</p>
+<p>
+詳細については、<a href="http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.22.2">the Java Language Specification</a> を参照してください。
+</p>
+
+    
+<h3><a name="PZLA_PREFER_ZERO_LENGTH_ARRAYS">PZLA: null ではなく長さが0の配列を返すことを検討する (PZLA_PREFER_ZERO_LENGTH_ARRAYS)</a></h3>
+
+
+<p>
+結果がないこと  (すなわち、結果の空のリスト) を示すために null 参照ではなく長さが0の配列 を返すことは、多くの場合より良い設計です。
+</p>
+<p>
+他方では、「この質問に対する答えがない」ことを示すために、null を使うことはおそらく適切です。
+たとえば、<code>File.listFiles()</code> は、ファイルがないディレクトリを与えられた場合は空のリストを返し、ファイルがディレクトリでないなら null を返します。
+</p>
+
+    
+<h3><a name="QF_QUESTIONABLE_FOR_LOOP">QF: 複雑か巧妙か間違ったインクリメントの for ループ (QF_QUESTIONABLE_FOR_LOOP)</a></h3>
+
+
+<p>
+本当にこの for ループが正しい変数をインクリメントしていますか?
+別の変数が for ループによって初期化されてチェックされるように見えます。 
+</p>
+
+    
+<h3><a name="RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE">RCN: 非 null 値と null 値との冗長な比較 (RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE)</a></h3>
+
+
+<p>
+このメソッドにはnull でないことがわかっている参照と null とわかっている別の参照との比較があります。
+</p>
+
+    
+<h3><a name="RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES">RCN: 2つの null 値の冗長な比較 (RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES)</a></h3>
+
+
+<p>
+このメソッドには両方とも明らかに null とわかっている2つの参照の冗長な比較があります。
+</p>
+
+    
+<h3><a name="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE">RCN: null でないことがわかっている値の冗長な null チェック (RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE)</a></h3>
+
+
+<p>
+このメソッドには null でないことがわかっている値の冗長な null チェックがあります。
+</p>
+
+    
+<h3><a name="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE">RCN: null とわかっている値の冗長な null チェック (RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE)</a></h3>
+
+
+<p>
+このメソッドにはnull とわかっている値の冗長な null チェックがあります。
+</p>
+
+    
+<h3><a name="REC_CATCH_EXCEPTION">REC: 例外がスローされないのに例外をキャッチしている (REC_CATCH_EXCEPTION)</a></h3>
+
+
+<p>
+このメソッドは、例外オブジェクトをキャッチする try-catch ブロックを使用していますが、例外は try ブロックの中でスローされません。また、実行時例外は明示的にキャッチされません。
+それぞれの catch ブロックが同一である多くの例外型をキャッチすることの短縮形として <code>try { ... } catch (Exception e) { something }</code> を使用することが共通のバグパターンです。
+しかし、この構文は誤って実行時例外も同様にキャッチするので、潜在的なバグを隠します。
+</p>
+<p>
+より良いアプローチは、明示的にキャッチするよりもスローされる特定の例外をスローします。
+あるいは、以下に示すように明示的に RuntimeException をキャッチ、再スローして、非実行時例外をキャッチします。
+</p>
+<blockquote><pre>
+try {
+    ...
+} catch (RuntimeException e) {
+    throw e;
+} catch (Exception e) {
+    ... deal with all non-runtime exceptions ...
+}
+</pre></blockquote>
+
+    
+<h3><a name="RI_REDUNDANT_INTERFACES">RI: スーパークラスと同じインタフェースを実装しているクラス (RI_REDUNDANT_INTERFACES)</a></h3>
+
+
+<p>
+このクラスは、スーパークラスによっても実装されるインタフェースを実装することを宣言しています。
+スーパークラスがインタフェースを実装するので、これは冗長です。デフォルトですべてのサブクラスもこのインタフェースを実装します。
+このクラスが作成されてから継承階層が変わったことを指摘するかもしれません。インタフェースの実装の所有権を考慮するべきです。
+</p>
+    
+    
+<h3><a name="RV_CHECK_FOR_POSITIVE_INDEXOF">RV: String.indexOf の結果が正かどうか確かめている (RV_CHECK_FOR_POSITIVE_INDEXOF)</a></h3>
+
+
+<p>
+このメソッドは <code>String.indexOf</code> を呼び出して結果が正かどうか確かめています。
+結果が負かどうか確かめるほうがずっと典型的です。チェックされる部分文字列が先頭以外の場所で出現するときだけ正になります。
+</p>
+
+    
+<h3><a name="RV_DONT_JUST_NULL_CHECK_READLINE">RV: readLine メソッドの結果を null でないのか確かめた後で捨てている (RV_DONT_JUST_NULL_CHECK_READLINE)</a></h3>
+
+
+<p>
+<code>readLine</code> メソッドの戻り値を null でないのか確かめた後で捨てています。
+ほとんどすべての状況で、結果が null でないなら戻り値を使用したいでしょう。
+再び <code>readLine</code> メソッドを呼び出すと異なる行が得られます。
+</p>
+
+    
+<h3><a name="RV_REM_OF_HASHCODE">RV: ハッシュコードの剰余は負かもしれない (RV_REM_OF_HASHCODE)</a></h3>
+
+
+<p>
+このコードは、ハッシュコードを計算して別の値を法とする剰余を計算しています。
+ハッシュコードが負かもしれないので、剰余演算の結果も負かもしれません。
+</p>
+<p>
+計算結果が負ではないことを確認したいなら、コードを変更する必要があるかもしれません。
+除数が2の累乗であることがわかっているなら、代わりにビット演算を使用できます (すなわち、<code>x.hashCode()%n</code> の代わりに <code>x.hashCode()&amp;(n-1)</code> を使用してください)。
+これはおそらく、剰余を計算するより高速です。
+除数が2の累乗であるということをわかっていないなら、剰余演算の結果の絶対値を取得してください (すなわち <code>Math.abs(x.hashCode()%n)</code>)。
+</p>
+
+    
+<h3><a name="RV_REM_OF_RANDOM_INT">RV: 符号付き32ビット整数の乱数の剰余 (RV_REM_OF_RANDOM_INT)</a></h3>
+
+
+<p>
+このコードは符号付き整数の乱数を生成して別の値を法とする剰余を計算しています。
+乱数が負かもしれないので、剰余演算の結果も負かもしれません。これが意図したことであることを確実にしてください。
+その代わりに <code>Random.nextInt(int)</code> の使用を強く検討してください。
+</p>
+
+    
+<h3><a name="RV_RETURN_VALUE_IGNORED_INFERRED">RV: メソッドは戻り値を無視しています、これは間違いではないですか? (RV_RETURN_VALUE_IGNORED_INFERRED)</a></h3>
+
+
+<p>
+このコードは、メソッドを呼び出して、戻り値を無視しています。
+戻り値は、メソッドが呼び出される型と同じ型です。そして、我々の解析から戻り値が重要であるかもしれないように見えます (たとえば、<code>String.toLowerCase()</code> の戻り値を無視するような)。 
+</p>
+<p>
+我々は、戻り値を無視することがメソッド本体の単純な解析から悪い考えかもしれないと推測しています。
+このメソッドの戻り値を無視することが重要であるか許容できるかどうかに関して、FindBugs に指示する @CheckReturnValue アノテーションが使えます。
+</p>
+<p>
+戻り値を無視することが間違いではないか決めるために、厳密に調査してください。
+</p>
+
+    
+<h3><a name="SA_FIELD_DOUBLE_ASSIGNMENT">SA: フィールドの二重代入 (SA_FIELD_DOUBLE_ASSIGNMENT)</a></h3>
+
+
+<p>
+このメソッドにはフィールドの二重代入があります。<br>
+たとえば以下のようなコードです。
+</p>
+<blockquote><pre>
+int x,y;
+public void foo() {
+    x = x = 17;
+}
+</pre></blockquote>
+<p>
+フィールドに2回代入することは役に立たないので、論理エラーかタイプミスかもしれません。
+</p>
+
+    
+<h3><a name="SA_LOCAL_DOUBLE_ASSIGNMENT">SA: ローカル変数の二重代入 (SA_LOCAL_DOUBLE_ASSIGNMENT)</a></h3>
+
+
+<p>
+このメソッドにはローカル変数の二重代入があります。<br>
+たとえば以下のようなコードです。
+</p>
+<blockquote><pre>
+public void foo() {
+    int x,y;
+    x = x = 17;
+}
+</pre></blockquote>
+<p>
+変数に同じ値を2回代入することは役に立たないので、論理エラーかタイプミスかもしれません。
+</p>
+
+    
+<h3><a name="SA_LOCAL_SELF_ASSIGNMENT">SA: ローカル変数の自己代入 (SA_LOCAL_SELF_ASSIGNMENT)</a></h3>
+
+
+<p>
+このメソッドにはローカル変数の自己代入があります。<br>
+たとえば以下のようなコードです。
+</p>
+<blockquote><pre>
+public void foo() {
+    int x = 3;
+    x = x;
+}
+</pre></blockquote>
+<p>
+そのような代入は役に立たないので、論理エラーかタイプミスかもしれません。
+</p>
+
+    
+<h3><a name="SF_SWITCH_FALLTHROUGH">SF: 1つの case が次の case へと通り抜ける switch 文を発見した (SF_SWITCH_FALLTHROUGH)</a></h3>
+
+
+<p>
+このメソッドには1つの case が次の case へと通り抜ける switch 文があります。
+通常、break か return でこの case を終わらせる必要があります。
+</p>
+
+    
+<h3><a name="SF_SWITCH_NO_DEFAULT">SF: default がない switch 文を発見した (SF_SWITCH_NO_DEFAULT)</a></h3>
+
+
+<p>
+このメソッドにはdefault がない switch 文があります。
+通常、default を用意する必要があります。
+</p>
+<p>
+解析は生成されたバイトコードを見るだけなので、default が  switch 文の終わりにあって、break 文で終わらないならば、誤警告のトリガーとなります。
+</p>
+
+    
+<h3><a name="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD">ST: インスタンスメソッドから static フィールドへの書き込み (ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD)</a></h3>
+
+
+<p>
+このインスタンスメソッドは、static フィールドに書き込みをしています。
+複数のインスタンスが操作されているなら、正しくさせるのは難しいです。一般的に間違ったプラクティスです。
+</p>
+
+    
+<h3><a name="SE_PRIVATE_READ_RESOLVE_NOT_INHERITED">Se: サブクラスで継承できない private な readResolve メソッド (SE_PRIVATE_READ_RESOLVE_NOT_INHERITED)</a></h3>
+
+
+<p>
+このクラスは、private な <code>readResolve</code> メソッドを定義しています。
+そのため、このメソッドはサブクラスで継承できません。
+これが意図したことなら間違っていないかもしれませんが確認するためにレビューするべきです。
+</p>
+
+    
+<h3><a name="SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS">Se: Serializable でないクラスの transient フィールド (SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS)</a></h3>
+
+
+<p>
+フィールドは、transient と宣言していますが、クラスは直列化可能ではないので、まったく効果がありません。
+クラスが transient だったときの名残かもしれません、あるいは直列化機構を誤解しているのかもしれません。 
+</p>
+
+    
+<h3><a name="TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK">TQ: 値は型修飾子を必要としているが、不明としてマークされている (TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK)</a></h3>
+
+
+<p>
+値は、常に型修飾子によって示された値であることを必要とする方法で使われています。
+しかし、値はどこでその型修飾子が必要なのかわからないと述べている明示的なアノテーションがあります。
+使い方かアノテーションのどちらかが間違っています。
+</p>
+
+    
+<h3><a name="TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK">TQ: 値は型修飾子を必要としないが、不明としてマークされている (TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK)</a></h3>
+
+
+<p>
+値は、型修飾子によって示された値でないことを必要とする方法で使われています。
+しかし、値はどこでその型修飾子がいるのか禁止されていのるかわからないと述べている明示的なアノテーションがあります。
+使い方かアノテーションのどちらかが間違っています。
+</p>
+
+    
+<h3><a name="UCF_USELESS_CONTROL_FLOW">UCF: 役に立たない制御フロー (UCF_USELESS_CONTROL_FLOW)</a></h3>
+
+
+<p>
+このメソッドには分岐するのかどうかに関係なく、制御フローが同じ場所へと続く、役に立たない制御フロー文があります。<br>
+たとえば、これは 空の <code>if</code> 文が原因になります。
+</p>
+<blockquote><pre>
+if (argv.length == 0) {
+    // TODO: handle this case
+}
+</pre></blockquote>
+
+    
+<h3><a name="UCF_USELESS_CONTROL_FLOW_NEXT_LINE">UCF: 次の行へ続くだけの役に立たない制御フロー (UCF_USELESS_CONTROL_FLOW_NEXT_LINE)</a></h3>
+
+
+<p>
+このメソッドには分岐するのかどうかに関係なく、制御フローが同じか次の行へと続く、役に立たない制御フロー文があります。<br>
+多くの場合、不注意に <code>if</code> 文の本体を空文を使用したことが原因になります。
+</p>
+<blockquote><pre>
+if (argv.length == 1);
+    System.out.println("Hello, " + argv[0]);
+</pre></blockquote>
+
+    
+<h3><a name="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD">UrF: 読み出されない public または protected フィールド (URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD)</a></h3>
+
+
+<p>
+このフィールドは決して読み出されません。 
+フィールドは、public か protected なので、多分、それは解析の一部として見えないクラスで使用されることを意図しています。
+そうでなければ、クラスから除去することを検討してください。
+</p>
+
+    
+<h3><a name="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD">UuF: 未使用の public または protected フィールド (UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD)</a></h3>
+
+
+<p>
+このフィールドは決して使用されません。
+フィールドは、public か protected なので、多分、それは解析の一部として見えないクラスで使用されることを意図しています。
+そうでなければ、クラスから除去することを検討してください。
+</p>
+
+    
+<h3><a name="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR">UwF: コンストラクタで初期化されていないフィールドを null チェックなしで null 値を利用している (UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR)</a></h3>
+
+
+<p>
+このフィールドは、どんなコンストラクタの中でも決して初期化されません。したがって、オブジェクトが構築された後、null である可能性があります。
+どこかほかで、値がロードされて、null チェックなしで null 値が利用されます。
+フィールドが初期化される前に利用されると NullPointerException が発生するので、誤りか疑わしい設計かもしれません。
+</p>
+
+    
+<h3><a name="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD">UwF: 書き込まてれいない public または protected フィールド (UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD)</a></h3>
+
+
+<p>
+この public または protected フィールドは書き込まれていません。このフィールドからの読み出しはデフォルト値を返します。
+誤りをチェックしてください (フィールドは初期化するべきでしたか?)。使わないなら除去してください。
+</p>
+
+    
+<h3><a name="XFB_XML_FACTORY_BYPASS">XFB: XMLインタフェースの特定の実装のインスタンスを作成しているメソッド (XFB_XML_FACTORY_BYPASS)</a></h3>
+
+
+<p>
+このメソッドは、XMLインタフェースの特定の実装のインスタンスを作成しています。
+実装が実行時に変更できるように、これらのオブジェクトを作成するために提供されたファクトリクラスを使うことが望ましいです。<br>
+詳細は、以下を参照してください。
+</p>
+<ul>
+  <li>javax.xml.parsers.DocumentBuilderFactory</li>
+  <li>javax.xml.parsers.SAXParserFactory</li>
+  <li>javax.xml.transform.TransformerFactory</li>
+  <li>org.w3c.dom.Document.create<i>XXXX</i></li>
+</ul>
+
+    
+
+
+<hr> <p> 
+<script language="JavaScript" type="text/javascript"> 
+<!---//hide script from old browsers 
+document.write( "Last updated "+ document.lastModified + "." ); 
+//end hiding contents ---> 
+</script> 
+<p> Send comments to <a class="sidebar" href="mailto:findbugs@cs.umd.edu">findbugs@cs.umd.edu</a> 
+<p> 
+<A href="http://sourceforge.net"><IMG src="http://sourceforge.net/sflogo.php?group_id=96405&amp;type=5" width="210" height="62" border="0" alt="SourceForge.net Logo" /></A>
+</td></tr></table>
+</body></html>
diff --git a/doc/contributing.html b/doc/contributing.html
index a22b3ab..e2165ce 100644
--- a/doc/contributing.html
+++ b/doc/contributing.html
@@ -16,18 +16,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -40,15 +42,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
@@ -61,33 +63,28 @@
 
 <h2>Import FindBugs code as Eclipse projects</h2>
 
-<p>The preferred way to get the FindBugs source code and create the patch is to use Eclipse + SVN.
+<p>The preferred way to get the FindBugs source code and create the patch is to use Eclipse + Git.
 You can easily import FindBugs code into Eclipse by following the steps described
-here: <a href="http://code.google.com/p/findbugs/source/browse/trunk/eclipsePlugin/doc/building_findbugsplugin.txt">Import Eclipse projects</a>
-. 
+here: <a href="https://code.google.com/p/findbugs/source/browse/eclipsePlugin/doc/building_findbugsplugin.txt">Import Eclipse projects</a>
+.
 </p>
 
 <h2>Preparing a patch</h2>
 
-<p> The best way to
-send an enhancement is to create a patch against the latest code
-in the FindBugs Subversion repository 
-at <a href="http://findbugs.googlecode.com/svn/trunk/">http://findbugs.googlecode.com/svn/trunk/</a>
-(those people who have been given commit priviledges should use 
-<a href="https://findbugs.googlecode.com/svn/trunk/">http<b>s</b>://findbugs.googlecode.com/svn/trunk/</a>).
-</p>
-
-<p>To create a patch from Eclipse, please right click the [findbugs] or [findBugsEclipsePlugin] project
-and choose [Team | Create Patch...] context menu.
+<p> The best way to create a patch is to clone FindBugs Git repository here:
+ <a href="http://code.google.com/p/findbugs/source/clones">http://code.google.com/p/findbugs/source/clones</a>,
+ commit changes with descriptive commit messages (small commits are better) and
+ create a new <a href="https://sourceforge.net/p/findbugs/patches/">patch ticket</a>
+ with the link to your repository.
 </p>
 
 <p> Please follow these guidelines when preparing your patch:</p>
 <ul>
 <li> <b>Use the same indentation style as the source file(s) you
-     are modifying</b>.&nbsp; In particular, please use tabs (not spaces)
-     to indent your code; one tab per indent level.
+     are modifying</b>. In particular, please use spaces
+     to indent your code; four spaces per indent level.
 <li> If at all possible, avoid making whitespace modifications.
-<li> Small patches are appreciated.
+<li> Small patches/changesets are appreciated.
 <li> If you are submitting a new bug detector, please submit a small
      standalone source file that contains an instance of the
      kind of bug the detector looks for.
@@ -99,7 +96,7 @@
 <h2>How to submit a patch</h2>
 
 <p> Patches may be submitted through the
-<a href="http://sourceforge.net/tracker/?atid=614695&group_id=96405&func=browse">Patches</a> tracker on the
+<a href="https://sourceforge.net/p/findbugs/patches/">Patches</a> tracker on the
 <a href="http://sourceforge.net/projects/findbugs/">sourceforge project page</a>.
 
 
diff --git a/doc/demo.html b/doc/demo.html
index 83ce7a3..0cdf1de 100644
--- a/doc/demo.html
+++ b/doc/demo.html
@@ -17,18 +17,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -41,15 +43,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/downloads.html b/doc/downloads.html
index 28bd639..6b93caa 100644
--- a/doc/downloads.html
+++ b/doc/downloads.html
@@ -16,18 +16,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -40,15 +42,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
@@ -57,8 +59,8 @@
 <h1>FindBugs downloads</h1>
 
 <p> This page contains links to downloads
-of FindBugs version 2.0.3,
-released on 17:16:15 EST, 22 November, 2013. Download links
+of FindBugs version 3.0.0,
+released on 20:25:27 CDT, 06 July, 2014. Download links
 for all FindBugs versions and files
 are <a href="http://sourceforge.net/project/showfiles.php?group_id=96405">available
 on the sourceforge download page</a>.
@@ -67,9 +69,9 @@
   <li>
     FindBugs tool (standard version with command line, ant, and Swing interfaces)
     <ul>
-      <li><a href="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download">findbugs-2.0.3.tar.gz</a></li>
-      <li><a href="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.zip?download">findbugs-2.0.3.zip</a></li>
-      <li><a href="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3-source.zip?download">findbugs-2.0.3-source.zip</a></li>
+      <li><a href="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.tar.gz?download">findbugs-3.0.0.tar.gz</a></li>
+      <li><a href="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.zip?download">findbugs-3.0.0.zip</a></li>
+      <li><a href="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0-source.zip?download">findbugs-3.0.0-source.zip</a></li>
     </ul>
   </li>
   <li>
@@ -79,15 +81,14 @@
     Such configurations are appropriate in situations where it is important that no information about the use of FindBugs
     be disclosed outside of the organization where it is used.
     <ul>
-      <li><a href="http://prdownloads.sourceforge.net/findbugs/findbugs-noUpdateChecks-2.0.3.tar.gz?download">findbugs-2.0.3.tar.gz</a></li>
-      <li><a href="http://prdownloads.sourceforge.net/findbugs/findbugs-noUpdateChecks-2.0.3.zip?download">findbugs-2.0.3.zip</a></li>
+      <li><a href="http://prdownloads.sourceforge.net/findbugs/findbugs-noUpdateChecks-3.0.0.tar.gz?download">findbugs-3.0.0.tar.gz</a></li>
+      <li><a href="http://prdownloads.sourceforge.net/findbugs/findbugs-noUpdateChecks-3.0.0.zip?download">findbugs-3.0.0.zip</a></li>
     </ul>
   </li>
-  <li>Eclipse plugin for FindBugs version 2.0.3.20131122 (requires Eclipse 3.6 or later)
+  <li>Eclipse plugin for FindBugs version 3.0.0.20140706 (requires Eclipse 3.6 or later)
     <ul>
-<li><a href="http://sourceforge.net/projects/findbugs/files/findbugs%20eclipse%20plugin/2.0.3/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122-15020.zip/download">edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122-15020.zip</a>
-<li><a href="http://sourceforge.net/projects/findbugs/files/findbugs%20eclipse%20plugin/2.0.3/eclipsePlugin-2.0.3.20131122-15020-source.zip/download">
-eclipsePlugin-2.0.3.20131122-15020-source.zip/download</a>
+<li><a href="http://sourceforge.net/projects/findbugs/files/findbugs%20eclipse%20plugin/3.0.0/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706-2cfb468.zip/download">edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706-2cfb468.zip</a>
+<li><a href="http://sourceforge.net/projects/findbugs/files/findbugs%20eclipse%20plugin/3.0.0/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706-2cfb468-source.zip/download">edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706-2cfb468-source.zip</a>
     </ul>
   </li>
 </ul>
diff --git a/doc/factSheet.html b/doc/factSheet.html
index 029cd18..90cb710 100644
--- a/doc/factSheet.html
+++ b/doc/factSheet.html
@@ -16,18 +16,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -40,15 +42,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/findbugs2.html b/doc/findbugs2.html
index fc4066d..d17bcd6 100644
--- a/doc/findbugs2.html
+++ b/doc/findbugs2.html
@@ -18,18 +18,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -42,15 +44,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/index.html b/doc/index.html
index 111f6ef..fcbb87b 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -18,18 +18,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -42,15 +44,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
@@ -77,24 +79,19 @@
                     a million times.
                 </p>
 
-                <p>The current version of FindBugs is 2.0.3.</p>
+                <p>The current version of FindBugs is 3.0.0.</p>
 
                 <p>
-                    FindBugs requires JRE (or JDK) 1.5.0 or later to run.&nbsp; However, it can analyze programs
-                    compiled for any version of Java, from 1.0 to 1.7. Some classfiles compiled for Java 1.8 give 
-                    FindBugs problems, the next major release of FindBugs will handle Java 1.8 classfiles.
+                    FindBugs requires JRE (or JDK) 1.7.0 or later to run.&nbsp; However, it can analyze programs
+                    compiled for any version of Java, from 1.0 to 1.8. 
                     
-                <p> The current version of FindBugs is 2.0.3,
+                <p> The current version of FindBugs is 3.0.0,
 
-                    released on 17:16:15 EST, 22 November, 2013. <a href="reportingBugs.html">We are very interested in getting
+                    released on 20:25:27 CDT, 06 July, 2014. <a href="reportingBugs.html">We are very interested in getting
                         feedback on how to improve FindBugs</a>. File bug reports on <a
                         href="http://sourceforge.net/tracker/?func=browse&amp;group_id=96405&amp;atid=614693"> our
                         sourceforge bug tracker</a>
                 </p>
-                <p>The current version of FindBugs may encounter errors when analyzing 
-                Java 1.8 bytecode, due to changes in the classfile format. After FindBugs 2.0.3
-                is released, work will start on the next major release of FindBugs, which will
-                be able to analyze Java 1.8 (and will require Java 1.7 to compile and run).
                 
 
                 <p>
@@ -102,6 +99,61 @@
                         href="#sponsors">Sponsors</a> | <a href="#support">Support</a>
                 </p>
 
+		<h1>FindBugs 3.0.0 Release</h1>
+
+                <ul>
+                    <li>FindBugs supports Java 8 now (both as runtime and target platform).
+                    <li>FindBugs requires minimum Java 7 as runtime environment!
+                    <li>FindBugs uses ASM 5 now which means that some 3rd party detectors based on FindBugs 2.x/ASM 3 has to be upgraded.
+                    See details in <a href="http://download.forge.objectweb.org/asm/asm4-guide.pdf#chapter.5">ASM documentation</a>.
+                    <li>New Bug patterns:
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_OPTIONAL_RETURN_NULL">NP_OPTIONAL_RETURN_NULL</a>,
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#IIO_INEFFICIENT_INDEX_OF">IIO_INEFFICIENT_INDEX_OF</a>,
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#IIO_INEFFICIENT_LAST_INDEX_OF">IIO_INEFFICIENT_LAST_INDEX_OF</a>
+                        <a
+                        href="http://findbugs.sourceforge.net/bugDescriptions.html#CNT_ROUGH_CONSTANT_VALUE">CNT_ROUGH_CONSTANT_VALUE</a>
+                    </li>
+                    <li>New "Source" filter which can be used to filter out classes generated from other languages:
+                        <pre>
+                            &lt;?xml version="1.0" encoding="UTF-8"?&gt;
+                            &lt;FindBugsFilter&gt;
+                            &lt;Match&gt;
+                                &lt;Source name="~.*\.groovy" /&gt;
+                            &lt;/Match&gt;
+                            &lt;/FindBugsFilter&gt;
+                        </pre>
+                    </li>
+                    <li>New "-auxclasspathFromFile" and "-analyzeFromFile" command line options.
+                    </li>
+                    <li>New "nested" ant task attribute.
+                    </li>
+
+
+               <!--
+                    <li>Fixed false positives for the following bug patterns (XXX occurrences in findbugsTestCases):
+                        <ul>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#XXX">XXX</a>
+                        </ul>
+                    </li>
+
+                    <li>Fixed false negatives for the following bug patterns (XXX occurrences in findbugsTestCases):
+                        <ul>
+                            <li><a
+                                href="http://findbugs.sourceforge.net/bugDescriptions.html#XXX">XXX</a>
+                        </ul>
+                    </li>
+               -->
+
+                    <li>Various bug fixes, also many patches from community. Thanks for your contributions!
+                    </li>
+                </ul>
+
+
+
                 <h1>FindBugs 2.0.3 Release</h1>
                 <p>FindBugs 2.0.3 is intended to be a minor bug fix release over
                 FindBugs 2.0.2. Although than some improvements to existing bug detectors
diff --git a/doc/ja/manual/acknowledgments.html b/doc/ja/manual/acknowledgments.html
index 744ee58..0c84731 100644
--- a/doc/ja/manual/acknowledgments.html
+++ b/doc/ja/manual/acknowledgments.html
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>&#31532;14&#31456; &#35613;&#36766;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="license.html" title="&#31532;13&#31456; &#12521;&#12452;&#12475;&#12531;&#12473;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;14&#31456; &#35613;&#36766;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="chapter" title="&#31532;14&#31456; &#35613;&#36766;"><div class="titlepage"><div><div><h2 class="title"><a name="acknowledgments"></a>&#31532;14&#31456; &#35613;&#36766;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="acknowledgments.html#d0e3438">1. &#36002;&#29486;&#32773;</a></span></dt><dt><span class="sect1"><a href="acknowledgments.html#d0e3561">2. &#20351;&#29992;&#12375;&#12390;&#12356;&#12427;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;</a></span></dt></dl></div><div class="sect1" title="1. &#36002;&#29486;&#32773;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3438"></a>1. &#36002;&#29486;&#32773;</h2></div></div></div><p><span class="application">FindBugs</span> was originally written by Bill Pugh (<code class="email">&lt;<a class="email" href="mailto:pugh@cs.umd.edu">pugh@cs.umd.edu</a>&gt;</code>).
+   <title>&#31532;14&#31456; &#35613;&#36766;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="license.html" title="&#31532;13&#31456; &#12521;&#12452;&#12475;&#12531;&#12473;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;14&#31456; &#35613;&#36766;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="chapter" title="&#31532;14&#31456; &#35613;&#36766;"><div class="titlepage"><div><div><h2 class="title"><a name="acknowledgments"></a>&#31532;14&#31456; &#35613;&#36766;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="acknowledgments.html#d0e3686">1. &#36002;&#29486;&#32773;</a></span></dt><dt><span class="sect1"><a href="acknowledgments.html#d0e3809">2. &#20351;&#29992;&#12375;&#12390;&#12356;&#12427;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;</a></span></dt></dl></div><div class="sect1" title="1. &#36002;&#29486;&#32773;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3686"></a>1. &#36002;&#29486;&#32773;</h2></div></div></div><p><span class="application">FindBugs</span> was originally written by Bill Pugh (<code class="email">&lt;<a class="email" href="mailto:pugh@cs.umd.edu">pugh@cs.umd.edu</a>&gt;</code>).
 David Hovemeyer (<code class="email">&lt;<a class="email" href="mailto:daveho@cs.umd.edu">daveho@cs.umd.edu</a>&gt;</code>) implemented some of the
 detectors, added the Swing GUI, and is a co-maintainer.</p><p>Mike Fagan (<code class="email">&lt;<a class="email" href="mailto:mfagan@tde.com">mfagan@tde.com</a>&gt;</code>) contributed the <span class="application">Ant</span> build script,
 the <span class="application">Ant</span> task, and several enhancements and bug fixes to the GUI.</p><p>Germano Leichsenring contributed Japanese translations of the bug
@@ -13,8 +13,8 @@
 to display the bug details.</p><p>Dave Brosius fixed a number of bugs, added user preferences
 to the Swing GUI, improved several bug detectors, and
 contributed the string concatenation detector.</p><p>Thomas Klaeger contributed a number of bug fixes and
-bug detector improvements.</p><p>Andrei Loskutov made a number of improvements to the
-Eclipse plugin.</p><p>Brian Goetz contributed a major refactoring of the
+bug detector improvements.</p><p>Andrey Loskutov made a number of bug fixes and
+bug detector improvements. He is maintainer of the Eclipse plugin.</p><p>Brian Goetz contributed a major refactoring of the
 visitor classes to improve readability and understandability.</p><p> Pete Angstadt fixed several problems in the Swing GUI.</p><p>Francis Lalonde provided a task resource file for the
 FindBugs Ant task.</p><p>Garvin LeClaire contributed support for output in
 Xdocs format, for use by Maven.</p><p>Holger Stenzhorn contributed improved German translations of items
@@ -49,10 +49,10 @@
 and fixed a bug related to renaming the Eclipse plugin ID.</p><p>Mark McKay contributed an Ant task to launch the findbugs frame.</p><p>Dieter von Holten (dvholten) contributed
 some German improvements to findbugs_de.properties.</p><p>If you have contributed to <span class="application">FindBugs</span>, but aren't mentioned above,
 please send email to <code class="email">&lt;<a class="email" href="mailto:findbugs@cs.umd.edu">findbugs@cs.umd.edu</a>&gt;</code> (and also accept
-our humble apologies).</p></div><div class="sect1" title="2. &#20351;&#29992;&#12375;&#12390;&#12356;&#12427;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3561"></a>2. &#20351;&#29992;&#12375;&#12390;&#12356;&#12427;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;</h2></div></div></div><p><span class="application">FindBugs</span> &#12399;&#12289;&#12356;&#12367;&#12388;&#12363;&#12398;&#12458;&#12540;&#12503;&#12531;&#12477;&#12540;&#12473;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;&#12497;&#12483;&#12465;&#12540;&#12472;&#12434;&#20351;&#29992;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12371;&#12428;&#12425;&#12364;&#12394;&#12369;&#12428;&#12400;&#12289; <span class="application">FindBugs</span> &#12398;&#38283;&#30330;&#12399;&#12289;&#12424;&#12426;&#19968;&#23652;&#22256;&#38627;&#12394;&#12418;&#12398;&#12395;&#12394;&#12387;&#12383;&#12371;&#12392;&#12391;&#12375;&#12423;&#12358;&#12290;</p><div class="sect2" title="2.1. BCEL"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3571"></a>2.1. BCEL</h3></div></div></div><p><span class="application">FindBugs</span> includes software developed by the Apache Software Foundation
+our humble apologies).</p></div><div class="sect1" title="2. &#20351;&#29992;&#12375;&#12390;&#12356;&#12427;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3809"></a>2. &#20351;&#29992;&#12375;&#12390;&#12356;&#12427;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;</h2></div></div></div><p><span class="application">FindBugs</span> &#12399;&#12289;&#12356;&#12367;&#12388;&#12363;&#12398;&#12458;&#12540;&#12503;&#12531;&#12477;&#12540;&#12473;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;&#12497;&#12483;&#12465;&#12540;&#12472;&#12434;&#20351;&#29992;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12371;&#12428;&#12425;&#12364;&#12394;&#12369;&#12428;&#12400;&#12289; <span class="application">FindBugs</span> &#12398;&#38283;&#30330;&#12399;&#12289;&#12424;&#12426;&#19968;&#23652;&#22256;&#38627;&#12394;&#12418;&#12398;&#12395;&#12394;&#12387;&#12383;&#12371;&#12392;&#12391;&#12375;&#12423;&#12358;&#12290;</p><div class="sect2" title="2.1. BCEL"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3819"></a>2.1. BCEL</h3></div></div></div><p><span class="application">FindBugs</span> includes software developed by the Apache Software Foundation
 (<a class="ulink" href="http://www.apache.org/" target="_top">http://www.apache.org/</a>).
 Specifically, it uses the <a class="ulink" href="http://jakarta.apache.org/bcel/" target="_top">Byte Code
-Engineering Library</a>.</p></div><div class="sect2" title="2.2. ASM"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3584"></a>2.2. ASM</h3></div></div></div><p><span class="application">FindBugs</span> uses the <a class="ulink" href="http://asm.objectweb.org/" target="_top">ASM</a>
+Engineering Library</a>.</p></div><div class="sect2" title="2.2. ASM"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3832"></a>2.2. ASM</h3></div></div></div><p><span class="application">FindBugs</span> uses the <a class="ulink" href="http://asm.objectweb.org/" target="_top">ASM</a>
 bytecode framework, which is distributed under the following license:</p><div class="blockquote"><blockquote class="blockquote"><p>
 Copyright (c) 2000-2005 INRIA, France Telecom
 All rights reserved.
@@ -83,7 +83,7 @@
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 THE POSSIBILITY OF SUCH DAMAGE.
-</p></blockquote></div></div><div class="sect2" title="2.3. DOM4J"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3611"></a>2.3. DOM4J</h3></div></div></div><p><span class="application">FindBugs</span> uses <a class="ulink" href="http://dom4j.org" target="_top">DOM4J</a>, which is
+</p></blockquote></div></div><div class="sect2" title="2.3. DOM4J"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3859"></a>2.3. DOM4J</h3></div></div></div><p><span class="application">FindBugs</span> uses <a class="ulink" href="http://dom4j.org" target="_top">DOM4J</a>, which is
 distributed under the following license:</p><div class="blockquote"><blockquote class="blockquote"><p>
 Copyright 2001 (C) MetaStuff, Ltd. All Rights Reserved.
 </p><p>
diff --git a/doc/ja/manual/annotations.html b/doc/ja/manual/annotations.html
index 9a44cc6..c1699ae 100644
--- a/doc/ja/manual/annotations.html
+++ b/doc/ja/manual/annotations.html
@@ -1,55 +1,64 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>&#31532;10&#31456; &#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="analysisprops.html" title="&#31532;9&#31456; &#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;"><link rel="next" href="rejarForAnalysis.html" title="&#31532;11&#31456; rejarForAnalysis &#12398;&#20351;&#29992;&#26041;&#27861;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;10&#31456; &#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="analysisprops.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="rejarForAnalysis.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;10&#31456; &#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h2 class="title"><a name="annotations"></a>&#31532;10&#31456; &#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;</h2></div></div></div><p><span class="application">FindBugs</span> &#12399;&#12356;&#12367;&#12388;&#12363;&#12398;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12469;&#12509;&#12540;&#12488;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#38283;&#30330;&#32773;&#12398;&#24847;&#22259;&#12434;&#26126;&#30906;&#12395;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289; FindBugs &#12399;&#12424;&#12426;&#30340;&#30906;&#12395;&#35686;&#21578;&#12434;&#30330;&#34892;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#20351;&#29992;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399; Java 5 &#12364;&#24517;&#35201;&#12391;&#12354;&#12426;&#12289; annotations.jar &#12362;&#12424;&#12403; jsr305.jar &#12501;&#12449;&#12452;&#12523;&#12434;&#12467;&#12531;&#12497;&#12452;&#12523;&#26178;&#12398;&#12463;&#12521;&#12473;&#12497;&#12473;&#12395;&#21547;&#12417;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckForNull</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
-    <p>&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#35201;&#32032;&#12399;&#12289; null &#12391;&#12354;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;&#24403;&#35442;&#35201;&#32032;&#12434;&#20351;&#29992;&#12377;&#12427;&#38555;&#12399; null &#12481;&#12455;&#12483;&#12463;&#12434;&#12377;&#12427;&#12409;&#12365;&#12391;&#12377;&#12290;&#12371;&#12398;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12513;&#12477;&#12483;&#12489;&#12395;&#36969;&#29992;&#12377;&#12427;&#12392;&#12289;&#12513;&#12477;&#12483;&#12489;&#12398;&#25147;&#12426;&#20516;&#12395;&#36969;&#29992;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckReturnValue</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Method, Constructor
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+   <title>&#31532;10&#31456; &#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="analysisprops.html" title="&#31532;9&#31456; &#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;"><link rel="next" href="rejarForAnalysis.html" title="&#31532;11&#31456; rejarForAnalysis &#12398;&#20351;&#29992;&#26041;&#27861;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;10&#31456; &#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="analysisprops.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="rejarForAnalysis.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;10&#31456; &#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h2 class="title"><a name="annotations"></a>&#31532;10&#31456; &#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;</h2></div></div></div><p><span class="application">FindBugs</span> &#12399;&#12356;&#12367;&#12388;&#12363;&#12398;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12469;&#12509;&#12540;&#12488;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#38283;&#30330;&#32773;&#12398;&#24847;&#22259;&#12434;&#26126;&#30906;&#12395;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289; FindBugs &#12399;&#12424;&#12426;&#30340;&#30906;&#12395;&#35686;&#21578;&#12434;&#30330;&#34892;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#20351;&#29992;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399; Java 5 &#12364;&#24517;&#35201;&#12391;&#12354;&#12426;&#12289; annotations.jar &#12362;&#12424;&#12403; jsr305.jar &#12501;&#12449;&#12452;&#12523;&#12434;&#12467;&#12531;&#12497;&#12452;&#12523;&#26178;&#12398;&#12463;&#12521;&#12473;&#12497;&#12473;&#12395;&#21547;&#12417;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckForNull</strong></span></span></dt><dd><p>
+        <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
+    </p><p>&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#35201;&#32032;&#12399;&#12289; null &#12391;&#12354;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;&#24403;&#35442;&#35201;&#32032;&#12434;&#20351;&#29992;&#12377;&#12427;&#38555;&#12399; null &#12481;&#12455;&#12483;&#12463;&#12434;&#12377;&#12427;&#12409;&#12365;&#12391;&#12377;&#12290;&#12371;&#12398;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12513;&#12477;&#12483;&#12489;&#12395;&#36969;&#29992;&#12377;&#12427;&#12392;&#12289;&#12513;&#12477;&#12483;&#12489;&#12398;&#25147;&#12426;&#20516;&#12395;&#36969;&#29992;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckReturnValue</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Method, Constructor
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>priority:</strong></span> &#35686;&#21578;&#12398;&#20778;&#20808;&#24230;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377; (HIGH, MEDIUM, LOW, IGNORE) &#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516; :MEDIUM&#12290;</p><p>
-              <span class="command"><strong>explanation:</strong></span>&#25147;&#12426;&#20516;&#12434;&#12481;&#12455;&#12483;&#12463;&#12375;&#12394;&#12369;&#12400;&#12394;&#12425;&#12394;&#12356;&#29702;&#30001;&#12434;&#12486;&#12461;&#12473;&#12488;&#12391;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516; :""&#12290;</p></dd></dl></div><p>&#12371;&#12398;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#21628;&#20986;&#12375;&#24460;&#12395;&#25147;&#12426;&#20516;&#12434;&#12481;&#12455;&#12483;&#12463;&#12377;&#12409;&#12365;&#12513;&#12477;&#12483;&#12489;&#12434;&#34920;&#12377;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotation</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+              <span class="command"><strong>explanation:</strong></span>&#25147;&#12426;&#20516;&#12434;&#12481;&#12455;&#12483;&#12463;&#12375;&#12394;&#12369;&#12400;&#12394;&#12425;&#12394;&#12356;&#29702;&#30001;&#12434;&#12486;&#12461;&#12473;&#12488;&#12391;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516; :""&#12290;</p></dd></dl></div><p>&#12371;&#12398;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#21628;&#20986;&#12375;&#24460;&#12395;&#25147;&#12426;&#20516;&#12434;&#12481;&#12455;&#12483;&#12463;&#12377;&#12409;&#12365;&#12513;&#12477;&#12483;&#12489;&#12434;&#34920;&#12377;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotation</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Type, Package
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>value:</strong></span>&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12463;&#12521;&#12473;&#12398;class&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12290;&#35079;&#25968;&#12398;&#12463;&#12521;&#12473;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>
               <span class="command"><strong>priority:</strong></span>&#30465;&#30053;&#26178;&#12398;&#20778;&#20808;&#24230;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377; (HIGH, MEDIUM, LOW, IGNORE) &#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516; :MEDIUM&#12290;</p></dd></dl></div><p>
-Indicates that all members of the class or package should be annotated with the default
-value of the supplied annotation classes. This would be used for behavior annotations
-such as @NonNull, @CheckForNull, or @CheckReturnValue. In particular, you can use
-@DefaultAnnotation(NonNull.class) on a class or package, and then use @Nullable only
-on those parameters, methods or fields that you want to allow to be null.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForFields</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+&#12463;&#12521;&#12473;&#12414;&#12383;&#12399;&#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#12377;&#12409;&#12390;&#12398;&#12513;&#12531;&#12496;&#12540;&#12364;&#25351;&#23450;&#12373;&#12428;&#12383;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12463;&#12521;&#12473;&#12398;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516;&#12391;&#12450;&#12494;&#12486;&#12540;&#12488;&#12373;&#12428;&#12427;&#12371;&#12392;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
+&#12371;&#12398;&#25351;&#23450;&#12399; @NonNull &#12289; @CheckForNull &#12289;&#12414;&#12383;&#12399; @CheckReturnValue&#12394;&#12393;&#12395;&#20351;&#29992;&#12377;&#12427;&#24819;&#23450;&#12391;&#12377;&#12290;
+&#20855;&#20307;&#30340;&#12395;&#12399;&#12289; &#12463;&#12521;&#12473;&#12414;&#12383;&#12399;&#12497;&#12483;&#12465;&#12540;&#12472;&#12395; @DefaultAnnotation(NonNull.class) &#12434;&#25351;&#23450;&#12375;&#12383;&#19978;&#12391;&#12289; 
+null &#12434;&#35377;&#23481;&#12375;&#12383;&#12356;&#12497;&#12521;&#12513;&#12540;&#12479;&#12540;&#12289;&#12513;&#12477;&#12483;&#12489;&#12414;&#12383;&#12399;&#12501;&#12451;&#12540;&#12523;&#12489;&#12395;&#12398;&#12415; @Nullable &#12434;&#25351;&#23450;&#12377;&#12427;&#12392;&#12356;&#12358;&#20351;&#29992;&#26041;&#27861;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForFields</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Type, Package
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>value:</strong></span>&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12463;&#12521;&#12473;&#12398;class&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12290;&#35079;&#25968;&#12398;&#12463;&#12521;&#12473;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>
               <span class="command"><strong>priority:</strong></span>&#30465;&#30053;&#26178;&#12398;&#20778;&#20808;&#24230;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377; (HIGH, MEDIUM, LOW, IGNORE) &#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516; :MEDIUM&#12290;</p></dd></dl></div><p>
-This is same as the DefaultAnnotation except it only applys to fields.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForMethods</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+&#12501;&#12451;&#12540;&#12523;&#12489;&#12398;&#12415;&#12395;&#36969;&#29992;&#12373;&#12428;&#12427;&#12371;&#12392;&#20197;&#22806;&#12399; DefaultAnnotation &#12392;&#21516;&#27096;&#12391;&#12377;&#12290;
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForMethods</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Type, Package
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>value:</strong></span>&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12463;&#12521;&#12473;&#12398;class&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12290;&#35079;&#25968;&#12398;&#12463;&#12521;&#12473;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>
               <span class="command"><strong>priority:</strong></span>&#30465;&#30053;&#26178;&#12398;&#20778;&#20808;&#24230;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377; (HIGH, MEDIUM, LOW, IGNORE) &#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516; :MEDIUM&#12290;</p></dd></dl></div><p>
-This is same as the DefaultAnnotation except it only applys to methods.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForParameters</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+&#12513;&#12477;&#12483;&#12489;&#12398;&#12415;&#12395;&#36969;&#29992;&#12373;&#12428;&#12427;&#12371;&#12392;&#20197;&#22806;&#12399; DefaultAnnotation &#12392;&#21516;&#27096;&#12391;&#12377;&#12290;
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForParameters</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Type, Package
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>value:</strong></span>&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12463;&#12521;&#12473;&#12398;class&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12290;&#35079;&#25968;&#12398;&#12463;&#12521;&#12473;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>
               <span class="command"><strong>priority:</strong></span>&#30465;&#30053;&#26178;&#12398;&#20778;&#20808;&#24230;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377; (HIGH, MEDIUM, LOW, IGNORE) &#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516; :MEDIUM&#12290;</p></dd></dl></div><p>
-This is same as the DefaultAnnotation except it only applys to method parameters.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.NonNull</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
-    <p>&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#35201;&#32032;&#12399;&#12289; null &#12391;&#12354;&#12387;&#12390;&#12399;&#12356;&#12369;&#12414;&#12379;&#12435;&#12290;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#12501;&#12451;&#12540;&#12523;&#12489;&#12399;&#12289;&#27083;&#31689;&#23436;&#20102;&#24460; null &#12391;&#12354;&#12387;&#12390;&#12399;&#12356;&#12369;&#12414;&#12379;&#12435;&#12290;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#12513;&#12477;&#12483;&#12489;&#12399;&#12289; null &#12391;&#12399;&#12394;&#12356;&#20516;&#12434;&#25147;&#12426;&#20516;&#12392;&#12375;&#12394;&#12369;&#12428;&#12400;&#12394;&#12426;&#12414;&#12379;&#12435;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.Nullable</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
-    <p>&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#35201;&#32032;&#12399;&#12289; null &#12391;&#12354;&#12387;&#12390;&#12399;&#12356;&#12369;&#12414;&#12379;&#12435;&#12290;In general, this means developers will have to read the documentation to determine when a null value is acceptable and whether it is neccessary to check for a null value. FindBugs will treat the annotated items as though they had no annotation.</p><p>
-In pratice this annotation is useful only for overriding an overarching NonNull
-annotation.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.OverrideMustInvoke</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Method
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
-              <span class="command"><strong>value:</strong></span>Specify when the super invocation should be
-              performed (FIRST, ANYTIME, LAST). Default value:ANYTIME.
+&#12497;&#12521;&#12513;&#12540;&#12479;&#12540;&#12398;&#12415;&#12395;&#36969;&#29992;&#12373;&#12428;&#12427;&#12371;&#12392;&#20197;&#22806;&#12399; DefaultAnnotation &#12392;&#21516;&#27096;&#12391;&#12377;&#12290;
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.NonNull</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
+    </p><p>&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#35201;&#32032;&#12399;&#12289; null &#12391;&#12354;&#12387;&#12390;&#12399;&#12356;&#12369;&#12414;&#12379;&#12435;&#12290;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#12501;&#12451;&#12540;&#12523;&#12489;&#12399;&#12289;&#27083;&#31689;&#23436;&#20102;&#24460; null &#12391;&#12354;&#12387;&#12390;&#12399;&#12356;&#12369;&#12414;&#12379;&#12435;&#12290;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#12513;&#12477;&#12483;&#12489;&#12399;&#12289; null &#12391;&#12399;&#12394;&#12356;&#20516;&#12434;&#25147;&#12426;&#20516;&#12392;&#12375;&#12394;&#12369;&#12428;&#12400;&#12394;&#12426;&#12414;&#12379;&#12435;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.Nullable</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
+    </p><p>
+&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#35201;&#32032;&#12399;&#12289; &#26465;&#20214;&#12395;&#12424;&#12426; null &#12391;&#12354;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;
+&#19968;&#33324;&#12395;&#12289;&#38283;&#30330;&#32773;&#12399;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#35501;&#12435;&#12391; null &#20516;&#12434;&#35377;&#23481;&#12377;&#12427;&#12363;&#12393;&#12358;&#12363;&#12414;&#12383;&#12399; null &#20516;&#12434;&#12481;&#12455;&#12483;&#12463;&#12377;&#12427;&#12363;&#12393;&#12358;&#12363;&#12434;&#27770;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;
+FindBugs &#12399;&#12371;&#12398;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12434;&#12388;&#12369;&#12383;&#35201;&#32032;&#12434;&#12289;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12364;&#12388;&#12356;&#12390;&#12356;&#12394;&#12356;&#12418;&#12398;&#12392;&#21516;&#27096;&#12395;&#25201;&#12356;&#12414;&#12377;&#12290;
+      </p><p>
+&#23455;&#38555;&#12395;&#12399;&#12289;&#12371;&#12398;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12399; NonNull &#12434;&#12388;&#12369;&#12383;&#35201;&#32032;&#12434;&#12458;&#12540;&#12496;&#12540;&#12521;&#12452;&#12489;&#12377;&#12427;&#22580;&#21512;&#12395;&#26377;&#29992;&#12391;&#12377;&#12290;
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.OverrideMustInvoke</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Method
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+              <span class="command"><strong>value:</strong></span>super &#12398;&#21628;&#12403;&#20986;&#12375;&#31623;&#25152;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377; (FIRST, ANYTIME, LAST)&#12290; &#12487;&#12501;&#12457;&#12523;&#12488;&#20516; :ANYTIME&#12290;
             </p></dd></dl></div><p>
-Used to annotate a method that, if overridden, must (or should) be invoke super
-in the overriding method. Examples of such methods include finalize() and clone().
-The argument to the method indicates when the super invocation should occur:
-at any time, at the beginning of the overriding method, or at the end of the overriding method.
-(This anotation is not implmemented in FindBugs as of September 8, 2006).
+&#12458;&#12540;&#12496;&#12540;&#12521;&#12452;&#12489;&#12373;&#12428;&#12383;&#22580;&#21512;&#12395;&#12458;&#12540;&#12496;&#12540;&#12521;&#12452;&#12489;&#12513;&#12477;&#12483;&#12489;&#20869;&#12391; super &#12434;&#21628;&#12403;&#20986;&#12377;&#12409;&#12365;&#12513;&#12477;&#12483;&#12489;&#12395;&#12450;&#12494;&#12486;&#12540;&#12488;&#12375;&#12414;&#12377;&#12290;
+&#20363;&#12360;&#12400;&#12289; finalize() &#12420; clone() &#12364;&#12381;&#12398;&#12424;&#12358;&#12394;&#12513;&#12477;&#12483;&#12489;&#12395;&#35442;&#24403;&#12375;&#12414;&#12377;&#12290;
+&#24341;&#25968;&#12399;&#12289; super &#12398;&#21628;&#12403;&#20986;&#12375;&#31623;&#25152;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289;&#38543;&#26178;&#12289;&#12513;&#12477;&#12483;&#12489;&#12398;&#26368;&#21021;&#12414;&#12383;&#12399;&#12513;&#12477;&#12483;&#12489;&#12398;&#26368;&#24460;&#12391;&#12377;&#12290;
       </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.PossiblyNull</strong></span></span></dt><dd><p>
-This annotation is deprecated. Use CheckForNull instead.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.SuppressWarnings</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Field, Method, Parameter, Constructor, Package
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
-              <span class="command"><strong>value:</strong></span>The name of the warning. More than one name can be specified.
+&#38750;&#25512;&#22888;&#12391;&#12377;&#12290; CheckForNull &#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.SuppressWarnings</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Type, Field, Method, Parameter, Constructor, Package
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+              <span class="command"><strong>value:</strong></span>&#35686;&#21578;&#12398;&#21517;&#31216;&#12290;&#35079;&#25968;&#12398;&#21517;&#31216;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
             </p><p>
-              <span class="command"><strong>justification:</strong></span>Reason why the warning should be ignored. &#12487;&#12501;&#12457;&#12523;&#12488;&#20516; :""&#12290;</p></dd></dl></div><p>
+              <span class="command"><strong>justification:</strong></span>&#35686;&#21578;&#12434;&#28961;&#35222;&#12377;&#12427;&#29702;&#30001;&#12290; &#12487;&#12501;&#12457;&#12523;&#12488;&#20516; :""&#12290;</p></dd></dl></div><p>
 The set of warnings that are to be suppressed by the compiler in the annotated element.
 Duplicate names are permitted.  The second and successive occurrences of a name are ignored.
 The presence of unrecognized warning names is <span class="emphasis"><em>not</em></span> an error: Compilers
@@ -57,11 +66,13 @@
 warning if an annotation contains an unrecognized warning name. Compiler vendors should
 document the warning names they support in conjunction with this annotation type. They
 are encouraged to cooperate to ensure that the same names work across multiple compilers.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
-    <p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
+    </p><p>
 Used to indicate that the nullness of the target is unknown, or my vary in unknown ways in subclasses.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
-    <p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
+    </p><p>
 Used to indicate that the nullness of the target is unknown, or my vary in unknown ways in subclasses.
-      </p></dd></dl></div><p>&#12414;&#12383;&#12289; <span class="application">FindBugs</span> &#27425;&#12395;&#31034;&#12377;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12418;&#12469;&#12509;&#12540;&#12488;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290; :</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">net.jcip.annotations.GuardedBy</li><li class="listitem">net.jcip.annotations.Immutable</li><li class="listitem">net.jcip.annotations.NotThreadSafe</li><li class="listitem">net.jcip.annotations.ThreadSafe</li></ul></div><p>
+      </p></dd></dl></div><p>&#12414;&#12383;&#12289; <span class="application">FindBugs</span> &#27425;&#12395;&#31034;&#12377;&#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;&#12418;&#12469;&#12509;&#12540;&#12488;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290; :</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>net.jcip.annotations.GuardedBy</p></li><li class="listitem"><p>net.jcip.annotations.Immutable</p></li><li class="listitem"><p>net.jcip.annotations.NotThreadSafe</p></li><li class="listitem"><p>net.jcip.annotations.ThreadSafe</p></li></ul></div><p>
 </p><p><a class="ulink" href="http://jcip.net/" target="_top">Java Concurrency in Practice</a> &#12398; <a class="ulink" href="http://jcip.net/annotations/doc/index.html" target="_top"> API &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;</a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="analysisprops.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="rejarForAnalysis.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;9&#31456; &#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;11&#31456; rejarForAnalysis &#12398;&#20351;&#29992;&#26041;&#27861;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/ja/manual/anttask.html b/doc/ja/manual/anttask.html
index 259019e..1fda271 100644
--- a/doc/ja/manual/anttask.html
+++ b/doc/ja/manual/anttask.html
@@ -1,7 +1,7 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>&#31532;6&#31456; FindBugs&#8482; Ant &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="gui.html" title="&#31532;5&#31456; FindBugs GUI &#12398;&#20351;&#29992;&#26041;&#27861;"><link rel="next" href="eclipse.html" title="&#31532;7&#31456; FindBugs&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;6&#31456; <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="gui.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="eclipse.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;6&#31456; FindBugs&#8482; Ant &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;"><div class="titlepage"><div><div><h2 class="title"><a name="anttask"></a>&#31532;6&#31456; <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="anttask.html#d0e1173">1. <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1209">2. build.xml &#12398;&#26360;&#12365;&#26041;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1278">3. &#12479;&#12473;&#12463;&#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1303">4. &#12497;&#12521;&#12513;&#12540;&#12479;&#12540;</a></span></dt></dl></div><p>&#12371;&#12398;&#31456;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12434; <a class="ulink" href="http://ant.apache.org/" target="_top"><span class="application">Ant</span></a> &#12398;&#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;&#12395;&#32068;&#12415;&#20837;&#12428;&#12427;&#26041;&#27861;&#12395;&#12388;&#12356;&#12390;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290; <a class="ulink" href="http://ant.apache.org/" target="_top"><span class="application">Ant</span></a> &#12399;&#12289;&#12499;&#12523;&#12489;&#12420;&#37197;&#20633;&#12434;&#34892;&#12358;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427; Java &#12391;&#12424;&#12367;&#20351;&#29992;&#12373;&#12428;&#12427;&#12484;&#12540;&#12523;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12434;&#20351;&#29992;&#12377;&#12427;&#12392;&#12289; &#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#20316;&#25104;&#12375;&#12390;&#27231;&#26800;&#30340;&#12395; <span class="application">FindBugs</span> &#12395;&#12424;&#12427; Java &#12467;&#12540;&#12489;&#12398;&#20998;&#26512;&#12434;&#23455;&#34892;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12371;&#12398; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12399;&#12289; Mike Fagan &#27663;&#12398;&#22810;&#22823;&#12394;&#36002;&#29486;&#12395;&#12424;&#12427;&#12418;&#12398;&#12391;&#12377;&#12290;</p><div class="sect1" title="1. Ant &#12479;&#12473;&#12463;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1173"></a>1. <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</h2></div></div></div><p><span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12399;&#12289; <code class="filename"><em class="replaceable"><code>$FINDBUGS_HOME</code></em>/lib/findbugs-ant.jar</code> &#12434; <span class="application">Ant</span> &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;<code class="filename">lib</code> &#12469;&#12502;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#12467;&#12500;&#12540;&#12377;&#12427;&#12384;&#12369;&#12391;&#12377;&#12290;</p><div class="note" title="&#27880;&#35352;" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[&#27880;&#35352;]" src="note.png"></td><th align="left">&#27880;&#35352;</th></tr><tr><td align="left" valign="top"><p>&#20351;&#29992;&#12377;&#12427; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12392; <span class="application">FindBugs</span> &#26412;&#20307;&#12399;&#12289;&#21516;&#26801;&#12373;&#12428;&#12390;&#12356;&#12383;&#21516;&#12376;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;&#12418;&#12398;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12434;&#24375;&#12367;&#25512;&#22888;&#12375;&#12414;&#12377;&#12290;&#21029;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398; <span class="application">FindBugs</span> &#12395;&#21547;&#12414;&#12428;&#12390;&#12356;&#12383; <span class="application">Ant</span> &#12479;&#12473;&#12463; Jar &#12501;&#12449;&#12452;&#12523;&#12391;&#12398;&#21205;&#20316;&#12399;&#20445;&#35388;&#12375;&#12414;&#12379;&#12435;&#12290;</p></td></tr></table></div><p>
-</p></div><div class="sect1" title="2. build.xml &#12398;&#26360;&#12365;&#26041;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1209"></a>2. build.xml &#12398;&#26360;&#12365;&#26041;</h2></div></div></div><p><span class="application">FindBugs</span> &#12434; <code class="filename">build.xml</code> (<span class="application">Ant</span> &#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;) &#12395;&#32068;&#12415;&#20837;&#12428;&#12427;&#12383;&#12417;&#12395;&#12399;&#12414;&#12378;&#12289;&#12479;&#12473;&#12463;&#23450;&#32681;&#12434;&#35352;&#36848;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12479;&#12473;&#12463;&#23450;&#32681;&#12399;&#27425;&#12398;&#12424;&#12358;&#12395;&#35352;&#36848;&#12375;&#12414;&#12377;&#12290;:</p><pre class="screen">
+   <title>&#31532;6&#31456; FindBugs&#8482; Ant &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="gui.html" title="&#31532;5&#31456; FindBugs GUI &#12398;&#20351;&#29992;&#26041;&#27861;"><link rel="next" href="eclipse.html" title="&#31532;7&#31456; FindBugs&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;6&#31456; <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="gui.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="eclipse.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;6&#31456; FindBugs&#8482; Ant &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;"><div class="titlepage"><div><div><h2 class="title"><a name="anttask"></a>&#31532;6&#31456; <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="anttask.html#d0e1209">1. <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1245">2. build.xml &#12398;&#26360;&#12365;&#26041;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1314">3. &#12479;&#12473;&#12463;&#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1339">4. &#12497;&#12521;&#12513;&#12540;&#12479;&#12540;</a></span></dt></dl></div><p>&#12371;&#12398;&#31456;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12434; <a class="ulink" href="http://ant.apache.org/" target="_top"><span class="application">Ant</span></a> &#12398;&#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;&#12395;&#32068;&#12415;&#20837;&#12428;&#12427;&#26041;&#27861;&#12395;&#12388;&#12356;&#12390;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290; <a class="ulink" href="http://ant.apache.org/" target="_top"><span class="application">Ant</span></a> &#12399;&#12289;&#12499;&#12523;&#12489;&#12420;&#37197;&#20633;&#12434;&#34892;&#12358;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427; Java &#12391;&#12424;&#12367;&#20351;&#29992;&#12373;&#12428;&#12427;&#12484;&#12540;&#12523;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12434;&#20351;&#29992;&#12377;&#12427;&#12392;&#12289; &#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#20316;&#25104;&#12375;&#12390;&#27231;&#26800;&#30340;&#12395; <span class="application">FindBugs</span> &#12395;&#12424;&#12427; Java &#12467;&#12540;&#12489;&#12398;&#20998;&#26512;&#12434;&#23455;&#34892;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12371;&#12398; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12399;&#12289; Mike Fagan &#27663;&#12398;&#22810;&#22823;&#12394;&#36002;&#29486;&#12395;&#12424;&#12427;&#12418;&#12398;&#12391;&#12377;&#12290;</p><div class="sect1" title="1. Ant &#12479;&#12473;&#12463;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1209"></a>1. <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</h2></div></div></div><p><span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12399;&#12289; <code class="filename"><em class="replaceable"><code>$FINDBUGS_HOME</code></em>/lib/findbugs-ant.jar</code> &#12434; <span class="application">Ant</span> &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;<code class="filename">lib</code> &#12469;&#12502;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#12467;&#12500;&#12540;&#12377;&#12427;&#12384;&#12369;&#12391;&#12377;&#12290;</p><div class="note" title="&#27880;&#35352;" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[&#27880;&#35352;]" src="note.png"></td><th align="left">&#27880;&#35352;</th></tr><tr><td align="left" valign="top"><p>&#20351;&#29992;&#12377;&#12427; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12392; <span class="application">FindBugs</span> &#26412;&#20307;&#12399;&#12289;&#21516;&#26801;&#12373;&#12428;&#12390;&#12356;&#12383;&#21516;&#12376;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;&#12418;&#12398;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12434;&#24375;&#12367;&#25512;&#22888;&#12375;&#12414;&#12377;&#12290;&#21029;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398; <span class="application">FindBugs</span> &#12395;&#21547;&#12414;&#12428;&#12390;&#12356;&#12383; <span class="application">Ant</span> &#12479;&#12473;&#12463; Jar &#12501;&#12449;&#12452;&#12523;&#12391;&#12398;&#21205;&#20316;&#12399;&#20445;&#35388;&#12375;&#12414;&#12379;&#12435;&#12290;</p></td></tr></table></div><p>
+</p></div><div class="sect1" title="2. build.xml &#12398;&#26360;&#12365;&#26041;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1245"></a>2. build.xml &#12398;&#26360;&#12365;&#26041;</h2></div></div></div><p><span class="application">FindBugs</span> &#12434; <code class="filename">build.xml</code> (<span class="application">Ant</span> &#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;) &#12395;&#32068;&#12415;&#20837;&#12428;&#12427;&#12383;&#12417;&#12395;&#12399;&#12414;&#12378;&#12289;&#12479;&#12473;&#12463;&#23450;&#32681;&#12434;&#35352;&#36848;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12479;&#12473;&#12463;&#23450;&#32681;&#12399;&#27425;&#12398;&#12424;&#12358;&#12395;&#35352;&#36848;&#12375;&#12414;&#12377;&#12290;:</p><pre class="screen">
   &lt;taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/&gt;
 </pre><p>&#12479;&#12473;&#12463;&#23450;&#32681;&#12399;&#12289; <code class="literal">findbugs</code> &#35201;&#32032;&#12434; <code class="filename">build.xml</code> &#19978;&#12395;&#35352;&#36848;&#12375;&#12383;&#12392;&#12365;&#12289;&#12381;&#12398;&#12479;&#12473;&#12463;&#12398;&#23455;&#34892;&#12395;&#20351;&#29992;&#12373;&#12428;&#12427;&#12463;&#12521;&#12473;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p><p>&#12479;&#12473;&#12463;&#23450;&#32681;&#12398;&#35352;&#36848;&#12434;&#12377;&#12428;&#12400;&#12289;<code class="literal">findbugs</code> &#12479;&#12473;&#12463;&#12434;&#20351;&#12387;&#12390;&#12479;&#12540;&#12466;&#12483;&#12488;&#12434;&#23450;&#32681;&#12391;&#12365;&#12414;&#12377;&#12290;&#27425;&#12395;&#31034;&#12377;&#12398;&#12399;&#12289; Apache <a class="ulink" href="http://jakarta.apache.org/bcel/" target="_top">BCEL</a> &#12521;&#12452;&#12502;&#12521;&#12522;&#12540;&#12434;&#20998;&#26512;&#12377;&#12427;&#22580;&#21512;&#12434;&#24819;&#23450;&#12375;&#12383; <code class="filename">build.xml</code> &#12398;&#35352;&#36848;&#20363;&#12391;&#12377;&#12290;</p><pre class="screen">
   &lt;property name="findbugs.home" value="/export/home/daveho/work/findbugs" /&gt;
@@ -15,7 +15,7 @@
       &lt;class location="${basedir}/bin/bcel.jar" /&gt;
     &lt;/findbugs&gt;
   &lt;/target&gt;
-</pre><p><code class="literal">findbugs</code> &#35201;&#32032;&#12395;&#12399;&#12289; <code class="literal">home</code> &#23646;&#24615;&#12364;&#24517;&#38920;&#12391;&#12377;&#12290; <span class="application">FindBugs</span> &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12377;&#12394;&#12431;&#12385; <em class="replaceable"><code>$FINDBUGS_HOME</code></em> &#12398;&#20516;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;<a class="xref" href="installing.html" title="&#31532;2&#31456; FindBugs&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;">2&#31456;<i><span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p><p>&#12371;&#12398;&#12479;&#12540;&#12466;&#12483;&#12488;&#12399; <code class="filename">bcel.jar</code> &#12395;&#23550;&#12375;&#12390; <span class="application">FindBugs</span> &#12434;&#23455;&#34892;&#12375;&#12414;&#12377;&#12290;&#12371;&#12398; Jar &#12501;&#12449;&#12452;&#12523;&#12399;&#12289; BCEL &#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;&#12395;&#12424;&#12387;&#12390;&#20316;&#25104;&#12373;&#12428;&#12427;&#12418;&#12398;&#12391;&#12377;&#12290;(&#19978;&#35352;&#12398;&#12479;&#12540;&#12466;&#12483;&#12488;&#12364;&#12300;jar&#12301;&#12479;&#12540;&#12466;&#12483;&#12488;&#12395;&#20381;&#23384;&#12375;&#12390;&#12356;&#12427; (depends) &#12392;&#35373;&#23450;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12426;&#12289; <span class="application">FindBugs</span> &#12364;&#23455;&#34892;&#12373;&#12428;&#12427;&#21069;&#12395;&#24403;&#35442;&#12521;&#12452;&#12502;&#12521;&#12522;&#12540;&#12364;&#23436;&#20840;&#12395;&#12467;&#12531;&#12497;&#12452;&#12523;&#12373;&#12428;&#12390;&#12356;&#12427;&#12371;&#12392;&#12434;&#20445;&#35388;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;) <span class="application">FindBugs</span> &#12398;&#20986;&#21147;&#12399;&#12289; XML &#24418;&#24335;&#12391; <code class="filename">bcel-fb.xml</code> &#12501;&#12449;&#12452;&#12523;&#12395;&#20445;&#23384;&#12373;&#12428;&#12414;&#12377;&#12290;&#35036;&#21161; Jar &#12501;&#12449;&#12452;&#12523; <code class="filename">Regex.jar</code> &#12434; aux classpath &#12395;&#35352;&#36848;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12394;&#12380;&#12394;&#12425;&#12289;&#24403;&#35442; Jar &#12501;&#12449;&#12452;&#12523;&#12364; BCEL &#12513;&#12452;&#12531;&#65381;&#12521;&#12452;&#12502;&#12521;&#12522;&#12540;&#12363;&#12425;&#21442;&#29031;&#12373;&#12428;&#12427;&#12363;&#12425;&#12391;&#12377;&#12290;source path &#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#20445;&#23384;&#12373;&#12428;&#12427;&#12496;&#12464;&#12487;&#12540;&#12479;&#12395; BCEL &#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12408;&#12398;&#27491;&#30906;&#12394;&#21442;&#29031;&#12364;&#35352;&#36848;&#12373;&#12428;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="3. &#12479;&#12473;&#12463;&#12398;&#23455;&#34892;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1278"></a>3. &#12479;&#12473;&#12463;&#12398;&#23455;&#34892;</h2></div></div></div><p>&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12363;&#12425; <span class="application">Ant</span> &#12434;&#36215;&#21205;&#12377;&#12427;&#20363;&#12434;&#27425;&#12395;&#31034;&#12375;&#12414;&#12377;&#12290;&#21069;&#36848;&#12398; <code class="literal">findbugs</code> &#12479;&#12540;&#12466;&#12483;&#12488;&#12434;&#20351;&#29992;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;</p><pre class="screen">
+</pre><p><code class="literal">findbugs</code> &#35201;&#32032;&#12395;&#12399;&#12289; <code class="literal">home</code> &#23646;&#24615;&#12364;&#24517;&#38920;&#12391;&#12377;&#12290; <span class="application">FindBugs</span> &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12377;&#12394;&#12431;&#12385; <em class="replaceable"><code>$FINDBUGS_HOME</code></em> &#12398;&#20516;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;<a class="xref" href="installing.html" title="&#31532;2&#31456; FindBugs&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;">2&#31456;<i><span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p><p>&#12371;&#12398;&#12479;&#12540;&#12466;&#12483;&#12488;&#12399; <code class="filename">bcel.jar</code> &#12395;&#23550;&#12375;&#12390; <span class="application">FindBugs</span> &#12434;&#23455;&#34892;&#12375;&#12414;&#12377;&#12290;&#12371;&#12398; Jar &#12501;&#12449;&#12452;&#12523;&#12399;&#12289; BCEL &#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;&#12395;&#12424;&#12387;&#12390;&#20316;&#25104;&#12373;&#12428;&#12427;&#12418;&#12398;&#12391;&#12377;&#12290;(&#19978;&#35352;&#12398;&#12479;&#12540;&#12466;&#12483;&#12488;&#12364;&#12300;jar&#12301;&#12479;&#12540;&#12466;&#12483;&#12488;&#12395;&#20381;&#23384;&#12375;&#12390;&#12356;&#12427; (depends) &#12392;&#35373;&#23450;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12426;&#12289; <span class="application">FindBugs</span> &#12364;&#23455;&#34892;&#12373;&#12428;&#12427;&#21069;&#12395;&#24403;&#35442;&#12521;&#12452;&#12502;&#12521;&#12522;&#12540;&#12364;&#23436;&#20840;&#12395;&#12467;&#12531;&#12497;&#12452;&#12523;&#12373;&#12428;&#12390;&#12356;&#12427;&#12371;&#12392;&#12434;&#20445;&#35388;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;) <span class="application">FindBugs</span> &#12398;&#20986;&#21147;&#12399;&#12289; XML &#24418;&#24335;&#12391; <code class="filename">bcel-fb.xml</code> &#12501;&#12449;&#12452;&#12523;&#12395;&#20445;&#23384;&#12373;&#12428;&#12414;&#12377;&#12290;&#35036;&#21161; Jar &#12501;&#12449;&#12452;&#12523; <code class="filename">Regex.jar</code> &#12434; aux classpath &#12395;&#35352;&#36848;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12394;&#12380;&#12394;&#12425;&#12289;&#24403;&#35442; Jar &#12501;&#12449;&#12452;&#12523;&#12364; BCEL &#12513;&#12452;&#12531;&#65381;&#12521;&#12452;&#12502;&#12521;&#12522;&#12540;&#12363;&#12425;&#21442;&#29031;&#12373;&#12428;&#12427;&#12363;&#12425;&#12391;&#12377;&#12290;source path &#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#20445;&#23384;&#12373;&#12428;&#12427;&#12496;&#12464;&#12487;&#12540;&#12479;&#12395; BCEL &#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12408;&#12398;&#27491;&#30906;&#12394;&#21442;&#29031;&#12364;&#35352;&#36848;&#12373;&#12428;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="3. &#12479;&#12473;&#12463;&#12398;&#23455;&#34892;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1314"></a>3. &#12479;&#12473;&#12463;&#12398;&#23455;&#34892;</h2></div></div></div><p>&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12363;&#12425; <span class="application">Ant</span> &#12434;&#36215;&#21205;&#12377;&#12427;&#20363;&#12434;&#27425;&#12395;&#31034;&#12375;&#12414;&#12377;&#12290;&#21069;&#36848;&#12398; <code class="literal">findbugs</code> &#12479;&#12540;&#12466;&#12483;&#12488;&#12434;&#20351;&#29992;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;</p><pre class="screen">
   <code class="prompt">[daveho@noir]$</code> <span class="command"><strong>ant findbugs</strong></span>
   Buildfile: build.xml
 
@@ -34,7 +34,38 @@
 
   BUILD SUCCESSFUL
   Total time: 35 seconds
-</pre><p>&#12371;&#12398;&#20107;&#20363;&#12395;&#12362;&#12356;&#12390;&#12399;&#12289;XML &#12501;&#12449;&#12452;&#12523;&#12391;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#20445;&#23384;&#12375;&#12390;&#12356;&#12427;&#12398;&#12391;&#12289; <span class="application">FindBugs</span> GUI &#12434;&#20351;&#12387;&#12390;&#32080;&#26524;&#12434;&#21442;&#29031;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290; <a class="xref" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;">4&#31456;<i><span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></div><div class="sect1" title="4. &#12497;&#12521;&#12513;&#12540;&#12479;&#12540;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1303"></a>4. &#12497;&#12521;&#12513;&#12540;&#12479;&#12540;</h2></div></div></div><p>&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12479;&#12473;&#12463;&#12434;&#20351;&#29992;&#12377;&#12427;&#38555;&#12395;&#12289;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#12497;&#12521;&#12513;&#12540;&#12479;&#12540;&#12395;&#12388;&#12356;&#12390;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;</p><div class="variablelist"><dl><dt><span class="term"><code class="literal">class</code></span></dt><dd><p>&#20998;&#26512;&#12398;&#23550;&#35937;&#12392;&#12394;&#12427;&#12463;&#12521;&#12473;&#32676;&#12434;&#25351;&#23450;&#12377;&#12427;&#12383;&#12417;&#12398;&#12493;&#12473;&#12488;&#12373;&#12428;&#12427;&#35201;&#32032;&#12391;&#12377;&#12290;<code class="literal">class</code> &#35201;&#32032;&#12395;&#12399; <code class="literal">location</code> &#23646;&#24615;&#12398;&#25351;&#23450;&#12364;&#24517;&#38920;&#12391;&#12377;&#12290;&#20998;&#26512;&#23550;&#35937;&#12392;&#12394;&#12427;&#12450;&#12540;&#12459;&#12452;&#12502;&#12501;&#12449;&#12452;&#12523; (jar, zip, &#20182;)&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12414;&#12383;&#12399;&#12463;&#12521;&#12473;&#12501;&#12449;&#12452;&#12523;&#12398;&#21517;&#21069;&#12434;&#35352;&#36848;&#12375;&#12414;&#12377;&#12290;1 &#12388;&#12398; <code class="literal">findbugs</code> &#35201;&#32032;&#12395;&#23550;&#12375;&#12390;&#12289;&#35079;&#25968;&#12398; <code class="literal">class</code> &#23376;&#35201;&#32032;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">auxClasspath</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12493;&#12473;&#12488;&#12373;&#12428;&#12427;&#35201;&#32032;&#12391;&#12377;&#12290;&#20998;&#26512;&#23550;&#35937;&#12398;&#12521;&#12452;&#12502;&#12521;&#12522;&#12540;&#12414;&#12383;&#12399;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12395;&#12424;&#12387;&#12390;&#20351;&#29992;&#12373;&#12428;&#12390;&#12356;&#12427;&#12364;&#20998;&#26512;&#12398;&#23550;&#35937;&#12395;&#12399;&#12375;&#12383;&#12367;&#12394;&#12356;&#12463;&#12521;&#12473;&#12434;&#21547;&#12435;&#12391;&#12356;&#12427;&#12463;&#12521;&#12473;&#12497;&#12473; (Jar &#12501;&#12449;&#12452;&#12523;&#12414;&#12383;&#12399;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;) &#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;  <span class="application">Ant</span> &#12398; Java &#12479;&#12473;&#12463;&#12395;&#12354;&#12427; <code class="literal">classpath</code> &#35201;&#32032; &#12392;&#21516;&#12376;&#26041;&#27861;&#12391;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">sourcePath</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12493;&#12473;&#12488;&#12373;&#12428;&#12427;&#35201;&#32032;&#12391;&#12377;&#12290;&#20998;&#26512;&#23550;&#35937; Java &#12467;&#12540;&#12489;&#12398;&#12467;&#12531;&#12497;&#12452;&#12523;&#26178;&#12395;&#20351;&#29992;&#12375;&#12383;&#12477;&#12540;&#12473;&#12501;&#12449;&#12452;&#12523;&#12434;&#21547;&#12435;&#12391;&#12356;&#12427;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12408;&#12398;&#12497;&#12473;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12477;&#12540;&#12473;&#12497;&#12473;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12426;&#12289;&#29983;&#25104;&#12373;&#12428;&#12427; XML &#12398;&#12496;&#12464;&#20986;&#21147;&#32080;&#26524;&#12395;&#23436;&#20840;&#12394;&#12477;&#12540;&#12473;&#24773;&#22577;&#12434;&#12418;&#12383;&#12379;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12289;&#24460;&#12395;&#12394;&#12387;&#12390; GUI &#12391;&#21442;&#29031;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">home</code></span></dt><dd><p>&#24517;&#38920;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12373;&#12428;&#12390;&#12356;&#12427;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#21517;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">quietErrors</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12502;&#12540;&#12523;&#20516;&#23646;&#24615;&#12391;&#12377;&#12290;true &#12434;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#28145;&#21051;&#12394;&#20998;&#26512;&#12456;&#12521;&#12540;&#30330;&#29983;&#12420;&#12463;&#12521;&#12473;&#12364;&#12415;&#12388;&#12363;&#12425;&#12394;&#12356;&#12392;&#12356;&#12387;&#12383;&#24773;&#22577;&#12364; <span class="application">FindBugs</span> &#20986;&#21147;&#12395;&#35352;&#37682;&#12373;&#12428;&#12414;&#12379;&#12435;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289; false &#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">reportLevel</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#22577;&#21578;&#12373;&#12428;&#12427;&#12496;&#12464;&#12398;&#20778;&#20808;&#24230;&#12398;&#12375;&#12365;&#12356;&#20516;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12300;low&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#12377;&#12409;&#12390;&#12398;&#12496;&#12464;&#12364;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;&#12300;medium&#12301; (&#12487;&#12501;&#12457;&#12523;&#12488;) &#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20778;&#20808;&#24230; (&#20013;)&#12362;&#12424;&#12403;&#20778;&#20808;&#24230; (&#39640;)&#12398;&#12496;&#12464;&#12364;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;&#12300;high&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20778;&#20808;&#24230; (&#39640;) &#12398;&#12496;&#12464;&#12398;&#12415;&#12364;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">output</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#20986;&#21147;&#24418;&#24335;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12300;xml&#12301; (&#12487;&#12501;&#12457;&#12523;&#12488;) &#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399; XML &#24418;&#24335;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12300;xml:withMessages&#12301; &#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399;&#20154;&#38291;&#12364;&#35501;&#12417;&#12427;&#12513;&#12483;&#12475;&#12540;&#12472; &#12364;&#36861;&#21152;&#12373;&#12428;&#12383; XML &#24418;&#24335;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;(XSL &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#20351;&#12387;&#12390;&#12524;&#12509;&#12540;&#12488;&#12434;&#20316;&#25104;&#12377;&#12427;&#12371;&#12392;&#12434;&#35336;&#30011;&#12375;&#12390;&#12356;&#12427;&#22580;&#21512;&#12399;&#12371;&#12398;&#24418;&#24335;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;) &#12300;html&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399; HTML &#24418;&#24335;(&#12487;&#12501;&#12457;&#12523;&#12488;&#12398;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12399; default.xsl) &#12395;&#12394;&#12426;&#12414;&#12377;&#12290; &#12300;text&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399;&#29305;&#21029;&#12394;&#12486;&#12461;&#12473;&#12488;&#24418;&#24335;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12300;emacs&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399; <a class="ulink" href="http://www.gnu.org/software/emacs/" target="_top">Emacs</a> &#12456;&#12521;&#12540;&#12513;&#12483;&#12475;&#12540;&#12472;&#24418;&#24335;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12300;xdocs&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399; Apache Maven &#12391;&#20351;&#29992;&#12391;&#12365;&#12427; xdoc XML &#12395;&#12394;&#12426;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">stylesheet</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;output &#23646;&#24615; &#12395; html &#12434;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12395;&#12289; HTML &#20986;&#21147;&#20316;&#25104;&#12395;&#20351;&#29992;&#12373;&#12428;&#12427;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;FindBugs &#37197;&#24067;&#29289;&#12395;&#21547;&#12414;&#12428;&#12390;&#12356;&#12427;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12399;&#12289; default.xsl&#12289; fancy.xsl &#12289; fancy-hist.xsl &#12289; plain.xsl &#12362;&#12424;&#12403; summary.xsl &#12391;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516;&#12399; default.xsl &#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">sort</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<code class="literal">output</code> &#23646;&#24615;&#12395;&#12300;text&#12301;&#12434;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12395;&#12289;&#12496;&#12464;&#12398;&#22577;&#21578;&#12434;&#12463;&#12521;&#12473;&#38918;&#12395;&#12477;&#12540;&#12488;&#12377;&#12427;&#12363;&#12393;&#12358;&#12363;&#12434; <code class="literal">sort</code> &#23646;&#24615;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289; true &#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">outputFile</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12289;<span class="application">FindBugs</span> &#12398;&#20986;&#21147;&#12399;&#12381;&#12398;&#21517;&#21069;&#12398;&#12501;&#12449;&#12452;&#12523;&#12408;&#12392;&#20445;&#23384;&#12373;&#12428;&#12414;&#12377;&#12290;&#30465;&#30053;&#26178;&#12289;&#20986;&#21147;&#12399; <span class="application">Ant</span> &#12395;&#12424;&#12387;&#12390;&#30452;&#25509;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">debug</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12502;&#12540;&#12523;&#20516;&#23646;&#24615;&#12391;&#12377;&#12290;true &#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289; <span class="application">FindBugs</span> &#12399; &#35386;&#26029;&#24773;&#22577;&#12434;&#20986;&#21147;&#12375;&#12414;&#12377;&#12290;&#12393;&#12398;&#12463;&#12521;&#12473;&#12434;&#20998;&#26512;&#12375;&#12390;&#12356;&#12427;&#12363;&#12289;&#12393;&#12398;&#12497;&#12464;&#12497;&#12479;&#12540;&#12531;&#12487;&#12451;&#12486;&#12463;&#12479;&#12364;&#23455;&#34892;&#12373;&#12428;&#12390;&#12356;&#12427;&#12363;&#12289;&#12392;&#12356;&#12358;&#24773;&#22577;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289; false &#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">effort</code></span></dt><dd><p>&#20998;&#26512;&#12398;&#27963;&#21205;&#12524;&#12505;&#12523;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">min</code> &#12289;<code class="literal">default</code> &#12414;&#12383;&#12399; <code class="literal">max</code> &#12398;&#12356;&#12378;&#12428;&#12363;&#12398;&#20516;&#12434;&#35373;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#20998;&#26512;&#12524;&#12505;&#12523;&#12398;&#35373;&#23450;&#12395;&#38306;&#12377;&#12427;&#35443;&#32048;&#24773;&#22577;&#12399;&#12289; <a class="xref" href="running.html#commandLineOptions" title="3. &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;">&#12300;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;&#12301;</a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">conserveSpace</code></span></dt><dd><p>effort="min" &#12392;&#21516;&#32681;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">workHard</code></span></dt><dd><p>effort="max" &#12392;&#21516;&#32681;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">visitors</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#12393;&#12398;&#12496;&#12464;&#12487;&#12451;&#12486;&#12463;&#12479;&#12434;&#23455;&#34892;&#12377;&#12427;&#12363;&#12434;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12398;&#12522;&#12473;&#12488;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12496;&#12464;&#12487;&#12451;&#12486;&#12463;&#12479;&#12399;&#12497;&#12483;&#12465;&#12540;&#12472;&#25351;&#23450;&#12394;&#12375;&#12398;&#12463;&#12521;&#12473;&#21517;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#30465;&#30053;&#26178;&#12289;&#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#28961;&#21177;&#21270;&#12373;&#12428;&#12390;&#12356;&#12427;&#12418;&#12398;&#12434;&#38500;&#12367;&#12377;&#12409;&#12390;&#12398;&#12487;&#12451;&#12486;&#12463;&#12479;&#12364;&#23455;&#34892;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">omitVisitors</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<code class="literal">visitors</code> &#23646;&#24615;&#12392;&#20284;&#12390;&#12356;&#12414;&#12377;&#12364;&#12289;&#12371;&#12385;&#12425;&#12399; <span class="emphasis"><em>&#23455;&#34892;&#12373;&#12428;&#12394;&#12356;</em></span> &#12487;&#12451;&#12486;&#12463;&#12479;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">excludeFilter</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#22577;&#21578;&#12363;&#12425;&#38500;&#22806;&#12373;&#12428;&#12427;&#12496;&#12464;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<a class="xref" href="filter.html" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;">8&#31456;<i>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">includeFilter</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#22577;&#21578;&#12373;&#12428;&#12427;&#12496;&#12464;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<a class="xref" href="filter.html" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;">8&#31456;<i>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">projectFile</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12501;&#12449;&#12452;&#12523;&#12399;&#12289; <span class="application">FindBugs</span> GUI &#12391;&#20316;&#25104;&#12375;&#12414;&#12377;&#12290;&#20998;&#26512;&#12373;&#12428;&#12427;&#12463;&#12521;&#12473;&#12289;&#12362;&#12424;&#12403;&#12289;&#35036;&#21161;&#12463;&#12521;&#12473;&#12497;&#12473;&#12289;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12364;&#35352;&#20837;&#12373;&#12428;&#12390;&#12414;&#12377;&#12290;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289; <code class="literal">class</code> &#35201;&#32032;&#12539; <code class="literal">auxClasspath</code> &#23646;&#24615;&#12362;&#12424;&#12403; <code class="literal">sourcePath</code> &#23646;&#24615;&#12434;&#35373;&#23450;&#12377;&#12427;&#24517;&#35201;&#12399;&#12354;&#12426;&#12414;&#12379;&#12435;&#12290;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#20316;&#25104;&#26041;&#27861;&#12399;&#12289; <a class="xref" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;">4&#31456;<i><span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">jvmargs</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12434;&#23455;&#34892;&#12375;&#12390;&#12356;&#12427; Java &#20206;&#24819;&#12510;&#12471;&#12531;&#12395;&#23550;&#12375;&#12390;&#21463;&#12369;&#28193;&#12373;&#12428;&#12427;&#24341;&#25968;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#24040;&#22823;&#12394;&#12503;&#12525;&#12464;&#12521;&#12512;&#12434;&#20998;&#26512;&#12377;&#12427;&#22580;&#21512;&#12395;&#12289; JVM &#12364;&#20351;&#29992;&#12377;&#12427;&#12513;&#12514;&#12522;&#23481;&#37327;&#12434;&#22679;&#12420;&#12377;&#25351;&#23450;&#12434;&#12377;&#12427;&#12383;&#12417;&#12395;&#12371;&#12398;&#24341;&#25968;&#12434;&#21033;&#29992;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12427;&#12363;&#12418;&#12375;&#12428;&#12414;&#12379;&#12435;&#12290;</p></dd><dt><span class="term"><code class="literal">systemProperty</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12493;&#12473;&#12488;&#12373;&#12428;&#12427;&#35201;&#32032;&#12391;&#12377;&#12290;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12289;Java &#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12434;&#23450;&#32681;&#12375;&#12414;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12395;&#12399;&#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12398;&#21517;&#21069;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12381;&#12375;&#12390;&#12289; <code class="literal">value</code> &#23646;&#24615;&#12395;&#12399;&#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12398;&#20516;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">timeout</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12434;&#23455;&#34892;&#12375;&#12390;&#12356;&#12427; Java &#12503;&#12525;&#12475;&#12473; &#12398;&#23455;&#34892;&#35377;&#23481;&#26178;&#38291;&#12434;&#12511;&#12522;&#31186;&#21336;&#20301;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#26178;&#38291;&#12434;&#36229;&#36942;&#12377;&#12427;&#12392;&#12495;&#12531;&#12464;&#12450;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12392;&#21028;&#26029;&#12375;&#12390;&#12503;&#12525;&#12475;&#12473;&#12364;&#32066;&#20102;&#12373;&#12428;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289; 600,000 &#12511;&#12522;&#31186; (10 &#20998;) &#12391;&#12377;&#12290;&#24040;&#22823;&#12394;&#12503;&#12525;&#12464;&#12521;&#12512;&#12398;&#22580;&#21512;&#12399;&#12289; <span class="application">FindBugs</span> &#12364;&#20998;&#26512;&#12434;&#23436;&#20102;&#12377;&#12427;&#12414;&#12391;&#12395; 10 &#20998; &#20197;&#19978;&#25499;&#12363;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12427;&#12371;&#12392;&#12395;&#27880;&#24847;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">failOnError</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12502;&#12540;&#12523;&#20516;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12398;&#23455;&#34892;&#20013;&#12395;&#12456;&#12521;&#12540;&#12364;&#12354;&#12387;&#12383;&#22580;&#21512;&#12395;&#12289;&#12499;&#12523;&#12489;&#12503;&#12525;&#12475;&#12473;&#33258;&#20307;&#12434;&#25171;&#12385;&#20999;&#12387;&#12390;&#30064;&#24120;&#32066;&#20102;&#12373;&#12379;&#12427;&#12363;&#12393;&#12358;&#12363;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289;&#12300;false&#12301;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">errorProperty</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12398;&#23455;&#34892;&#20013;&#12395;&#12456;&#12521;&#12540;&#12364;&#30330;&#29983;&#12375;&#12383;&#22580;&#21512;&#12395;&#12289;&#12300;true&#12301;&#12364;&#35373;&#23450;&#12373;&#12428;&#12427;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12398;&#21517;&#21069;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">warningsProperty</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12364;&#20998;&#26512;&#12375;&#12383;&#12503;&#12525;&#12464;&#12521;&#12512;&#12395;&#12496;&#12464;&#22577;&#21578;&#12364; 1 &#20214;&#12391;&#12418;&#12354;&#12427;&#22580;&#21512;&#12395;&#12289;&#12300;true&#12301;&#12364;&#35373;&#23450;&#12373;&#12428;&#12427;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12398;&#21517;&#21069;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd></dl></div><p>
+</pre><p>&#12371;&#12398;&#20107;&#20363;&#12395;&#12362;&#12356;&#12390;&#12399;&#12289;XML &#12501;&#12449;&#12452;&#12523;&#12391;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#20445;&#23384;&#12375;&#12390;&#12356;&#12427;&#12398;&#12391;&#12289; <span class="application">FindBugs</span> GUI &#12434;&#20351;&#12387;&#12390;&#32080;&#26524;&#12434;&#21442;&#29031;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290; <a class="xref" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;">4&#31456;<i><span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></div><div class="sect1" title="4. &#12497;&#12521;&#12513;&#12540;&#12479;&#12540;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1339"></a>4. &#12497;&#12521;&#12513;&#12540;&#12479;&#12540;</h2></div></div></div><p>&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12479;&#12473;&#12463;&#12434;&#20351;&#29992;&#12377;&#12427;&#38555;&#12395;&#12289;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#12497;&#12521;&#12513;&#12540;&#12479;&#12540;&#12395;&#12388;&#12356;&#12390;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;
+
+</p><div class="variablelist"><dl><dt><span class="term"><code class="literal">class</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12493;&#12473;&#12488;&#12373;&#12428;&#12427;&#35201;&#32032;&#12391;&#12377;&#12290;&#20998;&#26512;&#12398;&#23550;&#35937;&#12392;&#12394;&#12427;&#12463;&#12521;&#12473;&#32676;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;
+       <code class="literal">class</code> &#35201;&#32032;&#12395;&#12399; <code class="literal">location</code> &#23646;&#24615;&#12398;&#25351;&#23450;&#12364;&#24517;&#38920;&#12391;&#12377;&#12290;
+       &#20998;&#26512;&#23550;&#35937;&#12392;&#12394;&#12427;&#12450;&#12540;&#12459;&#12452;&#12502;&#12501;&#12449;&#12452;&#12523; (jar, zip, &#20182;)&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12414;&#12383;&#12399;&#12463;&#12521;&#12473;&#12501;&#12449;&#12452;&#12523;&#12398;&#21517;&#21069;&#12434;&#35352;&#36848;&#12375;&#12414;&#12377;&#12290;
+       1 &#12388;&#12398; <code class="literal">findbugs</code> &#35201;&#32032;&#12395;&#23550;&#12375;&#12390;&#12289;&#35079;&#25968;&#12398; <code class="literal">class</code> &#23376;&#35201;&#32032;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
+       </p><p><code class="literal">class</code> &#35201;&#32032;&#12398;&#25351;&#23450;&#12434;&#32622;&#12365;&#25563;&#12360;&#12427;&#12414;&#12383;&#12399;&#36861;&#21152;&#12377;&#12427;&#24418;&#12391;&#12289; <span class="application">FindBugs</span> &#12479;&#12473;&#12463;&#12395;1&#20491;&#20197;&#19978;&#12398; <code class="literal">fileset</code> &#35201;&#32032;&#12434;&#35352;&#36848;&#12377;&#12427;&#12371;&#12392;&#12391;
+       &#20998;&#26512;&#12377;&#12427;&#12501;&#12449;&#12452;&#12523;&#32676;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
+       &#20363;&#12360;&#12400;&#12289; fileset &#12395;&#12362;&#12356;&#12390;&#29305;&#23450;&#12398;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12395;&#12354;&#12427;&#20840;&#12390;&#12398; jar &#12501;&#12449;&#12452;&#12523;&#12434;&#20998;&#26512;&#23550;&#35937;&#12395;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
+       </p></dd><dt><span class="term"><code class="literal">auxClasspath</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12493;&#12473;&#12488;&#12373;&#12428;&#12427;&#35201;&#32032;&#12391;&#12377;&#12290;&#20998;&#26512;&#23550;&#35937;&#12398;&#12521;&#12452;&#12502;&#12521;&#12522;&#12540;&#12414;&#12383;&#12399;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12395;&#12424;&#12387;&#12390;&#20351;&#29992;&#12373;&#12428;&#12390;&#12356;&#12427;&#12364;&#20998;&#26512;&#12398;&#23550;&#35937;&#12395;&#12399;&#12375;&#12383;&#12367;&#12394;&#12356;&#12463;&#12521;&#12473;&#12434;&#21547;&#12435;&#12391;&#12356;&#12427;&#12463;&#12521;&#12473;&#12497;&#12473; (Jar &#12501;&#12449;&#12452;&#12523;&#12414;&#12383;&#12399;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;) &#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;  <span class="application">Ant</span> &#12398; Java &#12479;&#12473;&#12463;&#12395;&#12354;&#12427; <code class="literal">classpath</code> &#35201;&#32032; &#12392;&#21516;&#12376;&#26041;&#27861;&#12391;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">sourcePath</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12493;&#12473;&#12488;&#12373;&#12428;&#12427;&#35201;&#32032;&#12391;&#12377;&#12290;&#20998;&#26512;&#23550;&#35937; Java &#12467;&#12540;&#12489;&#12398;&#12467;&#12531;&#12497;&#12452;&#12523;&#26178;&#12395;&#20351;&#29992;&#12375;&#12383;&#12477;&#12540;&#12473;&#12501;&#12449;&#12452;&#12523;&#12434;&#21547;&#12435;&#12391;&#12356;&#12427;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12408;&#12398;&#12497;&#12473;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12477;&#12540;&#12473;&#12497;&#12473;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12426;&#12289;&#29983;&#25104;&#12373;&#12428;&#12427; XML &#12398;&#12496;&#12464;&#20986;&#21147;&#32080;&#26524;&#12395;&#23436;&#20840;&#12394;&#12477;&#12540;&#12473;&#24773;&#22577;&#12434;&#12418;&#12383;&#12379;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12289;&#24460;&#12395;&#12394;&#12387;&#12390; GUI &#12391;&#21442;&#29031;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">home</code></span></dt><dd><p>&#24517;&#38920;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12373;&#12428;&#12390;&#12356;&#12427;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#21517;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">quietErrors</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12502;&#12540;&#12523;&#20516;&#23646;&#24615;&#12391;&#12377;&#12290;true &#12434;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#28145;&#21051;&#12394;&#20998;&#26512;&#12456;&#12521;&#12540;&#30330;&#29983;&#12420;&#12463;&#12521;&#12473;&#12364;&#12415;&#12388;&#12363;&#12425;&#12394;&#12356;&#12392;&#12356;&#12387;&#12383;&#24773;&#22577;&#12364; <span class="application">FindBugs</span> &#20986;&#21147;&#12395;&#35352;&#37682;&#12373;&#12428;&#12414;&#12379;&#12435;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289; false &#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">reportLevel</code></span></dt><dd><p>
+       &#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#22577;&#21578;&#12373;&#12428;&#12427;&#21839;&#38988;&#12398;&#20449;&#38972;&#24230;&#12539;&#20778;&#20808;&#24230;&#12398;&#12375;&#12365;&#12356;&#20516;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;
+       &#12300;low&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#12496;&#12464;&#22577;&#21578;&#12364;&#20449;&#38972;&#24230;&#12395;&#12424;&#12426;&#38500;&#22806;&#12373;&#12428;&#12427;&#12371;&#12392;&#12399;&#12354;&#12426;&#12414;&#12379;&#12435;&#12290;
+       &#12300;medium&#12301; (&#12487;&#12501;&#12457;&#12523;&#12488;) &#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20449;&#38972;&#24230;(&#20302;)&#12398;&#21839;&#38988;&#12364;&#38500;&#22806;&#12373;&#12428;&#12414;&#12377;&#12290;
+       &#12300;high&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20449;&#38972;&#24230;(&#39640;) &#12398;&#12496;&#12464;&#12398;&#12415;&#12364;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;
+       </p></dd><dt><span class="term"><code class="literal">output</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#20986;&#21147;&#24418;&#24335;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12300;xml&#12301; (&#12487;&#12501;&#12457;&#12523;&#12488;) &#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399; XML &#24418;&#24335;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12300;xml:withMessages&#12301; &#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399;&#20154;&#38291;&#12364;&#35501;&#12417;&#12427;&#12513;&#12483;&#12475;&#12540;&#12472; &#12364;&#36861;&#21152;&#12373;&#12428;&#12383; XML &#24418;&#24335;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;(XSL &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#20351;&#12387;&#12390;&#12524;&#12509;&#12540;&#12488;&#12434;&#20316;&#25104;&#12377;&#12427;&#12371;&#12392;&#12434;&#35336;&#30011;&#12375;&#12390;&#12356;&#12427;&#22580;&#21512;&#12399;&#12371;&#12398;&#24418;&#24335;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;) &#12300;html&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399; HTML &#24418;&#24335;(&#12487;&#12501;&#12457;&#12523;&#12488;&#12398;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12399; default.xsl) &#12395;&#12394;&#12426;&#12414;&#12377;&#12290; &#12300;text&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399;&#29305;&#21029;&#12394;&#12486;&#12461;&#12473;&#12488;&#24418;&#24335;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12300;emacs&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399; <a class="ulink" href="http://www.gnu.org/software/emacs/" target="_top">Emacs</a> &#12456;&#12521;&#12540;&#12513;&#12483;&#12475;&#12540;&#12472;&#24418;&#24335;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12300;xdocs&#12301;&#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289;&#20986;&#21147;&#12399; Apache Maven &#12391;&#20351;&#29992;&#12391;&#12365;&#12427; xdoc XML &#12395;&#12394;&#12426;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">stylesheet</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;output &#23646;&#24615; &#12395; html &#12434;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12395;&#12289; HTML &#20986;&#21147;&#20316;&#25104;&#12395;&#20351;&#29992;&#12373;&#12428;&#12427;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;FindBugs &#37197;&#24067;&#29289;&#12395;&#21547;&#12414;&#12428;&#12390;&#12356;&#12427;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12399;&#12289; default.xsl&#12289; fancy.xsl &#12289; fancy-hist.xsl &#12289; plain.xsl &#12362;&#12424;&#12403; summary.xsl &#12391;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516;&#12399; default.xsl &#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">sort</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<code class="literal">output</code> &#23646;&#24615;&#12395;&#12300;text&#12301;&#12434;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12395;&#12289;&#12496;&#12464;&#12398;&#22577;&#21578;&#12434;&#12463;&#12521;&#12473;&#38918;&#12395;&#12477;&#12540;&#12488;&#12377;&#12427;&#12363;&#12393;&#12358;&#12363;&#12434; <code class="literal">sort</code> &#23646;&#24615;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289; true &#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">outputFile</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12289;<span class="application">FindBugs</span> &#12398;&#20986;&#21147;&#12399;&#12381;&#12398;&#21517;&#21069;&#12398;&#12501;&#12449;&#12452;&#12523;&#12408;&#12392;&#20445;&#23384;&#12373;&#12428;&#12414;&#12377;&#12290;&#30465;&#30053;&#26178;&#12289;&#20986;&#21147;&#12399; <span class="application">Ant</span> &#12395;&#12424;&#12387;&#12390;&#30452;&#25509;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">debug</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12502;&#12540;&#12523;&#20516;&#23646;&#24615;&#12391;&#12377;&#12290;true &#12395;&#35373;&#23450;&#12377;&#12427;&#12392;&#12289; <span class="application">FindBugs</span> &#12399; &#35386;&#26029;&#24773;&#22577;&#12434;&#20986;&#21147;&#12375;&#12414;&#12377;&#12290;&#12393;&#12398;&#12463;&#12521;&#12473;&#12434;&#20998;&#26512;&#12375;&#12390;&#12356;&#12427;&#12363;&#12289;&#12393;&#12398;&#12497;&#12464;&#12497;&#12479;&#12540;&#12531;&#12487;&#12451;&#12486;&#12463;&#12479;&#12364;&#23455;&#34892;&#12373;&#12428;&#12390;&#12356;&#12427;&#12363;&#12289;&#12392;&#12356;&#12358;&#24773;&#22577;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289; false &#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">effort</code></span></dt><dd><p>&#20998;&#26512;&#12398;&#27963;&#21205;&#12524;&#12505;&#12523;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">min</code> &#12289;<code class="literal">default</code> &#12414;&#12383;&#12399; <code class="literal">max</code> &#12398;&#12356;&#12378;&#12428;&#12363;&#12398;&#20516;&#12434;&#35373;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#20998;&#26512;&#12524;&#12505;&#12523;&#12398;&#35373;&#23450;&#12395;&#38306;&#12377;&#12427;&#35443;&#32048;&#24773;&#22577;&#12399;&#12289; <a class="xref" href="running.html#commandLineOptions" title="3. &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;">&#12300;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;&#12301;</a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">conserveSpace</code></span></dt><dd><p>effort="min" &#12392;&#21516;&#32681;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">workHard</code></span></dt><dd><p>effort="max" &#12392;&#21516;&#32681;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">visitors</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#12393;&#12398;&#12496;&#12464;&#12487;&#12451;&#12486;&#12463;&#12479;&#12434;&#23455;&#34892;&#12377;&#12427;&#12363;&#12434;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12398;&#12522;&#12473;&#12488;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12496;&#12464;&#12487;&#12451;&#12486;&#12463;&#12479;&#12399;&#12497;&#12483;&#12465;&#12540;&#12472;&#25351;&#23450;&#12394;&#12375;&#12398;&#12463;&#12521;&#12473;&#21517;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#30465;&#30053;&#26178;&#12289;&#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#28961;&#21177;&#21270;&#12373;&#12428;&#12390;&#12356;&#12427;&#12418;&#12398;&#12434;&#38500;&#12367;&#12377;&#12409;&#12390;&#12398;&#12487;&#12451;&#12486;&#12463;&#12479;&#12364;&#23455;&#34892;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">omitVisitors</code></span></dt><dd><p>
+       &#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;
+       &#12496;&#12464;&#12487;&#12451;&#12486;&#12463;&#12479;&#12434;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12398;&#12522;&#12473;&#12488;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;
+       <code class="literal">visitors</code> &#23646;&#24615;&#12392;&#20284;&#12390;&#12356;&#12414;&#12377;&#12364;&#12289;&#12371;&#12385;&#12425;&#12399; <span class="emphasis"><em>&#23455;&#34892;&#12373;&#12428;&#12394;&#12356;</em></span> &#12487;&#12451;&#12486;&#12463;&#12479;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;
+       </p></dd><dt><span class="term"><code class="literal">chooseVisitors</code></span></dt><dd><p>
+       &#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;
+       &#38957;&#12395;&#12300;+&#12301;&#12414;&#12383;&#12399;&#12300;-&#12301;&#12434;&#20184;&#12369;&#21152;&#12360;&#12383;&#12496;&#12464;&#12487;&#12451;&#12486;&#12463;&#12479;&#12434;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12398;&#12522;&#12473;&#12488;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;
+       &#12300;+&#12301;&#12434;&#20184;&#12369;&#21152;&#12360;&#12383;&#12496;&#12464;&#12487;&#12451;&#12486;&#12463;&#12479;&#12399;&#26377;&#21177;&#12395;&#12289;&#12300;-&#12301;&#12434;&#20184;&#12369;&#21152;&#12360;&#12383;&#12496;&#12464;&#12487;&#12451;&#12486;&#12463;&#12479;&#12399;&#28961;&#21177;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;
+       </p></dd><dt><span class="term"><code class="literal">excludeFilter</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#22577;&#21578;&#12363;&#12425;&#38500;&#22806;&#12373;&#12428;&#12427;&#12496;&#12464;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<a class="xref" href="filter.html" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;">8&#31456;<i>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">includeFilter</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#22577;&#21578;&#12373;&#12428;&#12427;&#12496;&#12464;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<a class="xref" href="filter.html" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;">8&#31456;<i>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">projectFile</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12501;&#12449;&#12452;&#12523;&#12399;&#12289; <span class="application">FindBugs</span> GUI &#12391;&#20316;&#25104;&#12375;&#12414;&#12377;&#12290;&#20998;&#26512;&#12373;&#12428;&#12427;&#12463;&#12521;&#12473;&#12289;&#12362;&#12424;&#12403;&#12289;&#35036;&#21161;&#12463;&#12521;&#12473;&#12497;&#12473;&#12289;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12364;&#35352;&#20837;&#12373;&#12428;&#12390;&#12414;&#12377;&#12290;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289; <code class="literal">class</code> &#35201;&#32032;&#12539; <code class="literal">auxClasspath</code> &#23646;&#24615;&#12362;&#12424;&#12403; <code class="literal">sourcePath</code> &#23646;&#24615;&#12434;&#35373;&#23450;&#12377;&#12427;&#24517;&#35201;&#12399;&#12354;&#12426;&#12414;&#12379;&#12435;&#12290;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#20316;&#25104;&#26041;&#27861;&#12399;&#12289; <a class="xref" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;">4&#31456;<i><span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">jvmargs</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12434;&#23455;&#34892;&#12375;&#12390;&#12356;&#12427; Java &#20206;&#24819;&#12510;&#12471;&#12531;&#12395;&#23550;&#12375;&#12390;&#21463;&#12369;&#28193;&#12373;&#12428;&#12427;&#24341;&#25968;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#24040;&#22823;&#12394;&#12503;&#12525;&#12464;&#12521;&#12512;&#12434;&#20998;&#26512;&#12377;&#12427;&#22580;&#21512;&#12395;&#12289; JVM &#12364;&#20351;&#29992;&#12377;&#12427;&#12513;&#12514;&#12522;&#23481;&#37327;&#12434;&#22679;&#12420;&#12377;&#25351;&#23450;&#12434;&#12377;&#12427;&#12383;&#12417;&#12395;&#12371;&#12398;&#24341;&#25968;&#12434;&#21033;&#29992;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12427;&#12363;&#12418;&#12375;&#12428;&#12414;&#12379;&#12435;&#12290;</p></dd><dt><span class="term"><code class="literal">systemProperty</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12493;&#12473;&#12488;&#12373;&#12428;&#12427;&#35201;&#32032;&#12391;&#12377;&#12290;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12289;Java &#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12434;&#23450;&#32681;&#12375;&#12414;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12395;&#12399;&#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12398;&#21517;&#21069;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12381;&#12375;&#12390;&#12289; <code class="literal">value</code> &#23646;&#24615;&#12395;&#12399;&#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12398;&#20516;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">timeout</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12434;&#23455;&#34892;&#12375;&#12390;&#12356;&#12427; Java &#12503;&#12525;&#12475;&#12473; &#12398;&#23455;&#34892;&#35377;&#23481;&#26178;&#38291;&#12434;&#12511;&#12522;&#31186;&#21336;&#20301;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#26178;&#38291;&#12434;&#36229;&#36942;&#12377;&#12427;&#12392;&#12495;&#12531;&#12464;&#12450;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12392;&#21028;&#26029;&#12375;&#12390;&#12503;&#12525;&#12475;&#12473;&#12364;&#32066;&#20102;&#12373;&#12428;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289; 600,000 &#12511;&#12522;&#31186; (10 &#20998;) &#12391;&#12377;&#12290;&#24040;&#22823;&#12394;&#12503;&#12525;&#12464;&#12521;&#12512;&#12398;&#22580;&#21512;&#12399;&#12289; <span class="application">FindBugs</span> &#12364;&#20998;&#26512;&#12434;&#23436;&#20102;&#12377;&#12427;&#12414;&#12391;&#12395; 10 &#20998; &#20197;&#19978;&#25499;&#12363;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12427;&#12371;&#12392;&#12395;&#27880;&#24847;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">failOnError</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#12502;&#12540;&#12523;&#20516;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12398;&#23455;&#34892;&#20013;&#12395;&#12456;&#12521;&#12540;&#12364;&#12354;&#12387;&#12383;&#22580;&#21512;&#12395;&#12289;&#12499;&#12523;&#12489;&#12503;&#12525;&#12475;&#12473;&#33258;&#20307;&#12434;&#25171;&#12385;&#20999;&#12387;&#12390;&#30064;&#24120;&#32066;&#20102;&#12373;&#12379;&#12427;&#12363;&#12393;&#12358;&#12363;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289;&#12300;false&#12301;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">errorProperty</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12398;&#23455;&#34892;&#20013;&#12395;&#12456;&#12521;&#12540;&#12364;&#30330;&#29983;&#12375;&#12383;&#22580;&#21512;&#12395;&#12289;&#12300;true&#12301;&#12364;&#35373;&#23450;&#12373;&#12428;&#12427;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12398;&#21517;&#21069;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">warningsProperty</code></span></dt><dd><p>&#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12364;&#20998;&#26512;&#12375;&#12383;&#12503;&#12525;&#12464;&#12521;&#12512;&#12395;&#12496;&#12464;&#22577;&#21578;&#12364; 1 &#20214;&#12391;&#12418;&#12354;&#12427;&#22580;&#21512;&#12395;&#12289;&#12300;true&#12301;&#12364;&#35373;&#23450;&#12373;&#12428;&#12427;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12398;&#21517;&#21069;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">userPreferencesFile</code></span></dt><dd><p>
+              &#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;
+              &#12518;&#12540;&#12470;&#12540;&#35373;&#23450;&#12501;&#12449;&#12452;&#12523;&#12398;&#12497;&#12473;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;&#12518;&#12540;&#12470;&#12540;&#35373;&#23450;&#12501;&#12449;&#12452;&#12523;&#12398;&#20869;&#23481;&#12391;&#12289;&#20182;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12398;&#19968;&#37096;&#12434;&#19978;&#26360;&#12365;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290; 
+              <code class="literal">userPreferencesFile</code> &#12434;&#19968;&#30058;&#30446;&#12398;&#24341;&#25968;&#12395;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#24460;&#32154;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12398;&#26041;&#12364;&#12518;&#12540;&#12470;&#12540;&#35373;&#23450;&#12501;&#12449;&#12452;&#12523;&#12398;&#20869;&#23481;&#12395;&#20778;&#20808;&#12375;&#12414;&#12377;&#12290;
+              <code class="literal">userPreferencesFile</code> &#12434;&#26368;&#24460;&#12398;&#24341;&#25968;&#12395;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#12518;&#12540;&#12470;&#12540;&#35373;&#23450;&#12501;&#12449;&#12452;&#12523;&#12398;&#20869;&#23481;&#12398;&#26041;&#12364;&#21069;&#12395;&#25351;&#23450;&#12375;&#12383;&#12458;&#12503;&#12471;&#12519;&#12531;&#12395;&#20778;&#20808;&#12375;&#12414;&#12377;&#12290;
+              &#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#35373;&#12369;&#12383;&#32972;&#26223;&#12539;&#29702;&#30001;&#12399;&#12289; Eclipse &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398; FindBugs &#12398;&#35373;&#23450;&#12434;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#23455;&#34892;&#12391;&#20877;&#21033;&#29992;&#12377;&#12427;&#12383;&#12417;&#12391;&#12377;&#12290;
+            </p></dd><dt><span class="term"><code class="literal">nested</code></span></dt><dd><p>
+              &#20219;&#24847;&#25351;&#23450;&#12398;&#23646;&#24615;&#12391;&#12377;&#12290;&#20998;&#26512;&#23550;&#35937;&#12398;&#12501;&#12449;&#12452;&#12523;&#12539;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12522;&#12473;&#12488;&#12395;&#12354;&#12427;&#12501;&#12449;&#12452;&#12523;&#20869;&#12395;&#12493;&#12473;&#12488;&#12373;&#12428;&#12383; jar &#12362;&#12424;&#12403; zip &#12501;&#12449;&#12452;&#12523;&#12395;&#23550;&#12377;&#12427;&#20998;&#26512;&#12434;&#26377;&#21177;&#21270;&#12539;&#28961;&#21177;&#21270;&#12375;&#12414;&#12377;&#12290;
+              &#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#12399;&#12289;&#12493;&#12473;&#12488;&#12373;&#12428;&#12383; jar/zip &#12398;&#20998;&#26512;&#12399;&#26377;&#21177;&#12391;&#12377;&#12290;
+          </p></dd></dl></div><p>
 
 
 </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="gui.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="eclipse.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;5&#31456; <span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;7&#31456; <span class="application">FindBugs</span>&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/ja/manual/building.html b/doc/ja/manual/building.html
index 299264f..65113a2 100644
--- a/doc/ja/manual/building.html
+++ b/doc/ja/manual/building.html
@@ -1,16 +1,16 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>&#31532;3&#31456; FindBugs&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="installing.html" title="&#31532;2&#31456; FindBugs&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;"><link rel="next" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;3&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="installing.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="running.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;3&#31456; FindBugs&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;"><div class="titlepage"><div><div><h2 class="title"><a name="building"></a>&#31532;3&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="building.html#d0e175">1. &#21069;&#25552;&#26465;&#20214;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e258">2. &#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e271">3. <code class="filename">local.properties</code> &#12398;&#20462;&#27491;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e326">4. <span class="application">Ant</span> &#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e420">5. &#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12363;&#12425;&#12398; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</a></span></dt></dl></div><p>&#12371;&#12398;&#31456;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12434;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12363;&#12425;&#12499;&#12523;&#12489;&#12377;&#12427;&#26041;&#27861;&#12434;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12434;&#20462;&#27491;&#12377;&#12427;&#12371;&#12392;&#12395;&#33288;&#21619;&#12364;&#12394;&#12356;&#12398;&#12391;&#12354;&#12428;&#12400;&#12289; <a class="link" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;">&#27425;&#12398;&#31456;</a> &#12395;&#36914;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;</p><div class="sect1" title="1. &#21069;&#25552;&#26465;&#20214;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e175"></a>1. &#21069;&#25552;&#26465;&#20214;</h2></div></div></div><p>&#12477;&#12540;&#12473;&#12363;&#12425; <span class="application">FindBugs</span> &#12434;&#12467;&#12531;&#12497;&#12452;&#12523;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289;&#20197;&#19979;&#12398;&#12418;&#12398;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3-source.zip?download" target="_top"><span class="application">FindBugs</span> &#12398;&#12477;&#12540;&#12473;&#37197;&#24067;&#29289;</a>
+   <title>&#31532;3&#31456; FindBugs&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="installing.html" title="&#31532;2&#31456; FindBugs&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;"><link rel="next" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;3&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="installing.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="running.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;3&#31456; FindBugs&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;"><div class="titlepage"><div><div><h2 class="title"><a name="building"></a>&#31532;3&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="building.html#d0e167">1. &#21069;&#25552;&#26465;&#20214;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e250">2. &#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e263">3. <code class="filename">local.properties</code> &#12398;&#20462;&#27491;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e318">4. <span class="application">Ant</span> &#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e412">5. &#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12363;&#12425;&#12398; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</a></span></dt></dl></div><p>&#12371;&#12398;&#31456;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12434;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12363;&#12425;&#12499;&#12523;&#12489;&#12377;&#12427;&#26041;&#27861;&#12434;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12434;&#20462;&#27491;&#12377;&#12427;&#12371;&#12392;&#12395;&#33288;&#21619;&#12364;&#12394;&#12356;&#12398;&#12391;&#12354;&#12428;&#12400;&#12289; <a class="link" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;">&#27425;&#12398;&#31456;</a> &#12395;&#36914;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;</p><div class="sect1" title="1. &#21069;&#25552;&#26465;&#20214;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e167"></a>1. &#21069;&#25552;&#26465;&#20214;</h2></div></div></div><p>&#12477;&#12540;&#12473;&#12363;&#12425; <span class="application">FindBugs</span> &#12434;&#12467;&#12531;&#12497;&#12452;&#12523;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289;&#20197;&#19979;&#12398;&#12418;&#12398;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0-source.zip?download" target="_top"><span class="application">FindBugs</span> &#12398;&#12477;&#12540;&#12473;&#37197;&#24067;&#29289;</a>
     </p></li><li class="listitem"><p>
-      <a class="ulink" href="http://java.sun.com/j2se/" target="_top">JDK 1.5.0 &#12505;&#12540;&#12479; &#12414;&#12383;&#12399;&#12381;&#12428;&#20197;&#38477;</a>
+      <a class="ulink" href="http://java.sun.com/j2se/" target="_top">JDK 1.5.0 &#12414;&#12383;&#12399;&#12381;&#12428;&#20197;&#38477;</a>
     </p></li><li class="listitem"><p>
       <a class="ulink" href="http://ant.apache.org/" target="_top">Apache <span class="application">Ant</span></a>, &#12496;&#12540;&#12472;&#12519;&#12531; 1.6.3 &#12414;&#12383;&#12399;&#12381;&#12428;&#20197;&#38477;</p></li></ul></div><p>
 </p><div class="warning" title="&#35686;&#21578;" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[&#35686;&#21578;]" src="warning.png"></td><th align="left">&#35686;&#21578;</th></tr><tr><td align="left" valign="top"><p>Redhat Linux &#12471;&#12473;&#12486;&#12512;&#12398; <code class="filename">/usr/bin/ant</code> &#12395;&#21516;&#26801;&#12373;&#12428;&#12390;&#12356;&#12427; <span class="application">Ant</span> &#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12398;&#12467;&#12531;&#12497;&#12452;&#12523;&#12399;<span class="emphasis"><em>&#12358;&#12414;&#12367;&#12391;&#12365;&#12414;&#12379;&#12435;</em></span>&#12290;<a class="ulink" href="http://ant.apache.org/" target="_top"><span class="application">Ant</span> web &#12469;&#12452;&#12488;</a>&#12363;&#12425;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12375;&#12390;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12377;&#12427;&#12371;&#12392;&#12434;&#25512;&#22888;&#12375;&#12414;&#12377;&#12290;<span class="application">Ant</span> &#12434;&#23455;&#34892;&#12377;&#12427;&#22580;&#21512;&#12399;&#12289; &#29872;&#22659;&#22793;&#25968; <em class="replaceable"><code>JAVA_HOME</code></em> &#12364;  JDK 1.5 (&#12414;&#12383;&#12399;&#12381;&#12428;&#20197;&#38477;)&#12434;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12383;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#25351;&#12375;&#12390;&#12356;&#12427;&#12371;&#12392;&#12434;&#30906;&#35469;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></td></tr></table></div><p>&#20307;&#35009;&#12398;&#25972;&#12387;&#12383; <span class="application">FindBugs</span> &#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#29983;&#25104;&#12375;&#12383;&#12356;&#22580;&#21512;&#12399;&#12289;&#20197;&#19979;&#12398;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;&#12418;&#24517;&#35201;&#12392;&#12394;&#12426;&#12414;&#12377;:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="ulink" href="http://docbook.sourceforge.net/projects/xsl/index.html" target="_top">DocBook XSL &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;</a>&#12290;<span class="application">FindBugs</span> &#12398;&#12510;&#12491;&#12517;&#12450;&#12523;&#12434; HTML &#12395;&#22793;&#25563;&#12377;&#12427;&#12398;&#12395;&#24517;&#35201;&#12391;&#12377;&#12290;</p></li><li class="listitem"><p><a class="ulink" href="http://saxon.sourceforge.net/" target="_top"><span class="application">Saxon</span> XSLT &#12503;&#12525;&#12475;&#12483;&#12469;&#12540;</a>&#12290;(&#21516;&#27096;&#12395;&#12289; <span class="application">FindBugs</span> &#12398;&#12510;&#12491;&#12517;&#12450;&#12523;&#12434; HTML &#12395;&#22793;&#25563;&#12377;&#12427;&#12398;&#12395;&#24517;&#35201;&#12391;&#12377;&#12290;)</p></li></ul></div><p>
-</p></div><div class="sect1" title="2. &#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e258"></a>2. &#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</h2></div></div></div><p>&#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12375;&#12383;&#24460;&#12395;&#12289;&#12381;&#12428;&#12434;&#20316;&#26989;&#29992;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#23637;&#38283;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#36890;&#24120;&#12399;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#12467;&#12510;&#12531;&#12489;&#12391;&#23637;&#38283;&#12434;&#34892;&#12356;&#12414;&#12377;:</p><pre class="screen">
-<code class="prompt">$ </code><span class="command"><strong>unzip findbugs-2.0.3-source.zip</strong></span>
+</p></div><div class="sect1" title="2. &#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e250"></a>2. &#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</h2></div></div></div><p>&#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12375;&#12383;&#24460;&#12395;&#12289;&#12381;&#12428;&#12434;&#20316;&#26989;&#29992;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#23637;&#38283;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#36890;&#24120;&#12399;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#12467;&#12510;&#12531;&#12489;&#12391;&#23637;&#38283;&#12434;&#34892;&#12356;&#12414;&#12377;:</p><pre class="screen">
+<code class="prompt">$ </code><span class="command"><strong>unzip findbugs-3.0.0-source.zip</strong></span>
 </pre><p>
 
-</p></div><div class="sect1" title="3. local.properties &#12398;&#20462;&#27491;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e271"></a>3. <code class="filename">local.properties</code> &#12398;&#20462;&#27491;</h2></div></div></div><p>FindBugs &#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#12499;&#12523;&#12489;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289; <code class="filename">local.properties</code> &#12501;&#12449;&#12452;&#12523;&#12434;&#20462;&#27491;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12371;&#12398;&#12501;&#12449;&#12452;&#12523;&#12399;&#12289; <span class="application">FindBugs</span> &#12434;&#12499;&#12523;&#12489;&#12377;&#12427;&#38555;&#12395; <a class="ulink" href="http://ant.apache.org/" target="_top"><span class="application">Ant</span></a> <code class="filename">build.xml</code> &#12501;&#12449;&#12452;&#12523;&#12364;&#21442;&#29031;&#12375;&#12414;&#12377;&#12290;FindBugs &#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#12499;&#12523;&#12489;&#12375;&#12394;&#12356;&#22580;&#21512;&#12399;&#12289;&#12371;&#12398;&#12501;&#12449;&#12452;&#12523;&#12399;&#28961;&#35222;&#12375;&#12390;&#12418;&#12363;&#12414;&#12356;&#12414;&#12379;&#12435;&#12290;</p><p><code class="filename">local.properties</code> &#12391;&#12398;&#23450;&#32681;&#12399;&#12289; <code class="filename">build.properties</code> &#12501;&#12449;&#12452;&#12523;&#12391;&#12398;&#23450;&#32681;&#12395;&#20778;&#20808;&#12375;&#12414;&#12377;&#12290;<code class="filename">build.properties</code> &#12399;&#27425;&#12398;&#12424;&#12358;&#12394;&#20869;&#23481;&#12391;&#12377;:</p><pre class="programlisting">
+</p></div><div class="sect1" title="3. local.properties &#12398;&#20462;&#27491;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e263"></a>3. <code class="filename">local.properties</code> &#12398;&#20462;&#27491;</h2></div></div></div><p>FindBugs &#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#12499;&#12523;&#12489;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289; <code class="filename">local.properties</code> &#12501;&#12449;&#12452;&#12523;&#12434;&#20462;&#27491;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12371;&#12398;&#12501;&#12449;&#12452;&#12523;&#12399;&#12289; <span class="application">FindBugs</span> &#12434;&#12499;&#12523;&#12489;&#12377;&#12427;&#38555;&#12395; <a class="ulink" href="http://ant.apache.org/" target="_top"><span class="application">Ant</span></a> <code class="filename">build.xml</code> &#12501;&#12449;&#12452;&#12523;&#12364;&#21442;&#29031;&#12375;&#12414;&#12377;&#12290;FindBugs &#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#12499;&#12523;&#12489;&#12375;&#12394;&#12356;&#22580;&#21512;&#12399;&#12289;&#12371;&#12398;&#12501;&#12449;&#12452;&#12523;&#12399;&#28961;&#35222;&#12375;&#12390;&#12418;&#12363;&#12414;&#12356;&#12414;&#12379;&#12435;&#12290;</p><p><code class="filename">local.properties</code> &#12391;&#12398;&#23450;&#32681;&#12399;&#12289; <code class="filename">build.properties</code> &#12501;&#12449;&#12452;&#12523;&#12391;&#12398;&#23450;&#32681;&#12395;&#20778;&#20808;&#12375;&#12414;&#12377;&#12290;<code class="filename">build.properties</code> &#12399;&#27425;&#12398;&#12424;&#12358;&#12394;&#20869;&#23481;&#12391;&#12377;:</p><pre class="programlisting">
 
 # User Configuration:
 # This section must be modified to reflect your system.
@@ -28,7 +28,7 @@
 saxon.home              =${local.software.home}/java/saxon-6.5.5
 
 </pre><p>
-</p><p><code class="varname">xsl.stylesheet.home</code> &#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12395;&#12399;&#12289;<a class="ulink" href="http://docbook.sourceforge.net/projects/xsl/" target="_top">DocBook Modular XSL &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;</a>&#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12390;&#12354;&#12427;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;&#32118;&#23550;&#12497;&#12473;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#29983;&#25104;&#12375;&#12424;&#12358;&#12392;&#32771;&#12360;&#12390;&#12356;&#12427;&#22580;&#21512;&#12395;&#12398;&#12415;&#12289;&#12371;&#12398;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12434;&#25351;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p><p><code class="varname">saxon.home</code> &#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12395;&#12399;&#12289;<a class="ulink" href="http://saxon.sourceforge.net/" target="_top"><span class="application">Saxon</span> XSLT &#12503;&#12525;&#12475;&#12483;&#12469;&#12540;</a>&#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12390;&#12354;&#12427;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;&#32118;&#23550;&#12497;&#12473;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#29983;&#25104;&#12375;&#12424;&#12358;&#12392;&#32771;&#12360;&#12390;&#12356;&#12427;&#22580;&#21512;&#12395;&#12398;&#12415;&#12289;&#12371;&#12398;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12434;&#25351;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="4. Ant &#12398;&#23455;&#34892;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e326"></a>4. <span class="application">Ant</span> &#12398;&#23455;&#34892;</h2></div></div></div><p>&#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;&#12289; <span class="application">Ant</span> &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12289;<code class="filename">build.properties</code>(<code class="filename">local.properties</code>) &#12398;&#20462;&#27491; (&#12371;&#12428;&#12399;&#20219;&#24847;) &#12362;&#12424;&#12403;&#12484;&#12540;&#12523; (<span class="application">Saxon</span> &#12394;&#12393;)&#12398;&#29872;&#22659;&#27083;&#31689;&#12364;&#12391;&#12365;&#12428;&#12400;&#12289; <span class="application">FindBugs</span> &#12434;&#12499;&#12523;&#12489;&#12377;&#12427;&#12383;&#12417;&#12398;&#28310;&#20633;&#12399;&#23436;&#20102;&#12391;&#12377;&#12290;<span class="application">Ant</span> &#12398;&#36215;&#21205;&#12377;&#12427;&#26041;&#27861;&#12399;&#12289;&#21336;&#12395;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12377;&#12427;&#12384;&#12369;&#12391;&#12377;&#12290;</p><pre class="screen">
+</p><p><code class="varname">xsl.stylesheet.home</code> &#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12395;&#12399;&#12289;<a class="ulink" href="http://docbook.sourceforge.net/projects/xsl/" target="_top">DocBook Modular XSL &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;</a>&#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12390;&#12354;&#12427;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;&#32118;&#23550;&#12497;&#12473;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#29983;&#25104;&#12375;&#12424;&#12358;&#12392;&#32771;&#12360;&#12390;&#12356;&#12427;&#22580;&#21512;&#12395;&#12398;&#12415;&#12289;&#12371;&#12398;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12434;&#25351;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p><p><code class="varname">saxon.home</code> &#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12395;&#12399;&#12289;<a class="ulink" href="http://saxon.sourceforge.net/" target="_top"><span class="application">Saxon</span> XSLT &#12503;&#12525;&#12475;&#12483;&#12469;&#12540;</a>&#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12390;&#12354;&#12427;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;&#32118;&#23550;&#12497;&#12473;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#29983;&#25104;&#12375;&#12424;&#12358;&#12392;&#32771;&#12360;&#12390;&#12356;&#12427;&#22580;&#21512;&#12395;&#12398;&#12415;&#12289;&#12371;&#12398;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12434;&#25351;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="4. Ant &#12398;&#23455;&#34892;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e318"></a>4. <span class="application">Ant</span> &#12398;&#23455;&#34892;</h2></div></div></div><p>&#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;&#12289; <span class="application">Ant</span> &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12289;<code class="filename">build.properties</code>(<code class="filename">local.properties</code>) &#12398;&#20462;&#27491; (&#12371;&#12428;&#12399;&#20219;&#24847;) &#12362;&#12424;&#12403;&#12484;&#12540;&#12523; (<span class="application">Saxon</span> &#12394;&#12393;)&#12398;&#29872;&#22659;&#27083;&#31689;&#12364;&#12391;&#12365;&#12428;&#12400;&#12289; <span class="application">FindBugs</span> &#12434;&#12499;&#12523;&#12489;&#12377;&#12427;&#12383;&#12417;&#12398;&#28310;&#20633;&#12399;&#23436;&#20102;&#12391;&#12377;&#12290;<span class="application">Ant</span> &#12398;&#36215;&#21205;&#12377;&#12427;&#26041;&#27861;&#12399;&#12289;&#21336;&#12395;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12377;&#12427;&#12384;&#12369;&#12391;&#12377;&#12290;</p><pre class="screen">
 <code class="prompt">$ </code><span class="command"><strong>ant <em class="replaceable"><code>target</code></em></strong></span>
 </pre><p><em class="replaceable"><code>target</code></em> &#12395;&#12399;&#20197;&#19979;&#12398;&#12356;&#12378;&#12428;&#12363;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;: </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>build</strong></span></span></dt><dd><p>&#12371;&#12398;&#12479;&#12540;&#12466;&#12483;&#12488;&#12399;&#12289; <span class="application">FindBugs</span> &#12398;&#12467;&#12540;&#12489;&#12434;&#12467;&#12531;&#12497;&#12452;&#12523;&#12375;&#12414;&#12377;&#12290;&#12371;&#12428;&#12399;&#12289;&#12487;&#12501;&#12457;&#12523;&#12488;&#12398;&#12479;&#12540;&#12466;&#12483;&#12488;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>docs</strong></span></span></dt><dd><p>&#12371;&#12398;&#12479;&#12540;&#12466;&#12483;&#12488;&#12399;&#12289;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12398;&#25972;&#24418;&#12434;&#34892;&#12356;&#12414;&#12377;(&#12414;&#12383;&#12289;&#21103;&#20316;&#29992;&#12392;&#12375;&#12390;&#12356;&#12367;&#12388;&#12363;&#12398;&#12477;&#12540;&#12473;&#12398;&#12467;&#12531;&#12497;&#12452;&#12523;&#12418;&#34892;&#12356;&#12414;&#12377;&#12290;)</p></dd><dt><span class="term"><span class="command"><strong>runjunit</strong></span></span></dt><dd><p>&#12371;&#12398;&#12479;&#12540;&#12466;&#12483;&#12488;&#12399;&#12289;&#12467;&#12531;&#12497;&#12452;&#12523;&#12434;&#34892;&#12356; <span class="application">FindBugs</span> &#12364;&#25345;&#12387;&#12390;&#12356;&#12427; JUnit &#12486;&#12473;&#12488;&#12434;&#23455;&#34892;&#12375;&#12414;&#12377;&#12290;&#12518;&#12491;&#12483;&#12488;&#12486;&#12473;&#12488;&#12364;&#22833;&#25943;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#12456;&#12521;&#12540;&#12513;&#12483;&#12475;&#12540;&#12472;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>bindist</strong></span></span></dt><dd><p><span class="application">FindBugs</span> &#12398;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12434;&#27083;&#31689;&#12375;&#12414;&#12377;&#12290;&#12371;&#12398;&#12479;&#12540;&#12466;&#12483;&#12488;&#12399;&#12289; <code class="filename">.zip</code> &#12362;&#12424;&#12403; <code class="filename">.tar.gz</code> &#12398;&#12450;&#12540;&#12459;&#12452;&#12502;&#12434;&#12381;&#12428;&#12382;&#12428;&#20316;&#25104;&#12375;&#12414;&#12377;&#12290;</p></dd></dl></div><p>
 </p><p><span class="application">Ant</span> &#12467;&#12510;&#12531;&#12489;&#12398;&#23455;&#34892;&#24460;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#20986;&#21147;&#12364;&#34920;&#31034;&#12373;&#12428;&#12427;&#12399;&#12378;&#12391;&#12377;&#12290; (&#12371;&#12398;&#21069;&#12395; <span class="application">Ant</span> &#12364;&#23455;&#34892;&#12375;&#12383;&#12479;&#12473;&#12463;&#12395;&#38306;&#12377;&#12427;&#12513;&#12483;&#12475;&#12540;&#12472;&#12418;&#12356;&#12367;&#12425;&#12363;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;):</p><pre class="screen">
@@ -37,4 +37,4 @@
 Total time: 17 seconds
 </code>
 </pre><p>
-</p></div><div class="sect1" title="5. &#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12363;&#12425;&#12398; FindBugs&#8482; &#12398;&#23455;&#34892;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e420"></a>5. &#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12363;&#12425;&#12398; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</h2></div></div></div><p><span class="command"><strong>build</strong></span> &#12479;&#12540;&#12466;&#12483;&#12488;&#12398;&#23455;&#34892;&#12364;&#32066;&#20102;&#12377;&#12427;&#12392;&#12289;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12392;&#21516;&#27096;&#12398;&#29366;&#24907;&#12364;&#20316;&#26989;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#27083;&#31689;&#12373;&#12428;&#12427;&#12424;&#12358;&#12395; <span class="application">FindBugs</span> &#12398;<span class="application">Ant</span> &#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;&#12399;&#35352;&#36848;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;<a class="xref" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;">4&#31456;<i><span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</i></a> &#12398;  <span class="application">FindBugs</span> &#12398;&#23455;&#34892;&#12395;&#38306;&#12377;&#12427;&#24773;&#22577;&#12399;&#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#22580;&#21512;&#12395;&#12418;&#24540;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="installing.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="running.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;2&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;4&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</td></tr></table></div></body></html>
\ No newline at end of file
+</p></div><div class="sect1" title="5. &#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12363;&#12425;&#12398; FindBugs&#8482; &#12398;&#23455;&#34892;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e412"></a>5. &#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12363;&#12425;&#12398; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</h2></div></div></div><p><span class="command"><strong>build</strong></span> &#12479;&#12540;&#12466;&#12483;&#12488;&#12398;&#23455;&#34892;&#12364;&#32066;&#20102;&#12377;&#12427;&#12392;&#12289;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12392;&#21516;&#27096;&#12398;&#29366;&#24907;&#12364;&#20316;&#26989;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#27083;&#31689;&#12373;&#12428;&#12427;&#12424;&#12358;&#12395; <span class="application">FindBugs</span> &#12398;<span class="application">Ant</span> &#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;&#12399;&#35352;&#36848;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;<a class="xref" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;">4&#31456;<i><span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</i></a> &#12398;  <span class="application">FindBugs</span> &#12398;&#23455;&#34892;&#12395;&#38306;&#12377;&#12427;&#24773;&#22577;&#12399;&#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#22580;&#21512;&#12395;&#12418;&#24540;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="installing.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="running.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;2&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;4&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/ja/manual/datamining.html b/doc/ja/manual/datamining.html
index 31b97f9..3f0caab 100644
--- a/doc/ja/manual/datamining.html
+++ b/doc/ja/manual/datamining.html
@@ -35,7 +35,7 @@
     &lt;datafile name="analyze.xml"/&gt;
 &lt;/filterBugs&gt;
 
-</pre><div class="table"><a name="filterOptionsTable"></a><p class="title"><b>&#34920;12.2 filterBugs &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</b></p><div class="table-contents"><table summary="filterBugs &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</th><th align="left">Ant &#23646;&#24615;</th><th align="left">&#30446;&#30340;</th></tr></thead><tbody><tr><td align="left">&nbsp;</td><td align="left">input="&lt;file&gt;"</td><td align="left">&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">&nbsp;</td><td align="left">output="&lt;file&gt;"</td><td align="left">&#20986;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-not</td><td align="left">not="[true|false]"</td><td align="left">&#12501;&#12451;&#12523;&#12479;&#12540;&#12398;&#12473;&#12452;&#12483;&#12481;&#12434;&#21453;&#36578;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-withSource[:truth]</td><td align="left">withSource="[true|false]"</td><td align="left">&#12477;&#12540;&#12473;&#12364;&#20837;&#25163;&#21487;&#33021;&#12394;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-exclude &lt;filter file&gt;</td><td align="left">exclude="&lt;filter file&gt;"</td><td align="left">&#12501;&#12451;&#12523;&#12479;&#12540;&#12395;&#19968;&#33268;&#12377;&#12427;&#12496;&#12464;&#12364;&#38500;&#22806;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-include &lt;filter file&gt;</td><td align="left">include="&lt;filter file&gt;"</td><td align="left">&#12501;&#12451;&#12523;&#12479;&#12540;&#12395;&#19968;&#33268;&#12377;&#12427;&#12496;&#12464;&#12398;&#12415;&#12434;&#21547;&#12414;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-annotation &lt;text&gt;</td><td align="left">annotation="&lt;text&gt;"</td><td align="left">&#25163;&#12391;&#20837;&#21147;&#12375;&#12383;&#27880;&#37320;&#12395;&#25351;&#23450;&#12375;&#12383;&#25991;&#35328;&#12434;&#21547;&#12416;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-after &lt;when&gt;</td><td align="left">after="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12424;&#12426;&#24460;&#12395;&#21021;&#12417;&#12390;&#20986;&#29694;&#12375;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-before &lt;when&gt;</td><td align="left">before="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12424;&#12426;&#21069;&#12395;&#21021;&#12417;&#12390;&#20986;&#29694;&#12375;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-first &lt;when&gt;</td><td align="left">first="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#21021;&#12417;&#12390;&#20986;&#29694;&#12375;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-last &lt;when&gt;</td><td align="left">last="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364;&#20986;&#29694;&#12375;&#12383;&#26368;&#24460;&#12391;&#12354;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-fixed &lt;when&gt;</td><td align="left">fixed="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;&#21069;&#22238;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364;&#20986;&#29694;&#12375;&#12383;&#26368;&#24460;&#12391;&#12354;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290; (<code class="option">-last</code> &#12395;&#20778;&#20808;&#12375;&#12414;&#12377;)&#12290;</td></tr><tr><td align="left">-present &lt;when&gt;</td><td align="left">present="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12377;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-absent &lt;when&gt;</td><td align="left">absent="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12375;&#12394;&#12356;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-active[:truth]</td><td align="left">active="[true|false]"</td><td align="left">&#26368;&#32066;&#36890;&#30058;&#12395;&#23384;&#22312;&#12377;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-introducedByChange[:truth]</td><td align="left">introducedByChange="[true|false]"</td><td align="left">&#23384;&#22312;&#12377;&#12427;&#12463;&#12521;&#12473;&#12398;&#22793;&#26356;&#12395;&#12424;&#12387;&#12390;&#12418;&#12383;&#12425;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-removedByChange[:truth]</td><td align="left">removedByChange="[true|false]"</td><td align="left">&#23384;&#22312;&#12377;&#12427;&#12463;&#12521;&#12473;&#12398;&#22793;&#26356;&#12395;&#12424;&#12387;&#12390;&#38500;&#21435;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-newCode[:truth]</td><td align="left">newCode="[true|false]"</td><td align="left">&#26032;&#12463;&#12521;&#12473;&#12398;&#36861;&#21152;&#12395;&#12424;&#12387;&#12390;&#12418;&#12383;&#12425;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-removedCode[:truth]</td><td align="left">removedCode="[true|false]"</td><td align="left">&#12463;&#12521;&#12473;&#12398;&#21066;&#38500;&#12395;&#12424;&#12387;&#12390;&#38500;&#21435;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-priority &lt;level&gt;</td><td align="left">priority="&lt;level&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#20778;&#20808;&#24230;&#20197;&#19978;&#12398;&#20778;&#20808;&#24230;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-class &lt;pattern&gt;</td><td align="left">class="&lt;class&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12497;&#12479;&#12540;&#12531;&#12395;&#19968;&#33268;&#12377;&#12427;&#20027;&#12463;&#12521;&#12473;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-bugPattern &lt;pattern&gt;</td><td align="left">bugPattern="&lt;pattern&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12497;&#12479;&#12540;&#12531;&#12395;&#19968;&#33268;&#12377;&#12427;&#12496;&#12464;&#31278;&#21029;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-category &lt;category&gt;</td><td align="left">category="&lt;category&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#25991;&#23383;&#21015;&#12391;&#22987;&#12414;&#12427;&#12459;&#12486;&#12468;&#12522;&#12540;&#12398;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-designation &lt;designation&gt;</td><td align="left">designation="&lt;designation&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12464;&#20998;&#39006;&#25351;&#23450;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290; (&#20363;&#12289; -designation SHOULD_FIX)</td></tr><tr><td align="left">-withMessages[:truth] </td><td align="left">withMessages="[true|false]"</td><td align="left">&#12486;&#12461;&#12473;&#12488;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#21547;&#12435;&#12384; XML &#12364;&#29983;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" title="1.4. mineBugHistory"><div class="titlepage"><div><div><h3 class="title"><a name="mineBugHistory"></a>1.4. mineBugHistory</h3></div></div></div><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#21508;&#12496;&#12540;&#12472;&#12519;&#12531;&#27598;&#12398;&#35686;&#21578;&#25968;&#12434;&#19968;&#35239;&#12395;&#12375;&#12383;&#34920;&#12434;&#20316;&#25104;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12371;&#12398;&#27231;&#33021;&#12399;&#12289; ant &#12363;&#12425;&#12418;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12378;&#27425;&#12395;&#31034;&#12377;&#12424;&#12358;&#12395;&#12289;&#12499;&#12523;&#12489;&#12501;&#12449;&#12452;&#12523;&#12395; <span class="command"><strong>mineBugHistory</strong></span> &#12434; taskdef &#12391;&#23450;&#32681;&#12375;&#12414;&#12377; :</p><pre class="programlisting">
+</pre><div class="table"><a name="filterOptionsTable"></a><p class="title"><b>&#34920;12.2 filterBugs &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</b></p><div class="table-contents"><table summary="filterBugs &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</th><th align="left">Ant &#23646;&#24615;</th><th align="left">&#30446;&#30340;</th></tr></thead><tbody><tr><td align="left">&nbsp;</td><td align="left">input="&lt;file&gt;"</td><td align="left">&#20837;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">&nbsp;</td><td align="left">output="&lt;file&gt;"</td><td align="left">&#20986;&#21147;&#12501;&#12449;&#12452;&#12523;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-not</td><td align="left">not="[true|false]"</td><td align="left">&#12501;&#12451;&#12523;&#12479;&#12540;&#12398;&#12473;&#12452;&#12483;&#12481;&#12434;&#21453;&#36578;&#12375;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-withSource[:truth]</td><td align="left">withSource="[true|false]"</td><td align="left">&#12477;&#12540;&#12473;&#12364;&#20837;&#25163;&#21487;&#33021;&#12394;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-exclude &lt;filter file&gt;</td><td align="left">exclude="&lt;filter file&gt;"</td><td align="left">&#12501;&#12451;&#12523;&#12479;&#12540;&#12395;&#19968;&#33268;&#12377;&#12427;&#12496;&#12464;&#12364;&#38500;&#22806;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-include &lt;filter file&gt;</td><td align="left">include="&lt;filter file&gt;"</td><td align="left">&#12501;&#12451;&#12523;&#12479;&#12540;&#12395;&#19968;&#33268;&#12377;&#12427;&#12496;&#12464;&#12398;&#12415;&#12434;&#21547;&#12414;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-annotation &lt;text&gt;</td><td align="left">annotation="&lt;text&gt;"</td><td align="left">&#25163;&#12391;&#20837;&#21147;&#12375;&#12383;&#27880;&#37320;&#12395;&#25351;&#23450;&#12375;&#12383;&#25991;&#35328;&#12434;&#21547;&#12416;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-after &lt;when&gt;</td><td align="left">after="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12424;&#12426;&#24460;&#12395;&#21021;&#12417;&#12390;&#20986;&#29694;&#12375;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-before &lt;when&gt;</td><td align="left">before="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12424;&#12426;&#21069;&#12395;&#21021;&#12417;&#12390;&#20986;&#29694;&#12375;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-first &lt;when&gt;</td><td align="left">first="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#21021;&#12417;&#12390;&#20986;&#29694;&#12375;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-last &lt;when&gt;</td><td align="left">last="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364;&#20986;&#29694;&#12375;&#12383;&#26368;&#24460;&#12391;&#12354;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-fixed &lt;when&gt;</td><td align="left">fixed="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;&#21069;&#22238;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364;&#20986;&#29694;&#12375;&#12383;&#26368;&#24460;&#12391;&#12354;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290; (<code class="option">-last</code> &#12395;&#20778;&#20808;&#12375;&#12414;&#12377;)&#12290;</td></tr><tr><td align="left">-present &lt;when&gt;</td><td align="left">present="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12377;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-absent &lt;when&gt;</td><td align="left">absent="&lt;when&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12540;&#12472;&#12519;&#12531;&#12395;&#23384;&#22312;&#12375;&#12394;&#12356;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-active[:truth]</td><td align="left">active="[true|false]"</td><td align="left">&#26368;&#32066;&#36890;&#30058;&#12395;&#23384;&#22312;&#12377;&#12427;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-introducedByChange[:truth]</td><td align="left">introducedByChange="[true|false]"</td><td align="left">&#23384;&#22312;&#12377;&#12427;&#12463;&#12521;&#12473;&#12398;&#22793;&#26356;&#12395;&#12424;&#12387;&#12390;&#12418;&#12383;&#12425;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-removedByChange[:truth]</td><td align="left">removedByChange="[true|false]"</td><td align="left">&#23384;&#22312;&#12377;&#12427;&#12463;&#12521;&#12473;&#12398;&#22793;&#26356;&#12395;&#12424;&#12387;&#12390;&#38500;&#21435;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-newCode[:truth]</td><td align="left">newCode="[true|false]"</td><td align="left">&#26032;&#12463;&#12521;&#12473;&#12398;&#36861;&#21152;&#12395;&#12424;&#12387;&#12390;&#12418;&#12383;&#12425;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-removedCode[:truth]</td><td align="left">removedCode="[true|false]"</td><td align="left">&#12463;&#12521;&#12473;&#12398;&#21066;&#38500;&#12395;&#12424;&#12387;&#12390;&#38500;&#21435;&#12373;&#12428;&#12383;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-priority &lt;level&gt;</td><td align="left">priority="&lt;level&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#20778;&#20808;&#24230;&#20197;&#19978;&#12398;&#20778;&#20808;&#24230;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-maxRank &lt;rank&gt;</td><td align="left">rank="[1..20]"</td><td align="left">allow only warnings with this rank or lower</td></tr><tr><td align="left">-class &lt;pattern&gt;</td><td align="left">class="&lt;class&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12497;&#12479;&#12540;&#12531;&#12395;&#19968;&#33268;&#12377;&#12427;&#20027;&#12463;&#12521;&#12473;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-bugPattern &lt;pattern&gt;</td><td align="left">bugPattern="&lt;pattern&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12497;&#12479;&#12540;&#12531;&#12395;&#19968;&#33268;&#12377;&#12427;&#12496;&#12464;&#31278;&#21029;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-category &lt;category&gt;</td><td align="left">category="&lt;category&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#25991;&#23383;&#21015;&#12391;&#22987;&#12414;&#12427;&#12459;&#12486;&#12468;&#12522;&#12540;&#12398;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr><tr><td align="left">-designation &lt;designation&gt;</td><td align="left">designation="&lt;designation&gt;"</td><td align="left">&#25351;&#23450;&#12375;&#12383;&#12496;&#12464;&#20998;&#39006;&#25351;&#23450;&#12434;&#12418;&#12388;&#35686;&#21578;&#12398;&#12415;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290; (&#20363;&#12289; -designation SHOULD_FIX)</td></tr><tr><td align="left">-withMessages[:truth] </td><td align="left">withMessages="[true|false]"</td><td align="left">&#12486;&#12461;&#12473;&#12488;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#21547;&#12435;&#12384; XML &#12364;&#29983;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" title="1.4. mineBugHistory"><div class="titlepage"><div><div><h3 class="title"><a name="mineBugHistory"></a>1.4. mineBugHistory</h3></div></div></div><p>&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#35079;&#25968;&#12496;&#12540;&#12472;&#12519;&#12531;&#12496;&#12464;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#21508;&#12496;&#12540;&#12472;&#12519;&#12531;&#27598;&#12398;&#35686;&#21578;&#25968;&#12434;&#19968;&#35239;&#12395;&#12375;&#12383;&#34920;&#12434;&#20316;&#25104;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12371;&#12398;&#27231;&#33021;&#12399;&#12289; ant &#12363;&#12425;&#12418;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12378;&#27425;&#12395;&#31034;&#12377;&#12424;&#12358;&#12395;&#12289;&#12499;&#12523;&#12489;&#12501;&#12449;&#12452;&#12523;&#12395; <span class="command"><strong>mineBugHistory</strong></span> &#12434; taskdef &#12391;&#23450;&#32681;&#12375;&#12414;&#12377; :</p><pre class="programlisting">
 
 &lt;taskdef name="mineBugHistory" classname="edu.umd.cs.findbugs.anttask.MineBugHistoryTask"&gt;
     &lt;classpath refid="findbugs.lib" /&gt;
diff --git a/doc/ja/manual/eclipse.html b/doc/ja/manual/eclipse.html
index d1bc7f1..7da3e16 100644
--- a/doc/ja/manual/eclipse.html
+++ b/doc/ja/manual/eclipse.html
@@ -1,3 +1,48 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>&#31532;7&#31456; FindBugs&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="anttask.html" title="&#31532;6&#31456; FindBugs&#8482; Ant &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;"><link rel="next" href="filter.html" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;7&#31456; <span class="application">FindBugs</span>&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="anttask.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="filter.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;7&#31456; FindBugs&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;"><div class="titlepage"><div><div><h2 class="title"><a name="eclipse"></a>&#31532;7&#31456; <span class="application">FindBugs</span>&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="eclipse.html#d0e1604">1. &#24517;&#35201;&#26465;&#20214;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1611">2. &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1658">3. &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1681">4. &#12488;&#12521;&#12502;&#12523;&#12471;&#12517;&#12540;&#12486;&#12451;&#12531;&#12464;</a></span></dt></dl></div><p>FindBugs Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12387;&#12390;&#12289; <span class="application">FindBugs</span> &#12434; <a class="ulink" href="http://www.eclipse.org/" target="_top">Eclipse</a> IDE &#12391;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#12424;&#12358;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12371;&#12398;FindBugs Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12399;&#12289; Peter Friese &#27663;&#12398;&#22810;&#22823;&#12394;&#36002;&#29486;&#12395;&#12424;&#12427;&#12418;&#12398;&#12391;&#12377;&#12290;Phil Crosby &#27663; &#12392; Andrei Loskutov &#27663;&#12399;&#12289;&#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#37325;&#35201;&#12394;&#25913;&#33391;&#12395;&#36002;&#29486;&#12375;&#12414;&#12375;&#12383;&#12290;</p><div class="sect1" title="1. &#24517;&#35201;&#26465;&#20214;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1604"></a>1. &#24517;&#35201;&#26465;&#20214;</h2></div></div></div><p><span class="application">FindBugs</span> Eclipse Plugin &#12434;&#20351;&#29992;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289; Eclipse 3.3 &#12354;&#12427;&#12356;&#12399;&#12381;&#12428;&#20197;&#38477;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12289;&#12414;&#12383;&#12289; JRE/JDK 1.5 &#12354;&#12427;&#12356;&#12399;&#12381;&#12428;&#20197;&#38477;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;</p></div><div class="sect1" title="2. &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1611"></a>2. &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</h2></div></div></div><p>&#26356;&#26032;&#12469;&#12452;&#12488;&#12364;&#25552;&#20379;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#26356;&#26032;&#12469;&#12452;&#12488;&#12434;&#21033;&#29992;&#12375;&#12390;&#12289;&#27231;&#26800;&#30340;&#12395; FindBugs &#12434; Eclipse &#12395;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12383;&#33258;&#21205;&#30340;&#12395;&#12289;&#26368;&#26032;&#29256;&#12398;&#12450;&#12483;&#12503;&#12487;&#12540;&#12488;&#12434;&#29031;&#20250;&#12375;&#12390;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377;&#12290;&#20869;&#23481;&#12398;&#30064;&#12394;&#12427; 3 &#12388;&#12398;&#26356;&#26032;&#12469;&#12452;&#12488;&#12364;&#23384;&#22312;&#12375;&#12414;&#12377;&#12290;</p><div class="variablelist" title="FindBugs Eclipse &#26356;&#26032;&#12469;&#12452;&#12488;&#19968;&#35239;"><p class="title"><b>FindBugs Eclipse &#26356;&#26032;&#12469;&#12452;&#12488;&#19968;&#35239;</b></p><dl><dt><span class="term"><a class="ulink" href="http://findbugs.cs.umd.edu/eclipse/" target="_top">http://findbugs.cs.umd.edu/eclipse/</a></span></dt><dd><p>FindBugs &#12398;&#20844;&#24335;&#12522;&#12522;&#12540;&#12473;&#29289;&#12434;&#25552;&#20379;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><a class="ulink" href="http://findbugs.cs.umd.edu/eclipse-candidate/" target="_top">http://findbugs.cs.umd.edu/eclips-candidate/</a></span></dt><dd><p>FindBugs&#12398;&#20844;&#24335;&#12522;&#12522;&#12540;&#12473;&#29289;&#12395;&#21152;&#12360;&#12390;&#12289;&#20844;&#24335;&#12522;&#12522;&#12540;&#12473;&#20505;&#35036;&#29256;&#12434;&#25552;&#20379;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><a class="ulink" href="http://findbugs.cs.umd.edu/eclipse-daily/" target="_top">http://findbugs.cs.umd.edu/eclipse-daily/</a></span></dt><dd><p>FindBugs&#12398;&#26085;&#27425;&#12499;&#12523;&#12489;&#29289;&#12434;&#25552;&#20379;&#12375;&#12414;&#12377;&#12290;&#12467;&#12531;&#12497;&#12452;&#12523;&#12364;&#12391;&#12365;&#12427;&#12371;&#12392;&#20197;&#19978;&#12398;&#12486;&#12473;&#12488;&#12399;&#34892;&#12431;&#12428;&#12390;&#12356;&#12414;&#12379;&#12435;&#12290;</p></dd></dl></div><p>&#12414;&#12383;&#12289;&#27425;&#12395;&#31034;&#12377;&#12522;&#12531;&#12463;&#12363;&#12425;&#25163;&#21205;&#12391;&#12503;&#12521;&#12464;&#12452;&#12531;&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377; : <a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?download" target="_top">http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?download</a>. &#23637;&#38283;&#12375;&#12390; Eclipse &#12398;&#12300;plugins&#12301;&#12469;&#12502;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#20837;&#12428;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;(&#12381;&#12358;&#12377;&#12427;&#12392;&#12289; &lt;eclipse &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540; &gt;/plugins/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122/findbugs.png &#12364; <span class="application">FindBugs</span> &#12398;&#12525;&#12468;&#12501;&#12449;&#12452;&#12523;&#12408;&#12398;&#12497;&#12473;&#12395;&#12394;&#12427;&#12399;&#12378;&#12391;&#12377;&#12290;)</p><p>&#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#23637;&#38283;&#12364;&#12391;&#12365;&#12383;&#12425;&#12289; Eclipse &#12434;&#36215;&#21205;&#12375;&#12390; <span class="guimenu">Help</span> &#8594; <span class="guimenuitem">About Eclipse Platform</span> &#8594; <span class="guimenuitem">Plug-in Details</span> &#12434;&#36984;&#25246;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12300;FindBugs Project&#12301;&#12363;&#12425;&#25552;&#20379;&#12373;&#12428;&#12383;&#12300;FindBugs Plug-in&#12301;&#12392;&#12356;&#12358;&#12503;&#12521;&#12464;&#12452;&#12531;&#12364;&#12354;&#12427;&#12371;&#12392;&#12434;&#30906;&#35469;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></div><div class="sect1" title="3. &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1658"></a>3. &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</h2></div></div></div><p>&#23455;&#34892;&#12377;&#12427;&#12395;&#12399;&#12289; Java &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#19978;&#12391;&#21491;&#12463;&#12522;&#12483;&#12463;&#12375;&#12390;&#12300;Find Bugs&#12301;&#12434;&#36984;&#25246;&#12375;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12364;&#23455;&#34892;&#12373;&#12428;&#12390;&#12289;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#12398;&#23455;&#20363;&#12398;&#21487;&#33021;&#24615;&#12364;&#12354;&#12427;&#12392;&#35672;&#21029;&#12373;&#12428;&#12383;&#12467;&#12540;&#12489;&#31623;&#25152;&#12395;&#21839;&#38988;&#12510;&#12540;&#12459;&#12540;&#12364;&#12388;&#12365;&#12414;&#12377;&#12290; (&#12477;&#12540;&#12473;&#30011;&#38754;&#12362;&#12424;&#12403; Eclipse &#21839;&#38988;&#12499;&#12517;&#12540;&#12395;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;)</p><p>Java &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12480;&#12452;&#12450;&#12525;&#12464;&#12434;&#38283;&#12356;&#12390;&#12300;Findbugs&#12301;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12506;&#12540;&#12472;&#12434;&#36984;&#25246;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289; <span class="application">FindBugs</span> &#12398;&#21205;&#20316;&#12434;&#12459;&#12473;&#12479;&#12510;&#12452;&#12474;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#36984;&#25246;&#12391;&#12365;&#12427;&#38917;&#30446;&#12395;&#12399;&#27425;&#12398;&#12424;&#12358;&#12394;&#12418;&#12398;&#12364;&#12354;&#12426;&#12414;&#12377; :</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>&#12300;Run FindBugs Automatically&#12301;&#12481;&#12455;&#12483;&#12463;&#12508;&#12483;&#12463;&#12473;&#12398;&#35373;&#23450;&#12290;&#12481;&#12455;&#12483;&#12463;&#12377;&#12427;&#12392;&#12289;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#20869;&#12398; Java &#12463;&#12521;&#12473;&#12364;&#20462;&#27491;&#12373;&#12428;&#12427;&#12383;&#12403;&#12395; FindBugs &#12364;&#23455;&#34892;&#12373;&#12428;&#12414;&#12377;&#12290;</p></li><li class="listitem"><p>&#20778;&#20808;&#24230;&#12392;&#12496;&#12464;&#12459;&#12486;&#12468;&#12522;&#12540;&#12398;&#36984;&#25246;&#12290;&#12371;&#12428;&#12425;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289;&#12393;&#12398;&#35686;&#21578;&#12434;&#34920;&#31034;&#12377;&#12427;&#12363;&#12434;&#36984;&#25246;&#12375;&#12414;&#12377;&#12290;&#20363;&#12360;&#12400;&#12289;&#20778;&#20808;&#24230;&#12391; &#12300;Medium&#12301; &#12434;&#36984;&#25246;&#12377;&#12427;&#12392;&#12289;&#20778;&#20808;&#24230; (&#20013;) &#12362;&#12424;&#12403;&#20778;&#20808;&#24230; (&#39640;) &#12398;&#35686;&#21578;&#12398;&#12415;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#21516;&#27096;&#12395;&#12289;&#12300;Style&#12301;&#12481;&#12455;&#12483;&#12463;&#12508;&#12483;&#12463;&#12473;&#12398;&#12481;&#12455;&#12483;&#12463;&#12510;&#12540;&#12463;&#12434;&#22806;&#12377;&#12392;&#12289;Style &#12459;&#12486;&#12468;&#12522;&#12540;&#12395;&#23646;&#12377;&#12427;&#35686;&#21578;&#12399;&#34920;&#31034;&#12373;&#12428;&#12414;&#12379;&#12435;&#12290;</p></li><li class="listitem"><p>&#12487;&#12451;&#12486;&#12463;&#12479;&#12398;&#36984;&#25246;&#12290;&#34920;&#12363;&#12425;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12391;&#26377;&#21177;&#12395;&#12375;&#12383;&#12356;&#12487;&#12451;&#12486;&#12463;&#12479;&#12434;&#36984;&#25246;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></li></ul></div></div><div class="sect1" title="4. &#12488;&#12521;&#12502;&#12523;&#12471;&#12517;&#12540;&#12486;&#12451;&#12531;&#12464;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1681"></a>4. &#12488;&#12521;&#12502;&#12523;&#12471;&#12517;&#12540;&#12486;&#12451;&#12531;&#12464;</h2></div></div></div><p><span class="application">FindBugs</span> Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12399;&#12289;&#12414;&#12384;&#23455;&#39443;&#27573;&#38542;&#12391;&#12377;&#12290;&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;&#12399;&#12289;&#12503;&#12521;&#12464;&#12452;&#12531;&#12395;&#38306;&#12377;&#12427;&#19968;&#33324;&#30340;&#12394;&#21839;&#38988;&#12392; (&#21028;&#26126;&#12375;&#12390;&#12356;&#12428;&#12400;) &#12381;&#12428;&#12425;&#12398;&#21839;&#38988;&#12398;&#35299;&#27770;&#26041;&#27861;&#12434;&#35352;&#36848;&#12375;&#12414;&#12377;&#12290;</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="application">FindBugs</span> &#21839;&#38988;&#12510;&#12540;&#12459;&#12540;&#12364; (&#12477;&#12540;&#12473;&#30011;&#38754;&#12362;&#12424;&#12403;&#21839;&#38988;&#12499;&#12517;&#12540;&#12395;) &#34920;&#31034;&#12373;&#12428;&#12394;&#12356;&#22580;&#21512;&#12399;&#12289;&#21839;&#38988;&#12499;&#12517;&#12540;&#12398;&#12501;&#12451;&#12523;&#12479;&#12540;&#35373;&#23450;&#12434;&#22793;&#26356;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#35443;&#32048;&#24773;&#22577;&#12399; <a class="ulink" href="http://findbugs.sourceforge.net/FAQ.html#q7" target="_top">http://findbugs.sourceforge.net/FAQ.html#q7</a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="anttask.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="filter.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;6&#31456; <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>&#31532;7&#31456; FindBugs&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="anttask.html" title="&#31532;6&#31456; FindBugs&#8482; Ant &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;"><link rel="next" href="filter.html" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;7&#31456; <span class="application">FindBugs</span>&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="anttask.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="filter.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;7&#31456; FindBugs&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;"><div class="titlepage"><div><div><h2 class="title"><a name="eclipse"></a>&#31532;7&#31456; <span class="application">FindBugs</span>&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="eclipse.html#d0e1677">1. &#24517;&#35201;&#26465;&#20214;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1684">2. &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1731">3. &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1754">4. Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#25313;&#24373;&#26041;&#27861; (2.0.0 &#20197;&#38477;)</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1807">5. &#12488;&#12521;&#12502;&#12523;&#12471;&#12517;&#12540;&#12486;&#12451;&#12531;&#12464;</a></span></dt></dl></div><p>
+FindBugs Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12387;&#12390;&#12289; <span class="application">FindBugs</span> &#12434; <a class="ulink" href="http://www.eclipse.org/" target="_top">Eclipse</a> IDE &#12391;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#12424;&#12358;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;
+&#12371;&#12398;FindBugs Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12399;&#12289; Peter Friese &#27663;&#12398;&#22810;&#22823;&#12394;&#36002;&#29486;&#12395;&#12424;&#12427;&#12418;&#12398;&#12391;&#12377;&#12290;
+Phil Crosby &#27663; &#12392; Andrey Loskutov &#27663;&#12399;&#12289;&#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#37325;&#35201;&#12394;&#25913;&#33391;&#12395;&#36002;&#29486;&#12375;&#12414;&#12375;&#12383;&#12290;
+</p><div class="sect1" title="1. &#24517;&#35201;&#26465;&#20214;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1677"></a>1. &#24517;&#35201;&#26465;&#20214;</h2></div></div></div><p><span class="application">FindBugs</span> Eclipse Plugin &#12434;&#20351;&#29992;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289; Eclipse 3.3 &#12354;&#12427;&#12356;&#12399;&#12381;&#12428;&#20197;&#38477;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12289;&#12414;&#12383;&#12289; JRE/JDK 1.5 &#12354;&#12427;&#12356;&#12399;&#12381;&#12428;&#20197;&#38477;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;</p></div><div class="sect1" title="2. &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1684"></a>2. &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</h2></div></div></div><p>&#26356;&#26032;&#12469;&#12452;&#12488;&#12364;&#25552;&#20379;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#26356;&#26032;&#12469;&#12452;&#12488;&#12434;&#21033;&#29992;&#12375;&#12390;&#12289;&#27231;&#26800;&#30340;&#12395; FindBugs &#12434; Eclipse &#12395;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12383;&#33258;&#21205;&#30340;&#12395;&#12289;&#26368;&#26032;&#29256;&#12398;&#12450;&#12483;&#12503;&#12487;&#12540;&#12488;&#12434;&#29031;&#20250;&#12375;&#12390;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377;&#12290;&#20869;&#23481;&#12398;&#30064;&#12394;&#12427; 3 &#12388;&#12398;&#26356;&#26032;&#12469;&#12452;&#12488;&#12364;&#23384;&#22312;&#12375;&#12414;&#12377;&#12290;</p><div class="variablelist" title="FindBugs Eclipse &#26356;&#26032;&#12469;&#12452;&#12488;&#19968;&#35239;"><p class="title"><b>FindBugs Eclipse &#26356;&#26032;&#12469;&#12452;&#12488;&#19968;&#35239;</b></p><dl><dt><span class="term"><a class="ulink" href="http://findbugs.cs.umd.edu/eclipse/" target="_top">http://findbugs.cs.umd.edu/eclipse/</a></span></dt><dd><p>FindBugs &#12398;&#20844;&#24335;&#12522;&#12522;&#12540;&#12473;&#29289;&#12434;&#25552;&#20379;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><a class="ulink" href="http://findbugs.cs.umd.edu/eclipse-candidate/" target="_top">http://findbugs.cs.umd.edu/eclipse-candidate/</a></span></dt><dd><p>FindBugs&#12398;&#20844;&#24335;&#12522;&#12522;&#12540;&#12473;&#29289;&#12395;&#21152;&#12360;&#12390;&#12289;&#20844;&#24335;&#12522;&#12522;&#12540;&#12473;&#20505;&#35036;&#29256;&#12434;&#25552;&#20379;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><a class="ulink" href="http://findbugs.cs.umd.edu/eclipse-daily/" target="_top">http://findbugs.cs.umd.edu/eclipse-daily/</a></span></dt><dd><p>FindBugs&#12398;&#26085;&#27425;&#12499;&#12523;&#12489;&#29289;&#12434;&#25552;&#20379;&#12375;&#12414;&#12377;&#12290;&#12467;&#12531;&#12497;&#12452;&#12523;&#12364;&#12391;&#12365;&#12427;&#12371;&#12392;&#20197;&#19978;&#12398;&#12486;&#12473;&#12488;&#12399;&#34892;&#12431;&#12428;&#12390;&#12356;&#12414;&#12379;&#12435;&#12290;</p></dd></dl></div><p>&#12414;&#12383;&#12289;&#27425;&#12395;&#31034;&#12377;&#12522;&#12531;&#12463;&#12363;&#12425;&#25163;&#21205;&#12391;&#12503;&#12521;&#12464;&#12452;&#12531;&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377; : <a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706.zip?download" target="_top">http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706.zip?download</a>. &#23637;&#38283;&#12375;&#12390; Eclipse &#12398;&#12300;plugins&#12301;&#12469;&#12502;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#20837;&#12428;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;(&#12381;&#12358;&#12377;&#12427;&#12392;&#12289; &lt;eclipse &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540; &gt;/plugins/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706/findbugs.png &#12364; <span class="application">FindBugs</span> &#12398;&#12525;&#12468;&#12501;&#12449;&#12452;&#12523;&#12408;&#12398;&#12497;&#12473;&#12395;&#12394;&#12427;&#12399;&#12378;&#12391;&#12377;&#12290;)</p><p>&#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#23637;&#38283;&#12364;&#12391;&#12365;&#12383;&#12425;&#12289; Eclipse &#12434;&#36215;&#21205;&#12375;&#12390; <span class="guimenu">Help</span> &#8594; <span class="guimenuitem">About Eclipse Platform</span> &#8594; <span class="guimenuitem">Plug-in Details</span> &#12434;&#36984;&#25246;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12300;FindBugs Project&#12301;&#12363;&#12425;&#25552;&#20379;&#12373;&#12428;&#12383;&#12300;FindBugs Plug-in&#12301;&#12392;&#12356;&#12358;&#12503;&#12521;&#12464;&#12452;&#12531;&#12364;&#12354;&#12427;&#12371;&#12392;&#12434;&#30906;&#35469;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></div><div class="sect1" title="3. &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1731"></a>3. &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</h2></div></div></div><p>&#23455;&#34892;&#12377;&#12427;&#12395;&#12399;&#12289; Java &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#19978;&#12391;&#21491;&#12463;&#12522;&#12483;&#12463;&#12375;&#12390;&#12300;Find Bugs&#12301;&#12434;&#36984;&#25246;&#12375;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12364;&#23455;&#34892;&#12373;&#12428;&#12390;&#12289;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#12398;&#23455;&#20363;&#12398;&#21487;&#33021;&#24615;&#12364;&#12354;&#12427;&#12392;&#35672;&#21029;&#12373;&#12428;&#12383;&#12467;&#12540;&#12489;&#31623;&#25152;&#12395;&#21839;&#38988;&#12510;&#12540;&#12459;&#12540;&#12364;&#12388;&#12365;&#12414;&#12377;&#12290; (&#12477;&#12540;&#12473;&#30011;&#38754;&#12362;&#12424;&#12403; Eclipse &#21839;&#38988;&#12499;&#12517;&#12540;&#12395;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;)</p><p>Java &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12480;&#12452;&#12450;&#12525;&#12464;&#12434;&#38283;&#12356;&#12390;&#12300;Findbugs&#12301;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12506;&#12540;&#12472;&#12434;&#36984;&#25246;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289; <span class="application">FindBugs</span> &#12398;&#21205;&#20316;&#12434;&#12459;&#12473;&#12479;&#12510;&#12452;&#12474;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#36984;&#25246;&#12391;&#12365;&#12427;&#38917;&#30446;&#12395;&#12399;&#27425;&#12398;&#12424;&#12358;&#12394;&#12418;&#12398;&#12364;&#12354;&#12426;&#12414;&#12377; :</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>&#12300;Run FindBugs Automatically&#12301;&#12481;&#12455;&#12483;&#12463;&#12508;&#12483;&#12463;&#12473;&#12398;&#35373;&#23450;&#12290;&#12481;&#12455;&#12483;&#12463;&#12377;&#12427;&#12392;&#12289;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#20869;&#12398; Java &#12463;&#12521;&#12473;&#12364;&#20462;&#27491;&#12373;&#12428;&#12427;&#12383;&#12403;&#12395; FindBugs &#12364;&#23455;&#34892;&#12373;&#12428;&#12414;&#12377;&#12290;</p></li><li class="listitem"><p>&#20778;&#20808;&#24230;&#12392;&#12496;&#12464;&#12459;&#12486;&#12468;&#12522;&#12540;&#12398;&#36984;&#25246;&#12290;&#12371;&#12428;&#12425;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289;&#12393;&#12398;&#35686;&#21578;&#12434;&#34920;&#31034;&#12377;&#12427;&#12363;&#12434;&#36984;&#25246;&#12375;&#12414;&#12377;&#12290;&#20363;&#12360;&#12400;&#12289;&#20778;&#20808;&#24230;&#12391; &#12300;Medium&#12301; &#12434;&#36984;&#25246;&#12377;&#12427;&#12392;&#12289;&#20778;&#20808;&#24230; (&#20013;) &#12362;&#12424;&#12403;&#20778;&#20808;&#24230; (&#39640;) &#12398;&#35686;&#21578;&#12398;&#12415;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#21516;&#27096;&#12395;&#12289;&#12300;Style&#12301;&#12481;&#12455;&#12483;&#12463;&#12508;&#12483;&#12463;&#12473;&#12398;&#12481;&#12455;&#12483;&#12463;&#12510;&#12540;&#12463;&#12434;&#22806;&#12377;&#12392;&#12289;Style &#12459;&#12486;&#12468;&#12522;&#12540;&#12395;&#23646;&#12377;&#12427;&#35686;&#21578;&#12399;&#34920;&#31034;&#12373;&#12428;&#12414;&#12379;&#12435;&#12290;</p></li><li class="listitem"><p>&#12487;&#12451;&#12486;&#12463;&#12479;&#12398;&#36984;&#25246;&#12290;&#34920;&#12363;&#12425;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12391;&#26377;&#21177;&#12395;&#12375;&#12383;&#12356;&#12487;&#12451;&#12486;&#12463;&#12479;&#12434;&#36984;&#25246;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></li></ul></div></div><div class="sect1" title="4. Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#25313;&#24373;&#26041;&#27861; (2.0.0 &#20197;&#38477;)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1754"></a>4. Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#25313;&#24373;&#26041;&#27861; (2.0.0 &#20197;&#38477;)</h2></div></div></div><p>
+Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12391;&#12399;&#12289; &#29420;&#33258;&#12398; <span class="application">FindBugs</span> &#12487;&#12451;&#12486;&#12463;&#12479;&#12434;&#36861;&#21152;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
+(&#35443;&#12375;&#12367;&#30693;&#12426;&#12383;&#12356;&#26041;&#12399;&#12289;
+<a class="ulink" href="http://code.google.com/p/findbugs/source/browse/findbugs/src/doc/AddingDetectors.txt" target="_top">AddingDetectors.txt</a>
+&#12418;&#12372;&#35239;&#12367;&#12384;&#12373;&#12356;)&#12290; 
+&#29420;&#33258;&#12398;&#12503;&#12521;&#12464;&#12452;&#12531;&#12434; Eclipse &#12395;&#36861;&#21152;&#12377;&#12427;&#12395;&#12399;&#20197;&#19979;&#12398;2&#36890;&#12426;&#12398;&#26041;&#27861;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+    &#26082;&#23384;&#12398;&#27161;&#28310; <span class="application">FindBugs</span> &#12487;&#12451;&#12486;&#12463;&#12479;&#12497;&#12483;&#12465;&#12540;&#12472;&#12399;&#20197;&#19979;&#12391;&#35373;&#23450;&#12391;&#12365;&#12414;&#12377;&#12290; 
+    <span class="guimenu">Window</span> &#8594; <span class="guimenuitem">Preferences</span> &#8594; <span class="guimenuitem">Java</span> &#8594; <span class="guimenuitem">FindBugs</span> &#8594; <span class="guimenuitem">Misc. Settings</span> &#8594; <span class="guimenuitem">Custom Detectors</span>&#12290;
+    &#12371;&#12371;&#12391;&#36861;&#21152;&#12377;&#12427;&#12503;&#12521;&#12464;&#12452;&#12531;&#12521;&#12452;&#12502;&#12521;&#12522;&#12398;&#22580;&#25152;&#12434;&#25351;&#23450;&#12377;&#12427;&#12384;&#12369;&#12391;&#12377;&#12290;
+    </p><p>
+    &#12371;&#12398;&#26041;&#27861;&#12398;&#21033;&#28857;&#12399;&#12289;&#26082;&#23384;&#12398;&#12487;&#12451;&#12486;&#12463;&#12479;&#12497;&#12483;&#12465;&#12540;&#12472;&#12399;&#12300;&#12381;&#12398;&#12414;&#12414;&#12301;&#12391;&#12289;&#12469;&#12540;&#12489;&#12497;&#12540;&#12486;&#12451;&#12540;&#12487;&#12451;&#12486;&#12463;&#12479;&#12398;&#21697;&#36074;&#12434;&#12377;&#12400;&#12420;&#12367;&#26908;&#35388;&#12391;&#12365;&#12427;&#12371;&#12392;&#12391;&#12377;&#12290;
+    &#27424;&#28857;&#12392;&#12375;&#12390;&#12399;&#12289;&#12371;&#12398;&#35373;&#23450;&#12399; Eclipse &#12527;&#12540;&#12463;&#12473;&#12506;&#12540;&#12473;&#27598;&#12395;&#36969;&#29992;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12289;&#12371;&#12398;&#35373;&#23450;&#12434;&#12481;&#12540;&#12512;&#12513;&#12531;&#12496;&#12540;&#38291;&#12391;&#20849;&#26377;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12394;&#12356;&#12371;&#12392;&#12391;&#12377;&#12290;
+    </p></li><li class="listitem"><p>
+    Eclipse &#27161;&#28310;&#12398;&#25313;&#24373;&#27231;&#27083;&#12434;&#20351;&#12387;&#12390;&#29420;&#33258;&#12398;&#12487;&#12451;&#12486;&#12463;&#12479;&#12434;&#36861;&#21152;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
+    </p><p>
+    <a class="ulink" href="http://code.google.com/p/findbugs/source/browse/eclipsePlugin/schema/detectorPlugins.exsd" target="_top">
+    findBugsEclipsePlugin/schema/detectorPlugins.exsd</a> &#12398; documentation &#12391; plugin.xml &#12398;&#26356;&#26032;&#26041;&#27861;&#12434;&#30906;&#35469;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;
+    &#26082;&#23384;&#12398; <span class="application">FindBugs</span> &#12487;&#12451;&#12486;&#12463;&#12479;&#12503;&#12521;&#12464;&#12452;&#12531; &#12434;&#31777;&#21336;&#12395;&#12300;&#25313;&#24373;&#12301;&#12375;&#12390;&#24375;&#21147;&#12394; <span class="application">FindBugs</span> Eclipse &#12487;&#12451;&#12486;&#12463;&#12479;&#12503;&#12521;&#12464;&#12452;&#12531; &#12395;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
+    &#36890;&#24120;&#24517;&#35201;&#12394;&#12398;&#12399;&#12289; META-INF/MANIFEST.MF &#12362;&#12424;&#12403; plugin.xml &#12434; jar &#12395;&#36861;&#21152;&#12375;&#12390;&#12363;&#12388;&#12289; MANIFEST.MF &#12364;&#12499;&#12523;&#12489;&#26178;&#12395;&#19978;&#26360;&#12365;&#12373;&#12428;&#12394;&#12356;&#12424;&#12358;&#12395;&#12499;&#12523;&#12489;&#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#26356;&#26032;&#12377;&#12427;&#12384;&#12369;&#12391;&#12377;&#12290;
+    </p><p>
+    &#12371;&#12398;&#26041;&#27861;&#12398;&#21033;&#28857;&#12399;&#12289;  Eclipse &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12434;&#20849;&#26377;&#12375;&#12373;&#12360;&#12377;&#12428;&#12400;&#12289;&#12481;&#12540;&#12512;&#12513;&#12531;&#12496;&#12540;&#21516;&#22763;&#12391;&#27491;&#30906;&#12395;&#21516;&#12376;&#12487;&#12451;&#12486;&#12463;&#12479;&#35373;&#23450;&#12434;&#20351;&#29992;&#12391;&#12365;&#12427;&#12371;&#12392;&#12391;&#12377;&#12290;
+    &#21069;&#25552;&#26465;&#20214;&#12399;&#29694;&#22312;&#20351;&#29992;&#12375;&#12390;&#12356;&#12427;&#12487;&#12451;&#12486;&#12463;&#12479;&#12497;&#12483;&#12465;&#12540;&#12472;&#12434; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12395;&#22793;&#25563;&#12375;&#12390;&#12362;&#12367;&#12371;&#12392;&#12391;&#12377;&#12290;
+    &#12371;&#12428;&#12399;&#12469;&#12540;&#12489;&#12497;&#12540;&#12486;&#12451;&#12398;&#12487;&#12451;&#12486;&#12463;&#12479;&#12497;&#12483;&#12465;&#12540;&#12472;&#12418;&#21516;&#27096;&#12391;&#12377;&#12290;
+    &#12418;&#12358;&#12402;&#12392;&#12388;&#12398;&#20027;&#12394;&#24046;&#21029;&#21270;&#35201;&#22240;&#12399;&#12289; FindBugs &#12398;&#12487;&#12501;&#12457;&#12523;&#12488;&#23455;&#34892;&#26178;&#12463;&#12521;&#12473;&#12497;&#12473; &#12395;&#24403;&#35442;&#12469;&#12540;&#12489;&#12497;&#12540;&#12486;&#12451;&#12521;&#12452;&#12502;&#12521;&#12522;&#12540;&#12434;&#36861;&#21152;&#12377;&#12427;&#12371;&#12392;&#12364;&#24517;&#35201;&#12394;&#12371;&#12392;&#12391;&#12377;(&#12367;&#12431;&#12375;&#12367;&#12399;
+    <a class="ulink" href="http://code.google.com/p/findbugs/source/browse/findbugs/src/doc/AddingDetectors.txt" target="_top">AddingDetectors.txt</a>
+    &#12434;&#12372;&#35239;&#12367;&#12384;&#12373;&#12356;)&#12290;
+    </p></li></ul></div></div><div class="sect1" title="5. &#12488;&#12521;&#12502;&#12523;&#12471;&#12517;&#12540;&#12486;&#12451;&#12531;&#12464;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1807"></a>5. &#12488;&#12521;&#12502;&#12523;&#12471;&#12517;&#12540;&#12486;&#12451;&#12531;&#12464;</h2></div></div></div><p>
+&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;&#12399;&#12289;&#12503;&#12521;&#12464;&#12452;&#12531;&#12395;&#38306;&#12377;&#12427;&#19968;&#33324;&#30340;&#12394;&#21839;&#38988;&#12392; (&#21028;&#26126;&#12375;&#12390;&#12356;&#12428;&#12400;) &#12381;&#12428;&#12425;&#12398;&#21839;&#38988;&#12398;&#35299;&#27770;&#26041;&#27861;&#12434;&#35352;&#36848;&#12375;&#12414;&#12377;&#12290;
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+    Eclipse &#12395;&#12362;&#12356;&#12390; <span class="application">FindBugs</span> &#12398;&#20998;&#26512;&#38283;&#22987;&#24460;&#12395; OutOfMemory &#12456;&#12521;&#12540;&#12480;&#12452;&#12450;&#12525;&#12464;&#12364; &#20986;&#12383;&#22580;&#21512;&#12399;&#12289;
+    JVM &#12398;&#20351;&#29992;&#12513;&#12514;&#12522;&#12434;&#22679;&#12420;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289; eclipse.ini &#12398;&#26411;&#23614;&#12395;&#20197;&#19979;&#12398;&#35352;&#36848;&#12434;&#36861;&#21152;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;
+    </p><pre class="programlisting">
+    -vmargs
+    -Xmx1000m
+    </pre><p>
+    &#37325;&#35201;&#65306;&#12300;-vmargs&#12301;&#12391;&#22987;&#12414;&#12427;&#35373;&#23450;&#24341;&#25968;&#12399;  eclipse.ini &#12501;&#12449;&#12452;&#12523;&#12398;&#26411;&#23614;&#12395;&#35352;&#36848;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;
+    &#12414;&#12383;&#12289;&#21508;&#34892;&#12395;&#12399;&#24341;&#25968;&#12434;&#19968;&#12388;&#12384;&#12369;&#12375;&#12363;&#26360;&#12367;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12379;&#12435;&#65281;
+    </p></li><li class="listitem"><p>
+    <span class="application">FindBugs</span> &#21839;&#38988;&#12510;&#12540;&#12459;&#12540;&#12364; (&#12477;&#12540;&#12473;&#30011;&#38754;&#12362;&#12424;&#12403;&#21839;&#38988;&#12499;&#12517;&#12540;&#12395;) &#34920;&#31034;&#12373;&#12428;&#12394;&#12356;&#22580;&#21512;&#12399;&#12289;&#21839;&#38988;&#12499;&#12517;&#12540;&#12398;&#12501;&#12451;&#12523;&#12479;&#12540;&#35373;&#23450;&#12434;&#22793;&#26356;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;
+    &#35443;&#32048;&#24773;&#22577;&#12399; <a class="ulink" href="http://findbugs.sourceforge.net/FAQ.html#q7" target="_top">http://findbugs.sourceforge.net/FAQ.html#q7</a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;
+    </p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="anttask.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="filter.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;6&#31456; <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/ja/manual/filter.html b/doc/ja/manual/filter.html
index 491deed..4cbca49 100644
--- a/doc/ja/manual/filter.html
+++ b/doc/ja/manual/filter.html
@@ -1,13 +1,38 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="eclipse.html" title="&#31532;7&#31456; FindBugs&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;"><link rel="next" href="analysisprops.html" title="&#31532;9&#31456; &#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="eclipse.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="analysisprops.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;"><div class="titlepage"><div><div><h2 class="title"><a name="filter"></a>&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="filter.html#d0e1709">1. &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12398;&#27010;&#35201;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1759">2. &#12510;&#12483;&#12481;&#12531;&#12464;&#26465;&#20214;&#12398;&#31278;&#39006;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1958">3. Java &#35201;&#32032;&#21517;&#12510;&#12483;&#12481;&#12531;&#12464;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1982">4. &#30041;&#24847;&#20107;&#38917;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2012">5. &#20363;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2065">6. &#23436;&#20840;&#12394;&#20363;</a></span></dt></dl></div><p>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#29305;&#23450;&#12398;&#12463;&#12521;&#12473;&#12420;&#12513;&#12477;&#12483;&#12489;&#12434;&#12496;&#12464;&#22577;&#21578;&#12395;&#21547;&#12417;&#12383;&#12426;&#12496;&#12464;&#22577;&#21578;&#12363;&#12425;&#38500;&#22806;&#12375;&#12383;&#12426;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12371;&#12398;&#31456;&#12391;&#12399;&#12289;&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12398;&#20351;&#29992;&#26041;&#27861;&#12434;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;</p><div class="note" title="&#35336;&#30011;&#12373;&#12428;&#12390;&#12356;&#12427;&#27231;&#33021;" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note: &#35336;&#30011;&#12373;&#12428;&#12390;&#12356;&#12427;&#27231;&#33021;"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[&#27880;&#35352;]" src="note.png"></td><th align="left">&#35336;&#30011;&#12373;&#12428;&#12390;&#12356;&#12427;&#27231;&#33021;</th></tr><tr><td align="left" valign="top"><p>&#12501;&#12451;&#12523;&#12479;&#12540;&#12399;&#29694;&#22312;&#12289;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12391;&#12398;&#12415;&#12469;&#12509;&#12540;&#12488;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#26368;&#32066;&#30340;&#12395;&#12399;&#12289;&#12501;&#12451;&#12523;&#12479;&#12540;&#12398;&#12469;&#12509;&#12540;&#12488;&#12399; GUI &#12395;&#12418;&#36861;&#21152;&#12373;&#12428;&#12427;&#20104;&#23450;&#12391;&#12377;&#12290;</p></td></tr></table></div><p>
-</p><div class="sect1" title="1. &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12398;&#27010;&#35201;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1709"></a>1. &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12398;&#27010;&#35201;</h2></div></div></div><p>&#27010;&#24565;&#30340;&#12395;&#35328;&#12360;&#12400;&#12289;&#12501;&#12451;&#12523;&#12479;&#12540;&#12399;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#12354;&#12427;&#22522;&#28310;&#12392;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;&#12501;&#12451;&#12523;&#12479;&#12540;&#12434;&#23450;&#32681;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289; &#29305;&#21029;&#12394;&#21462;&#12426;&#25201;&#12356;&#12434;&#12377;&#12427;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#36984;&#25246;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#20363;&#12360;&#12400;&#12289;&#12354;&#12427;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#12496;&#12464;&#22577;&#21578;&#12395;&#21547;&#12417;&#12383;&#12426;&#12289;&#12496;&#12464;&#22577;&#21578;&#12363;&#12425;&#38500;&#22806;&#12375;&#12383;&#12426;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12399;&#12289; <a class="ulink" href="http://www.w3.org/XML/" target="_top">XML</a> &#25991;&#26360;&#12391;&#12377;&#12290;&#26368;&#19978;&#20301;&#35201;&#32032;&#12364;&#12288;<code class="literal">FindBugsFilter</code> &#35201;&#32032; &#12391;&#12354;&#12426;&#12289;&#12381;&#12398;&#23376;&#35201;&#32032;&#12392;&#12375;&#12390; <code class="literal">Match</code> &#35201;&#32032;&#12434;&#35079;&#25968;&#20491;&#23450;&#32681;&#12375;&#12414;&#12377;&#12290;&#12381;&#12428;&#12382;&#12428;&#12398; <code class="literal">Match</code> &#35201;&#32032;&#12399;&#12289;&#29983;&#25104;&#12373;&#12428;&#12383;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12395;&#36969;&#29992;&#12373;&#12428;&#12427;&#36848;&#37096;&#12395;&#12354;&#12383;&#12426;&#12414;&#12377;&#12290;&#36890;&#24120;&#12289;&#12501;&#12451;&#12523;&#12479;&#12540;&#12399;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#38500;&#22806;&#12377;&#12427;&#12383;&#12417;&#12395;&#20351;&#29992;&#12375;&#12414;&#12377;&#12290;&#27425;&#12395;&#12289;&#20363;&#12434;&#31034;&#12375;&#12414;&#12377;:</p><pre class="screen">
+   <title>&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="eclipse.html" title="&#31532;7&#31456; FindBugs&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;"><link rel="next" href="analysisprops.html" title="&#31532;9&#31456; &#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="eclipse.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="analysisprops.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;"><div class="titlepage"><div><div><h2 class="title"><a name="filter"></a>&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="filter.html#d0e1843">1. &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12398;&#27010;&#35201;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1893">2. &#12510;&#12483;&#12481;&#12531;&#12464;&#26465;&#20214;&#12398;&#31278;&#39006;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2157">3. Java &#35201;&#32032;&#21517;&#12510;&#12483;&#12481;&#12531;&#12464;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2185">4. &#30041;&#24847;&#20107;&#38917;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2215">5. &#20363;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2278">6. &#23436;&#20840;&#12394;&#20363;</a></span></dt></dl></div><p>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#29305;&#23450;&#12398;&#12463;&#12521;&#12473;&#12420;&#12513;&#12477;&#12483;&#12489;&#12434;&#12496;&#12464;&#22577;&#21578;&#12395;&#21547;&#12417;&#12383;&#12426;&#12496;&#12464;&#22577;&#21578;&#12363;&#12425;&#38500;&#22806;&#12375;&#12383;&#12426;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12371;&#12398;&#31456;&#12391;&#12399;&#12289;&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12398;&#20351;&#29992;&#26041;&#27861;&#12434;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;</p><div class="note" title="&#35336;&#30011;&#12373;&#12428;&#12390;&#12356;&#12427;&#27231;&#33021;" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note: &#35336;&#30011;&#12373;&#12428;&#12390;&#12356;&#12427;&#27231;&#33021;"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[&#27880;&#35352;]" src="note.png"></td><th align="left">&#35336;&#30011;&#12373;&#12428;&#12390;&#12356;&#12427;&#27231;&#33021;</th></tr><tr><td align="left" valign="top"><p>&#12501;&#12451;&#12523;&#12479;&#12540;&#12399;&#29694;&#22312;&#12289;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12391;&#12398;&#12415;&#12469;&#12509;&#12540;&#12488;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#26368;&#32066;&#30340;&#12395;&#12399;&#12289;&#12501;&#12451;&#12523;&#12479;&#12540;&#12398;&#12469;&#12509;&#12540;&#12488;&#12399; GUI &#12395;&#12418;&#36861;&#21152;&#12373;&#12428;&#12427;&#20104;&#23450;&#12391;&#12377;&#12290;</p></td></tr></table></div><p>
+</p><div class="sect1" title="1. &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12398;&#27010;&#35201;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1843"></a>1. &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12398;&#27010;&#35201;</h2></div></div></div><p>&#27010;&#24565;&#30340;&#12395;&#35328;&#12360;&#12400;&#12289;&#12501;&#12451;&#12523;&#12479;&#12540;&#12399;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#12354;&#12427;&#22522;&#28310;&#12392;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;&#12501;&#12451;&#12523;&#12479;&#12540;&#12434;&#23450;&#32681;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289; &#29305;&#21029;&#12394;&#21462;&#12426;&#25201;&#12356;&#12434;&#12377;&#12427;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#36984;&#25246;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#20363;&#12360;&#12400;&#12289;&#12354;&#12427;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#12496;&#12464;&#22577;&#21578;&#12395;&#21547;&#12417;&#12383;&#12426;&#12289;&#12496;&#12464;&#22577;&#21578;&#12363;&#12425;&#38500;&#22806;&#12375;&#12383;&#12426;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><p>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12399;&#12289; <a class="ulink" href="http://www.w3.org/XML/" target="_top">XML</a> &#25991;&#26360;&#12391;&#12377;&#12290;&#26368;&#19978;&#20301;&#35201;&#32032;&#12364;&#12288;<code class="literal">FindBugsFilter</code> &#35201;&#32032; &#12391;&#12354;&#12426;&#12289;&#12381;&#12398;&#23376;&#35201;&#32032;&#12392;&#12375;&#12390; <code class="literal">Match</code> &#35201;&#32032;&#12434;&#35079;&#25968;&#20491;&#23450;&#32681;&#12375;&#12414;&#12377;&#12290;&#12381;&#12428;&#12382;&#12428;&#12398; <code class="literal">Match</code> &#35201;&#32032;&#12399;&#12289;&#29983;&#25104;&#12373;&#12428;&#12383;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12395;&#36969;&#29992;&#12373;&#12428;&#12427;&#36848;&#37096;&#12395;&#12354;&#12383;&#12426;&#12414;&#12377;&#12290;&#36890;&#24120;&#12289;&#12501;&#12451;&#12523;&#12479;&#12540;&#12399;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#38500;&#22806;&#12377;&#12427;&#12383;&#12417;&#12395;&#20351;&#29992;&#12375;&#12414;&#12377;&#12290;&#27425;&#12395;&#12289;&#20363;&#12434;&#31034;&#12375;&#12414;&#12377;:</p><pre class="screen">
 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -exclude <em class="replaceable"><code>myExcludeFilter.xml</code></em> <em class="replaceable"><code>myApp.jar</code></em></strong></span>
 </pre><p>&#12414;&#12383;&#19968;&#26041;&#12391;&#12289;&#30340;&#12434;&#12375;&#12412;&#12387;&#12383;&#22577;&#21578;&#12434;&#24471;&#12427;&#12383;&#12417;&#12395;&#12496;&#12464;&#22577;&#21578;&#32080;&#26524;&#12434;&#36984;&#25246;&#12377;&#12427;&#12383;&#12417;&#12395;&#12501;&#12451;&#12523;&#12479;&#12540;&#12434;&#20351;&#29992;&#12377;&#12427;&#12371;&#12392;&#12418;&#32771;&#12360;&#12425;&#12428;&#12414;&#12377; :</p><pre class="screen">
 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -include <em class="replaceable"><code>myIncludeFilter.xml</code></em> <em class="replaceable"><code>myApp.jar</code></em></strong></span>
 </pre><p>
 </p><p>
-<code class="literal">Match</code> &#35201;&#32032;&#12399;&#23376;&#35201;&#32032;&#12434;&#25345;&#12385;&#12414;&#12377;&#12290;&#12381;&#12428;&#12425;&#12398;&#23376;&#35201;&#32032;&#12399;&#35542;&#29702;&#31309;&#12391;&#36848;&#37096;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12388;&#12414;&#12426;&#12289;&#36848;&#37096;&#12364;&#30495;&#12391;&#12354;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289;&#12377;&#12409;&#12390;&#12398;&#23376;&#35201;&#32032;&#12364;&#30495;&#12391;&#12354;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="2. &#12510;&#12483;&#12481;&#12531;&#12464;&#26465;&#20214;&#12398;&#31278;&#39006;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1759"></a>2. &#12510;&#12483;&#12481;&#12531;&#12464;&#26465;&#20214;&#12398;&#31278;&#39006;</h2></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="literal">&lt;Bug&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#12434;&#25351;&#23450;&#12375;&#12390;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;<code class="literal">pattern</code> &#23646;&#24615;&#12395;&#12399;&#12289;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12391;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#39006;&#22411;&#12398;&#12522;&#12473;&#12488;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12393;&#12398;&#35686;&#21578;&#12364;&#12393;&#12398;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#39006;&#22411;&#12395;&#12354;&#12383;&#12427;&#12363;&#12399;&#12289; <span class="command"><strong>-xml</strong></span> &#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#12388;&#12363;&#12387;&#12390;&#20986;&#21147;&#12373;&#12428;&#12383;&#12418;&#12398; (<code class="literal">BugInstance</code> &#35201;&#32032;&#12398; <code class="literal">type</code> &#23646;&#24615;) &#12434;&#35211;&#12427;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289; <a class="ulink" href="../../bugDescriptions.html" target="_top">&#12496;&#12464;&#35299;&#35500;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;</a>&#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p><p>&#12418;&#12387;&#12392;&#31890;&#24230;&#12398;&#31895;&#12356;&#29031;&#21512;&#12434;&#34892;&#12356;&#12383;&#12356;&#12392;&#12365;&#12399;&#12289; <code class="literal">code</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12496;&#12464;&#30053;&#31216;&#12398;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12398;&#12522;&#12473;&#12488;&#12391;&#25351;&#23450;&#12391;&#12365;&#12414;&#12377;&#12290;&#12373;&#12425;&#12395;&#31890;&#24230;&#12398;&#31895;&#12356;&#29031;&#21512;&#12434;&#34892;&#12356;&#12383;&#12356;&#12392;&#12365;&#12399;&#12289; <code class="literal">category</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#27425;&#12395;&#31034;&#12377;&#12289;&#12496;&#12464;&#12459;&#12486;&#12468;&#12522;&#12540;&#21517;&#12398;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12398;&#12522;&#12473;&#12488;&#12391;&#25351;&#23450;&#12391;&#12365;&#12414;&#12377; : <code class="literal">CORRECTNESS</code>, <code class="literal">MT_CORRECTNESS</code>, <code class="literal">BAD_PRACTICICE</code>, <code class="literal">PERFORMANCE</code>, <code class="literal">STYLE</code>.</p><p>&#21516;&#12376; <code class="literal">&lt;Bug&gt;</code> &#35201;&#32032;&#12395;&#19978;&#35352;&#12398;&#23646;&#24615;&#12434;&#35079;&#25968;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#21517;&#12289;&#12496;&#12464;&#30053;&#31216;&#12289;&#12496;&#12464;&#12459;&#12486;&#12468;&#12522;&#12540;&#12398;&#12356;&#12378;&#12428;&#12363;1&#12388;&#12391;&#12418;&#35442;&#24403;&#12377;&#12428;&#12400;&#12289;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#12399;&#21512;&#33268;&#12377;&#12427;&#12392;&#21028;&#23450;&#12373;&#12428;&#12414;&#12377;&#12290;</p><p>&#19979;&#20301;&#20114;&#25563;&#24615;&#12434;&#25345;&#12383;&#12379;&#12383;&#12356;&#22580;&#21512;&#12399;&#12289; <code class="literal">&lt;Bug&gt;</code> &#35201;&#32032;&#12398;&#20195;&#12431;&#12426;&#12395; <code class="literal">&lt;BugPattern&gt;</code> &#35201;&#32032;&#12362;&#12424;&#12403; <code class="literal">&lt;BugCode&gt;</code> &#35201;&#32032;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12371;&#12428;&#12425;&#12398;&#35201;&#32032;&#12399;&#12381;&#12428;&#12382;&#12428;&#12289; <code class="literal">name</code> &#23646;&#24615;&#12391;&#20516;&#12398;&#12522;&#12473;&#12488;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12371;&#12428;&#12425;&#12398;&#35201;&#32032;&#12399;&#12289;&#23558;&#26469;&#12469;&#12509;&#12540;&#12488;&#12373;&#12428;&#12394;&#12367;&#12394;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Priority&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#29305;&#23450;&#12398;&#20778;&#20808;&#24230;&#12434;&#12418;&#12388;&#35686;&#21578;&#12434;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;<code class="literal">value</code> &#23646;&#24615;&#12395;&#12399;&#12289;&#25972;&#25968;&#20516;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377; : 1 &#12399;&#20778;&#20808;&#24230;(&#39640;)&#12289;&#12414;&#12383;&#12289; 2  &#12399;&#20778;&#20808;&#24230;(&#20013;) &#12289; 3 &#12399;&#20778;&#20808;&#24230;(&#20302;) &#12434;&#31034;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Package&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289; <code class="literal">name</code> &#23646;&#24615;&#12391;&#25351;&#23450;&#12375;&#12383;&#29305;&#23450;&#12398;&#12497;&#12483;&#12465;&#12540;&#12472;&#20869;&#12395;&#12354;&#12427;&#12463;&#12521;&#12473;&#12395;&#38306;&#36899;&#12375;&#12383;&#35686;&#21578;&#12434;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;&#20837;&#12428;&#23376;&#12398;&#12497;&#12483;&#12465;&#12540;&#12472;&#12399;&#21547;&#12414;&#12428;&#12414;&#12379;&#12435; (Java import &#25991;&#12395;&#24467;&#12387;&#12390;&#12356;&#12414;&#12377;) &#12290;&#12375;&#12363;&#12375;&#12394;&#12364;&#12425;&#12289;&#27491;&#35215;&#34920;&#29694;&#12434;&#20351;&#12358;&#12392;&#35079;&#25968;&#12497;&#12483;&#12465;&#12540;&#12472;&#12395;&#12510;&#12483;&#12481;&#12373;&#12379;&#12427;&#12371;&#12392;&#12399;&#31777;&#21336;&#12395;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Class&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#29305;&#23450;&#12398;&#12463;&#12521;&#12473;&#12395;&#38306;&#36899;&#12375;&#12383;&#35686;&#21578;&#12434;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#29031;&#21512;&#12377;&#12427;&#12463;&#12521;&#12473;&#21517;&#12434;&#12463;&#12521;&#12473;&#21517;&#12381;&#12398;&#12418;&#12398;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p><p>&#19979;&#20301;&#20114;&#25563;&#24615;&#12434;&#25345;&#12383;&#12379;&#12383;&#12356;&#22580;&#21512;&#12399;&#12289;&#12371;&#12398;&#35201;&#32032;&#12398;&#20195;&#12431;&#12426;&#12395; <code class="literal">Match</code> &#35201;&#32032;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12463;&#12521;&#12473;&#21517;&#12381;&#12398;&#12418;&#12398;&#12398;&#25351;&#23450;&#12399; <code class="literal">class</code> &#23646;&#24615;&#12434;&#12289;&#12463;&#12521;&#12473;&#21517;&#12434;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12377;&#12427;&#22580;&#21512;&#12399; <code class="literal">classregex</code> &#23646;&#24615;&#12434;&#12381;&#12428;&#12382;&#12428;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;</p><p>&#12418;&#12375; <code class="literal">Match</code> &#35201;&#32032;&#12395; <code class="literal">Class</code> &#35201;&#32032;&#12364;&#28961;&#12363;&#12387;&#12383;&#12426;&#12289; <code class="literal">class</code> / <code class="literal">classregex</code> &#23646;&#24615;&#12364;&#28961;&#12363;&#12387;&#12383;&#12426;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#12377;&#12409;&#12390;&#12398;&#12463;&#12521;&#12473;&#12395;&#36969;&#29992;&#12373;&#12428;&#12414;&#12377;&#12290;&#12381;&#12398;&#22580;&#21512;&#12289;&#24819;&#23450;&#22806;&#12395;&#22810;&#12367;&#12398;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12364;&#19968;&#33268;&#12375;&#12390;&#12375;&#12414;&#12358;&#12371;&#12392;&#12364;&#12354;&#12426;&#24471;&#12414;&#12377;&#12290;&#12381;&#12398;&#22580;&#21512;&#12399;&#12289;&#36969;&#24403;&#12394;&#12513;&#12477;&#12483;&#12489;&#12420;&#12501;&#12451;&#12540;&#12523;&#12489;&#12391;&#32094;&#12426;&#36796;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Method&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#12513;&#12477;&#12483;&#12489;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#29031;&#21512;&#12377;&#12427;&#12513;&#12477;&#12483;&#12489;&#21517;&#12434;&#12513;&#12477;&#12483;&#12489;&#21517;&#12381;&#12398;&#12418;&#12398;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">params</code> &#23646;&#24615;&#12395;&#12399;&#12289;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12391;&#12513;&#12477;&#12483;&#12489;&#24341;&#25968;&#12398;&#22411;&#12398;&#12522;&#12473;&#12488;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">returns</code> &#23646;&#24615;&#12395;&#12399;&#12513;&#12477;&#12483;&#12489;&#12398;&#25147;&#12426;&#20516;&#12398;&#22411;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">params</code> &#12362;&#12424;&#12403; <code class="literal">returns</code> &#12395;&#12362;&#12356;&#12390;&#12399;&#12289;&#12463;&#12521;&#12473;&#21517;&#12399;&#23436;&#20840;&#20462;&#39166;&#21517;&#12391;&#12354;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;(&#20363;&#12360;&#12400;&#12289;&#21336;&#12395; "String" &#12391;&#12399;&#12394;&#12367; "java.lang.String" &#12392;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;) <code class="literal">params</code> <code class="literal">returns</code> &#12398;&#12393;&#12385;&#12425;&#12363;&#19968;&#26041;&#12434;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#12418;&#12358;&#19968;&#26041;&#12398;&#23646;&#24615;&#12398;&#25351;&#23450;&#12418;&#24517;&#38920;&#12391;&#12377;&#12290;&#12394;&#12380;&#12394;&#12425;&#12400;&#12289;&#12513;&#12477;&#12483;&#12489;&#12471;&#12464;&#12491;&#12481;&#12515;&#12540;&#12434;&#27083;&#31689;&#12398;&#12383;&#12417;&#12395;&#24517;&#35201;&#12384;&#12363;&#12425;&#12391;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12289;<code class="literal">params</code> &#23646;&#24615; &#12362;&#12424;&#12403; <code class="literal">returns</code> &#23646;&#24615;&#12414;&#12383;&#12399; 3 &#12388;&#12398; &#23646;&#24615;&#12377;&#12409;&#12390;&#12289;&#12398;&#12393;&#12428;&#12363;&#12434;&#26465;&#20214;&#12392;&#12377;&#12427;&#12371;&#12392;&#12391;&#12365;&#12427;&#12371;&#12392;&#12434;&#24847;&#21619;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12371;&#12398;&#12424;&#12358;&#12395;&#12289;&#21517;&#21069;&#12392;&#12471;&#12464;&#12491;&#12481;&#12515;&#12540;&#12395;&#22522;&#12389;&#12367;&#27096;&#12293;&#12394;&#31278;&#39006;&#12398;&#26465;&#20214;&#12434;&#35215;&#23450;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Field&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#12501;&#12451;&#12540;&#12523;&#12489;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#29031;&#21512;&#12377;&#12427;&#12501;&#12451;&#12540;&#12523;&#12489;&#21517;&#12434;&#12501;&#12451;&#12540;&#12523;&#12489;&#21517;&#12381;&#12398;&#12418;&#12398;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;&#12501;&#12451;&#12540;&#12523;&#12489;&#12398;&#12471;&#12464;&#12491;&#12481;&#12515;&#12540;&#12395;&#29031;&#12425;&#12375;&#12383;&#12501;&#12451;&#12523;&#12479;&#12522;&#12531;&#12464;&#12434;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290; <code class="literal">type</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#12501;&#12451;&#12540;&#12523;&#12489;&#12398;&#22411;&#12434;&#23436;&#20840;&#20462;&#39166;&#21517;&#12391;&#25351;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#21517;&#21069;&#12392;&#12471;&#12464;&#12491;&#12481;&#12515;&#12540;&#12395;&#22522;&#12389;&#12367;&#26465;&#20214;&#12434;&#35215;&#23450;&#12377;&#12427;&#12383;&#12417;&#12395;&#12289;&#12381;&#12398;2&#12388;&#12398;&#23646;&#24615;&#12434;&#20001;&#26041;&#12392;&#12418;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Local&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#12525;&#12540;&#12459;&#12523;&#22793;&#25968;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#29031;&#21512;&#12377;&#12427;&#12525;&#12540;&#12459;&#12523;&#22793;&#25968;&#21517;&#12434;&#12525;&#12540;&#12459;&#12523;&#22793;&#25968;&#21517;&#12381;&#12398;&#12418;&#12398;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12525;&#12540;&#12459;&#12523;&#22793;&#25968;&#12392;&#12399;&#12289;&#12513;&#12477;&#12483;&#12489;&#20869;&#12391;&#23450;&#32681;&#12375;&#12383;&#22793;&#25968;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Or&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#35542;&#29702;&#21644;&#12392;&#12375;&#12390; <code class="literal">Match</code> &#26465;&#38917;&#12434;&#32080;&#21512;&#12375;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289;2&#12388;&#12398; <code class="literal">Method</code> &#35201;&#32032;&#12434; <code class="literal">Or</code> &#26465;&#38917;&#12395;&#20837;&#12428;&#12427;&#12371;&#12392;&#12391;&#12289;&#12393;&#12385;&#12425;&#12363;&#19968;&#26041;&#12398;&#12513;&#12477;&#12483;&#12489;&#12391;&#12510;&#12483;&#12481;&#12373;&#12379;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd></dl></div></div><div class="sect1" title="3. Java &#35201;&#32032;&#21517;&#12510;&#12483;&#12481;&#12531;&#12464;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1958"></a>3. Java &#35201;&#32032;&#21517;&#12510;&#12483;&#12481;&#12531;&#12464;</h2></div></div></div><p><code class="literal">Class</code> &#12289; <code class="literal">Method</code> &#12414;&#12383;&#12399; <code class="literal">Field</code> &#12398; <code class="literal">name</code> &#23646;&#24615;&#12364;&#25991;&#23383; ~ &#12391;&#22987;&#12414;&#12387;&#12390;&#12356;&#12427;&#22580;&#21512;&#12399;&#12289;&#23646;&#24615;&#20516;&#12398;&#27531;&#12426;&#12398;&#37096;&#20998;&#12434; Java &#12398;&#27491;&#35215;&#34920;&#29694;&#12392;&#12375;&#12390;&#35299;&#37320;&#12375;&#12414;&#12377;&#12290;&#12381;&#12358;&#12375;&#12390;&#12289;&#24403;&#35442; Java &#35201;&#32032;&#12398;&#21517;&#21069;&#12395;&#23550;&#12375;&#12390;&#12398;&#29031;&#21512;&#12364;&#34892;&#12431;&#12428;&#12414;&#12377;&#12290;</p><p>&#12497;&#12479;&#12540;&#12531;&#12398;&#29031;&#21512;&#12399;&#35201;&#32032;&#12398;&#21517;&#21069;&#20840;&#20307;&#12395;&#23550;&#12375;&#12390;&#34892;&#12431;&#12428;&#12427;&#12371;&#12392;&#12395;&#27880;&#24847;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12381;&#12398;&#12383;&#12417;&#12289;&#37096;&#20998;&#19968;&#33268;&#29031;&#21512;&#12434;&#34892;&#12356;&#12383;&#12356;&#22580;&#21512;&#12399;&#12497;&#12479;&#12540;&#12531;&#25991;&#23383;&#21015;&#12398;&#21069;&#24460;&#12395; .* &#12434;&#20184;&#21152;&#12375;&#12390;&#20351;&#29992;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p><p>&#12497;&#12479;&#12540;&#12531;&#12398;&#27083;&#25991;&#35215;&#21063;&#12395;&#38306;&#12375;&#12390;&#12399;&#12289; <a class="ulink" href="http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/regex/Pattern.html" target="_top"><code class="literal">java.util.regex.Pattern</code></a> &#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></div><div class="sect1" title="4. &#30041;&#24847;&#20107;&#38917;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1982"></a>4. &#30041;&#24847;&#20107;&#38917;</h2></div></div></div><p>
+<code class="literal">Match</code> &#35201;&#32032;&#12399;&#23376;&#35201;&#32032;&#12434;&#25345;&#12385;&#12414;&#12377;&#12290;&#12381;&#12428;&#12425;&#12398;&#23376;&#35201;&#32032;&#12399;&#35542;&#29702;&#31309;&#12391;&#36848;&#37096;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12388;&#12414;&#12426;&#12289;&#36848;&#37096;&#12364;&#30495;&#12391;&#12354;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289;&#12377;&#12409;&#12390;&#12398;&#23376;&#35201;&#32032;&#12364;&#30495;&#12391;&#12354;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="2. &#12510;&#12483;&#12481;&#12531;&#12464;&#26465;&#20214;&#12398;&#31278;&#39006;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1893"></a>2. &#12510;&#12483;&#12481;&#12531;&#12464;&#26465;&#20214;&#12398;&#31278;&#39006;</h2></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="literal">&lt;Bug&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#12434;&#25351;&#23450;&#12375;&#12390;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;<code class="literal">pattern</code> &#23646;&#24615;&#12395;&#12399;&#12289;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12391;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#39006;&#22411;&#12398;&#12522;&#12473;&#12488;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12393;&#12398;&#35686;&#21578;&#12364;&#12393;&#12398;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#39006;&#22411;&#12395;&#12354;&#12383;&#12427;&#12363;&#12399;&#12289; <span class="command"><strong>-xml</strong></span> &#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#12388;&#12363;&#12387;&#12390;&#20986;&#21147;&#12373;&#12428;&#12383;&#12418;&#12398; (<code class="literal">BugInstance</code> &#35201;&#32032;&#12398; <code class="literal">type</code> &#23646;&#24615;) &#12434;&#35211;&#12427;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289; <a class="ulink" href="../../bugDescriptions.html" target="_top">&#12496;&#12464;&#35299;&#35500;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;</a>&#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p><p>&#12418;&#12387;&#12392;&#31890;&#24230;&#12398;&#31895;&#12356;&#29031;&#21512;&#12434;&#34892;&#12356;&#12383;&#12356;&#12392;&#12365;&#12399;&#12289; <code class="literal">code</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12496;&#12464;&#30053;&#31216;&#12398;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12398;&#12522;&#12473;&#12488;&#12391;&#25351;&#23450;&#12391;&#12365;&#12414;&#12377;&#12290;&#12373;&#12425;&#12395;&#31890;&#24230;&#12398;&#31895;&#12356;&#29031;&#21512;&#12434;&#34892;&#12356;&#12383;&#12356;&#12392;&#12365;&#12399;&#12289; <code class="literal">category</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#27425;&#12395;&#31034;&#12377;&#12289;&#12496;&#12464;&#12459;&#12486;&#12468;&#12522;&#12540;&#21517;&#12398;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12398;&#12522;&#12473;&#12488;&#12391;&#25351;&#23450;&#12391;&#12365;&#12414;&#12377; : <code class="literal">CORRECTNESS</code>, <code class="literal">MT_CORRECTNESS</code>, <code class="literal">BAD_PRACTICICE</code>, <code class="literal">PERFORMANCE</code>, <code class="literal">STYLE</code>.</p><p>&#21516;&#12376; <code class="literal">&lt;Bug&gt;</code> &#35201;&#32032;&#12395;&#19978;&#35352;&#12398;&#23646;&#24615;&#12434;&#35079;&#25968;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#21517;&#12289;&#12496;&#12464;&#30053;&#31216;&#12289;&#12496;&#12464;&#12459;&#12486;&#12468;&#12522;&#12540;&#12398;&#12356;&#12378;&#12428;&#12363;1&#12388;&#12391;&#12418;&#35442;&#24403;&#12377;&#12428;&#12400;&#12289;&#12496;&#12464;&#12497;&#12479;&#12540;&#12531;&#12399;&#21512;&#33268;&#12377;&#12427;&#12392;&#21028;&#23450;&#12373;&#12428;&#12414;&#12377;&#12290;</p><p>&#19979;&#20301;&#20114;&#25563;&#24615;&#12434;&#25345;&#12383;&#12379;&#12383;&#12356;&#22580;&#21512;&#12399;&#12289; <code class="literal">&lt;Bug&gt;</code> &#35201;&#32032;&#12398;&#20195;&#12431;&#12426;&#12395; <code class="literal">&lt;BugPattern&gt;</code> &#35201;&#32032;&#12362;&#12424;&#12403; <code class="literal">&lt;BugCode&gt;</code> &#35201;&#32032;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12371;&#12428;&#12425;&#12398;&#35201;&#32032;&#12399;&#12381;&#12428;&#12382;&#12428;&#12289; <code class="literal">name</code> &#23646;&#24615;&#12391;&#20516;&#12398;&#12522;&#12473;&#12488;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12371;&#12428;&#12425;&#12398;&#35201;&#32032;&#12399;&#12289;&#23558;&#26469;&#12469;&#12509;&#12540;&#12488;&#12373;&#12428;&#12394;&#12367;&#12394;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Confidence&gt;</code></span></dt><dd><p>
+            &#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#29305;&#23450;&#12398;&#12496;&#12464;&#20449;&#38972;&#24230;&#12434;&#12418;&#12388;&#35686;&#21578;&#12434;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;
+            <code class="literal">value</code> &#23646;&#24615;&#12395;&#12399;&#12289;&#25972;&#25968;&#20516;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385; 1 &#12399;&#20449;&#38972;&#24230;(&#39640;) &#12289;&#12414;&#12383;&#12289; 2 &#12399;&#20449;&#38972;&#24230;(&#20013;) &#12289; 3 &#12399;&#20449;&#38972;&#24230;(&#20302;) &#12434;&#31034;&#12375;&#12414;&#12377;&#12290;
+            &lt;Confidence&gt; &#12399; 2.0.0 &#12522;&#12522;&#12540;&#12473;&#12363;&#12425; &lt;Priority&gt; &#12398;&#24460;&#32153;&#12392;&#12375;&#12390;&#21462;&#12387;&#12390;&#20195;&#12431;&#12426;&#12414;&#12375;&#12383;&#12290;
+        </p></dd><dt><span class="term"><code class="literal">&lt;Priority&gt;</code></span></dt><dd><p>
+            <code class="literal">&lt;Confidence&gt;</code> &#12392;&#21516;&#19968;&#12391;&#12377;&#12290;&#19979;&#20301;&#20114;&#25563;&#24615;&#12434;&#20445;&#12388;&#12383;&#12417;&#27531;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;
+        </p></dd><dt><span class="term"><code class="literal">&lt;Rank&gt;</code></span></dt><dd><p>
+            &#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#29305;&#23450;&#12398;&#12496;&#12464;&#12521;&#12531;&#12463;&#12434;&#12418;&#12388;&#35686;&#21578;&#12434;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;
+            <code class="literal">value</code> &#23646;&#24615;&#12395;&#12399;&#12289; 1 &#12363;&#12425; 20 &#12398;&#25972;&#25968;&#20516;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;
+            1 &#12363;&#12425; 4 &#12399;&#26368;&#12418;&#24656;&#12429;&#12375;&#12356;&#12496;&#12464;&#12289; 5 &#12363;&#12425; 9 &#12399;&#24656;&#12429;&#12375;&#12356;&#12496;&#12464;&#12289; 10 &#12363;&#12425; 14 &#12399;&#21380;&#20171;&#12394;&#12496;&#12464;,
+            &#12381;&#12375;&#12390; 15 &#12363;&#12425; 20 &#12399;&#19981;&#23433;&#12394;&#12496;&#12464;&#12434;&#31034;&#12375;&#12414;&#12377;&#12290;
+        </p></dd><dt><span class="term"><code class="literal">&lt;Package&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289; <code class="literal">name</code> &#23646;&#24615;&#12391;&#25351;&#23450;&#12375;&#12383;&#29305;&#23450;&#12398;&#12497;&#12483;&#12465;&#12540;&#12472;&#20869;&#12395;&#12354;&#12427;&#12463;&#12521;&#12473;&#12395;&#38306;&#36899;&#12375;&#12383;&#35686;&#21578;&#12434;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;&#20837;&#12428;&#23376;&#12398;&#12497;&#12483;&#12465;&#12540;&#12472;&#12399;&#21547;&#12414;&#12428;&#12414;&#12379;&#12435; (Java import &#25991;&#12395;&#24467;&#12387;&#12390;&#12356;&#12414;&#12377;) &#12290;&#12375;&#12363;&#12375;&#12394;&#12364;&#12425;&#12289;&#27491;&#35215;&#34920;&#29694;&#12434;&#20351;&#12358;&#12392;&#35079;&#25968;&#12497;&#12483;&#12465;&#12540;&#12472;&#12395;&#12510;&#12483;&#12481;&#12373;&#12379;&#12427;&#12371;&#12392;&#12399;&#31777;&#21336;&#12395;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Class&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#29305;&#23450;&#12398;&#12463;&#12521;&#12473;&#12395;&#38306;&#36899;&#12375;&#12383;&#35686;&#21578;&#12434;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#29031;&#21512;&#12377;&#12427;&#12463;&#12521;&#12473;&#21517;&#12434;&#12463;&#12521;&#12473;&#21517;&#12381;&#12398;&#12418;&#12398;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p><p>&#19979;&#20301;&#20114;&#25563;&#24615;&#12434;&#25345;&#12383;&#12379;&#12383;&#12356;&#22580;&#21512;&#12399;&#12289;&#12371;&#12398;&#35201;&#32032;&#12398;&#20195;&#12431;&#12426;&#12395; <code class="literal">Match</code> &#35201;&#32032;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12463;&#12521;&#12473;&#21517;&#12381;&#12398;&#12418;&#12398;&#12398;&#25351;&#23450;&#12399; <code class="literal">class</code> &#23646;&#24615;&#12434;&#12289;&#12463;&#12521;&#12473;&#21517;&#12434;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12377;&#12427;&#22580;&#21512;&#12399; <code class="literal">classregex</code> &#23646;&#24615;&#12434;&#12381;&#12428;&#12382;&#12428;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;</p><p>&#12418;&#12375; <code class="literal">Match</code> &#35201;&#32032;&#12395; <code class="literal">Class</code> &#35201;&#32032;&#12364;&#28961;&#12363;&#12387;&#12383;&#12426;&#12289; <code class="literal">class</code> / <code class="literal">classregex</code> &#23646;&#24615;&#12364;&#28961;&#12363;&#12387;&#12383;&#12426;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#12377;&#12409;&#12390;&#12398;&#12463;&#12521;&#12473;&#12395;&#36969;&#29992;&#12373;&#12428;&#12414;&#12377;&#12290;&#12381;&#12398;&#22580;&#21512;&#12289;&#24819;&#23450;&#22806;&#12395;&#22810;&#12367;&#12398;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12364;&#19968;&#33268;&#12375;&#12390;&#12375;&#12414;&#12358;&#12371;&#12392;&#12364;&#12354;&#12426;&#24471;&#12414;&#12377;&#12290;&#12381;&#12398;&#22580;&#21512;&#12399;&#12289;&#36969;&#24403;&#12394;&#12513;&#12477;&#12483;&#12489;&#12420;&#12501;&#12451;&#12540;&#12523;&#12489;&#12391;&#32094;&#12426;&#36796;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Source&gt;</code></span></dt><dd><p>
+            &#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#29305;&#23450;&#12398;&#12477;&#12540;&#12473;&#12501;&#12449;&#12452;&#12523;&#12395;&#38306;&#36899;&#12375;&#12383;&#35686;&#21578;&#12434;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;
+            <code class="literal">name</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#29031;&#21512;&#12377;&#12427;&#12477;&#12540;&#12473;&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#12477;&#12540;&#12473;&#12501;&#12449;&#12452;&#12523;&#21517;&#12381;&#12398;&#12418;&#12398;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;
+        </p></dd><dt><span class="term"><code class="literal">&lt;Method&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#12513;&#12477;&#12483;&#12489;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#29031;&#21512;&#12377;&#12427;&#12513;&#12477;&#12483;&#12489;&#21517;&#12434;&#12513;&#12477;&#12483;&#12489;&#21517;&#12381;&#12398;&#12418;&#12398;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">params</code> &#23646;&#24615;&#12395;&#12399;&#12289;&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12391;&#12513;&#12477;&#12483;&#12489;&#24341;&#25968;&#12398;&#22411;&#12398;&#12522;&#12473;&#12488;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">returns</code> &#23646;&#24615;&#12395;&#12399;&#12513;&#12477;&#12483;&#12489;&#12398;&#25147;&#12426;&#20516;&#12398;&#22411;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">params</code> &#12362;&#12424;&#12403; <code class="literal">returns</code> &#12395;&#12362;&#12356;&#12390;&#12399;&#12289;&#12463;&#12521;&#12473;&#21517;&#12399;&#23436;&#20840;&#20462;&#39166;&#21517;&#12391;&#12354;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;(&#20363;&#12360;&#12400;&#12289;&#21336;&#12395; "String" &#12391;&#12399;&#12394;&#12367; "java.lang.String" &#12392;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;) <code class="literal">params</code> <code class="literal">returns</code> &#12398;&#12393;&#12385;&#12425;&#12363;&#19968;&#26041;&#12434;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#12418;&#12358;&#19968;&#26041;&#12398;&#23646;&#24615;&#12398;&#25351;&#23450;&#12418;&#24517;&#38920;&#12391;&#12377;&#12290;&#12394;&#12380;&#12394;&#12425;&#12400;&#12289;&#12513;&#12477;&#12483;&#12489;&#12471;&#12464;&#12491;&#12481;&#12515;&#12540;&#12434;&#27083;&#31689;&#12398;&#12383;&#12417;&#12395;&#24517;&#35201;&#12384;&#12363;&#12425;&#12391;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12289;<code class="literal">params</code> &#23646;&#24615; &#12362;&#12424;&#12403; <code class="literal">returns</code> &#23646;&#24615;&#12414;&#12383;&#12399; 3 &#12388;&#12398; &#23646;&#24615;&#12377;&#12409;&#12390;&#12289;&#12398;&#12393;&#12428;&#12363;&#12434;&#26465;&#20214;&#12392;&#12377;&#12427;&#12371;&#12392;&#12391;&#12365;&#12427;&#12371;&#12392;&#12434;&#24847;&#21619;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12371;&#12398;&#12424;&#12358;&#12395;&#12289;&#21517;&#21069;&#12392;&#12471;&#12464;&#12491;&#12481;&#12515;&#12540;&#12395;&#22522;&#12389;&#12367;&#27096;&#12293;&#12394;&#31278;&#39006;&#12398;&#26465;&#20214;&#12434;&#35215;&#23450;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Field&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#12501;&#12451;&#12540;&#12523;&#12489;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#29031;&#21512;&#12377;&#12427;&#12501;&#12451;&#12540;&#12523;&#12489;&#21517;&#12434;&#12501;&#12451;&#12540;&#12523;&#12489;&#21517;&#12381;&#12398;&#12418;&#12398;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;&#12501;&#12451;&#12540;&#12523;&#12489;&#12398;&#12471;&#12464;&#12491;&#12481;&#12515;&#12540;&#12395;&#29031;&#12425;&#12375;&#12383;&#12501;&#12451;&#12523;&#12479;&#12522;&#12531;&#12464;&#12434;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290; <code class="literal">type</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#12501;&#12451;&#12540;&#12523;&#12489;&#12398;&#22411;&#12434;&#23436;&#20840;&#20462;&#39166;&#21517;&#12391;&#25351;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#21517;&#21069;&#12392;&#12471;&#12464;&#12491;&#12481;&#12515;&#12540;&#12395;&#22522;&#12389;&#12367;&#26465;&#20214;&#12434;&#35215;&#23450;&#12377;&#12427;&#12383;&#12417;&#12395;&#12289;&#12381;&#12398;2&#12388;&#12398;&#23646;&#24615;&#12434;&#20001;&#26041;&#12392;&#12418;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Local&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#12525;&#12540;&#12459;&#12523;&#22793;&#25968;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;<code class="literal">name</code> &#23646;&#24615;&#12434;&#20351;&#29992;&#12375;&#12390;&#12289;&#29031;&#21512;&#12377;&#12427;&#12525;&#12540;&#12459;&#12523;&#22793;&#25968;&#21517;&#12434;&#12525;&#12540;&#12459;&#12523;&#22793;&#25968;&#21517;&#12381;&#12398;&#12418;&#12398;&#12363;&#12289;&#12414;&#12383;&#12399;&#12289;&#27491;&#35215;&#34920;&#29694;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12525;&#12540;&#12459;&#12523;&#22793;&#25968;&#12392;&#12399;&#12289;&#12513;&#12477;&#12483;&#12489;&#20869;&#12391;&#23450;&#32681;&#12375;&#12383;&#22793;&#25968;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;Or&gt;</code></span></dt><dd><p>&#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#35542;&#29702;&#21644;&#12392;&#12375;&#12390; <code class="literal">Match</code> &#26465;&#38917;&#12434;&#32080;&#21512;&#12375;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289;2&#12388;&#12398; <code class="literal">Method</code> &#35201;&#32032;&#12434; <code class="literal">Or</code> &#26465;&#38917;&#12395;&#20837;&#12428;&#12427;&#12371;&#12392;&#12391;&#12289;&#12393;&#12385;&#12425;&#12363;&#19968;&#26041;&#12398;&#12513;&#12477;&#12483;&#12489;&#12391;&#12510;&#12483;&#12481;&#12373;&#12379;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><code class="literal">&lt;And&gt;</code></span></dt><dd><p>
+   &#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#35542;&#29702;&#31309;&#12392;&#12375;&#12390; <code class="literal">Match</code> &#26465;&#38917;&#12434;&#32080;&#21512;&#12375;&#12414;&#12377;&#12290; 
+   &#12377;&#12394;&#12431;&#12385;&#12289;  <code class="literal">Bug</code> &#12362;&#12424;&#12403; <code class="literal">Confidence</code> &#35201;&#32032;&#12434; <code class="literal">And</code> &#26465;&#38917;&#20869;&#12395;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12391;
+   &#29305;&#23450;&#12398;&#20449;&#38972;&#24230;&#12398;&#29305;&#23450;&#12398;&#12496;&#12464;&#12398;&#12415;&#29031;&#21512;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
+   </p></dd><dt><span class="term"><code class="literal">&lt;Not&gt;</code></span></dt><dd><p>
+   &#12371;&#12398;&#35201;&#32032;&#12399;&#12289;&#20869;&#21253;&#12377;&#12427;&#23376; <code class="literal">Match</code> &#12434;&#21453;&#36578;&#12375;&#12414;&#12377;&#12290;
+   &#12377;&#12394;&#12431;&#12385;&#12289; <code class="literal">Bug</code> &#35201;&#32032;&#12434; <code class="literal">Not</code> &#26465;&#38917;&#20869;&#12395;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12391;&#25351;&#23450;&#12375;&#12383;&#12496;&#12464;&#20197;&#22806;&#12398;&#12377;&#12409;&#12390;&#12398;&#12496;&#12464;&#12392;&#29031;&#21512;&#12375;&#12414;&#12377;&#12290;
+   </p></dd></dl></div></div><div class="sect1" title="3. Java &#35201;&#32032;&#21517;&#12510;&#12483;&#12481;&#12531;&#12464;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2157"></a>3. Java &#35201;&#32032;&#21517;&#12510;&#12483;&#12481;&#12531;&#12464;</h2></div></div></div><p>
+<code class="literal">Class</code> &#12289; <code class="literal">Source</code> &#12289; <code class="literal">Method</code> &#12414;&#12383;&#12399; <code class="literal">Field</code> &#12398; <code class="literal">name</code> &#23646;&#24615;&#12364;&#25991;&#23383; ~ &#12391;&#22987;&#12414;&#12387;&#12390;&#12356;&#12427;&#22580;&#21512;&#12399;&#12289;
+&#23646;&#24615;&#20516;&#12398;&#27531;&#12426;&#12398;&#37096;&#20998;&#12434; Java &#12398;&#27491;&#35215;&#34920;&#29694;&#12392;&#12375;&#12390;&#35299;&#37320;&#12375;&#12414;&#12377;&#12290;
+&#12381;&#12358;&#12375;&#12390;&#12289;&#24403;&#35442; Java &#35201;&#32032;&#12398;&#21517;&#21069;&#12395;&#23550;&#12375;&#12390;&#12398;&#29031;&#21512;&#12364;&#34892;&#12431;&#12428;&#12414;&#12377;&#12290;
+</p><p>&#12497;&#12479;&#12540;&#12531;&#12398;&#29031;&#21512;&#12399;&#35201;&#32032;&#12398;&#21517;&#21069;&#20840;&#20307;&#12395;&#23550;&#12375;&#12390;&#34892;&#12431;&#12428;&#12427;&#12371;&#12392;&#12395;&#27880;&#24847;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12381;&#12398;&#12383;&#12417;&#12289;&#37096;&#20998;&#19968;&#33268;&#29031;&#21512;&#12434;&#34892;&#12356;&#12383;&#12356;&#22580;&#21512;&#12399;&#12497;&#12479;&#12540;&#12531;&#25991;&#23383;&#21015;&#12398;&#21069;&#24460;&#12395; .* &#12434;&#20184;&#21152;&#12375;&#12390;&#20351;&#29992;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p><p>&#12497;&#12479;&#12540;&#12531;&#12398;&#27083;&#25991;&#35215;&#21063;&#12395;&#38306;&#12375;&#12390;&#12399;&#12289; <a class="ulink" href="http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/regex/Pattern.html" target="_top"><code class="literal">java.util.regex.Pattern</code></a> &#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></div><div class="sect1" title="4. &#30041;&#24847;&#20107;&#38917;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2185"></a>4. &#30041;&#24847;&#20107;&#38917;</h2></div></div></div><p>
 <code class="literal">Match</code> &#26465;&#38917;&#12399;&#12289;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12395;&#23455;&#38555;&#12395;&#21547;&#12414;&#12428;&#12390;&#12356;&#12427;&#24773;&#22577;&#12395;&#12398;&#12415;&#19968;&#33268;&#12375;&#12414;&#12377;&#12290;&#12377;&#12409;&#12390;&#12398;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12399;&#12463;&#12521;&#12473;&#12434;&#25345;&#12387;&#12390;&#12356;&#12414;&#12377;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;&#19968;&#33324;&#30340;&#12395;&#35328;&#12387;&#12390;&#12289;&#12496;&#12464;&#12434;&#38500;&#22806;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12463;&#12521;&#12473;&#12434;&#29992;&#12356;&#12390;&#34892;&#12358;&#12392;&#12358;&#12414;&#12367;&#12356;&#12367;&#12371;&#12392;&#12364;&#22810;&#12356;&#12391;&#12377;&#12290;</p><p>&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12398;&#20013;&#12395;&#12399;&#12289;2&#20491;&#20197;&#19978;&#12398;&#12463;&#12521;&#12473;&#12434;&#20445;&#25345;&#12375;&#12390;&#12356;&#12427;&#12418;&#12398;&#12418;&#12354;&#12426;&#12414;&#12377;&#12290;&#20363;&#12360;&#12400;&#12289; DE (dropped exception : &#20363;&#22806;&#12398;&#28961;&#35222;) &#12496;&#12464;&#12399;&#12289; &#20363;&#22806;&#12398;&#28961;&#35222;&#12364;&#30330;&#29983;&#12375;&#12383;&#12513;&#12477;&#12483;&#12489;&#12434;&#25345;&#12387;&#12390;&#12356;&#12427;&#12463;&#12521;&#12473;&#12392;&#12289; &#28961;&#35222;&#12373;&#12428;&#12383;&#20363;&#22806;&#12398;&#22411;&#12434;&#34920;&#12377;&#12463;&#12521;&#12473;&#12398;&#20001;&#26041;&#12434;&#21547;&#12435;&#12384;&#24418;&#12391;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;<code class="literal">Match</code> &#26465;&#38917;&#12392;&#12399;&#12289; <span class="emphasis"><em>1&#30058;&#30446;</em></span> (&#20027;) &#12398;&#12463;&#12521;&#12473;&#12398;&#12415;&#12364;&#29031;&#21512;&#12373;&#12428;&#12414;&#12377;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;&#20363;&#12360;&#12400;&#12289;&#12463;&#12521;&#12473; "com.foobar.A" &#12289; "com.foobar.B" &#38291;&#12391;&#12398; IC (initialization circularity : &#21021;&#26399;&#21270;&#26178;&#12398;&#20966;&#29702;&#24490;&#29872;) &#12496;&#12464;&#22577;&#21578;&#12434;&#25233;&#27490;&#12375;&#12383;&#12356;&#22580;&#21512;&#12289;&#20197;&#19979;&#12395;&#31034;&#12377;&#12424;&#12358;&#12395; 2&#12388;&#12398; <code class="literal">Match</code> &#26465;&#38917;&#12434;&#20351;&#29992;&#12375;&#12414;&#12377; :</p><pre class="programlisting">
    &lt;Match&gt;
       &lt;Class name="com.foobar.A" /&gt;
@@ -18,7 +43,7 @@
       &lt;Class name="com.foobar.B" /&gt;
       &lt;Bug code="IC" /&gt;
    &lt;/Match&gt;
-</pre><p>&#26126;&#31034;&#30340;&#12395;&#20001;&#26041;&#12398;&#12463;&#12521;&#12473;&#12391;&#29031;&#21512;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12387;&#12390;&#12289;&#24490;&#29872;&#12375;&#12390;&#12356;&#12427;&#12393;&#12385;&#12425;&#12398;&#12463;&#12521;&#12473;&#12364;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12398; 1 &#30058;&#30446;&#12395;&#12394;&#12387;&#12390;&#12356;&#12427;&#12363;&#12395;&#38306;&#20418;&#12394;&#12367;&#19968;&#33268;&#12373;&#12379;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;(&#12418;&#12385;&#12429;&#12435;&#12371;&#12398;&#26041;&#27861;&#12399;&#12289;&#20966;&#29702;&#24490;&#29872;&#12364; "com.foobar.A" &#12289; "com.foobar.B" &#12395;&#21152;&#12360;&#12390;3&#30058;&#30446;&#12398;&#12463;&#12521;&#12473;&#12418;&#21547;&#12435;&#12391;&#12356;&#12427;&#22580;&#21512;&#12399;&#22259;&#12425;&#12378;&#12418;&#22833;&#25943;&#12375;&#12390;&#12375;&#12414;&#12358;&#24656;&#12428;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;)</p><p>&#22810;&#12367;&#12398;&#31278;&#39006;&#12398;&#12496;&#12464;&#22577;&#21578;&#12399;&#12289;&#33258;&#36523;&#12364;&#20986;&#29694;&#12375;&#12383;&#12513;&#12477;&#12483;&#12489;&#12434;&#22577;&#21578;&#12375;&#12414;&#12377;&#12290;&#12381;&#12428;&#12425;&#12398;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12395;&#23550;&#12375;&#12390;&#12399;&#12289; <code class="literal">Method</code> &#26465;&#38917;&#12434; <code class="literal">Match</code> &#35201;&#32032;&#12395;&#21152;&#12360;&#12427;&#12392;&#26399;&#24453;&#36890;&#12426;&#12398;&#21205;&#20316;&#12434;&#12377;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;</p></div><div class="sect1" title="5. &#20363;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2012"></a>5. &#20363;</h2></div></div></div><p>1. &#29305;&#23450;&#12398;&#12463;&#12521;&#12473;&#12395;&#23550;&#12377;&#12427;&#12377;&#12409;&#12390;&#12398;&#12496;&#12464;&#22577;&#21578;&#12395;&#19968;&#33268;&#12373;&#12379;&#12414;&#12377;&#12290;</p><pre class="programlisting">
+</pre><p>&#26126;&#31034;&#30340;&#12395;&#20001;&#26041;&#12398;&#12463;&#12521;&#12473;&#12391;&#29031;&#21512;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12387;&#12390;&#12289;&#24490;&#29872;&#12375;&#12390;&#12356;&#12427;&#12393;&#12385;&#12425;&#12398;&#12463;&#12521;&#12473;&#12364;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12398; 1 &#30058;&#30446;&#12395;&#12394;&#12387;&#12390;&#12356;&#12427;&#12363;&#12395;&#38306;&#20418;&#12394;&#12367;&#19968;&#33268;&#12373;&#12379;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;(&#12418;&#12385;&#12429;&#12435;&#12371;&#12398;&#26041;&#27861;&#12399;&#12289;&#20966;&#29702;&#24490;&#29872;&#12364; "com.foobar.A" &#12289; "com.foobar.B" &#12395;&#21152;&#12360;&#12390;3&#30058;&#30446;&#12398;&#12463;&#12521;&#12473;&#12418;&#21547;&#12435;&#12391;&#12356;&#12427;&#22580;&#21512;&#12399;&#22259;&#12425;&#12378;&#12418;&#22833;&#25943;&#12375;&#12390;&#12375;&#12414;&#12358;&#24656;&#12428;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;)</p><p>&#22810;&#12367;&#12398;&#31278;&#39006;&#12398;&#12496;&#12464;&#22577;&#21578;&#12399;&#12289;&#33258;&#36523;&#12364;&#20986;&#29694;&#12375;&#12383;&#12513;&#12477;&#12483;&#12489;&#12434;&#22577;&#21578;&#12375;&#12414;&#12377;&#12290;&#12381;&#12428;&#12425;&#12398;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12395;&#23550;&#12375;&#12390;&#12399;&#12289; <code class="literal">Method</code> &#26465;&#38917;&#12434; <code class="literal">Match</code> &#35201;&#32032;&#12395;&#21152;&#12360;&#12427;&#12392;&#26399;&#24453;&#36890;&#12426;&#12398;&#21205;&#20316;&#12434;&#12377;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;</p></div><div class="sect1" title="5. &#20363;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2215"></a>5. &#20363;</h2></div></div></div><p>1. &#29305;&#23450;&#12398;&#12463;&#12521;&#12473;&#12395;&#23550;&#12377;&#12427;&#12377;&#12409;&#12390;&#12398;&#12496;&#12464;&#22577;&#21578;&#12395;&#19968;&#33268;&#12373;&#12379;&#12414;&#12377;&#12290;</p><pre class="programlisting">
 
      &lt;Match&gt;
        &lt;Class name="com.foobar.MyClass" /&gt;
@@ -127,8 +152,38 @@
     &lt;/Match&gt;
 
 </pre><p>
+</p><p>
+    11. Not &#12501;&#12451;&#12523;&#12479;&#12540;&#28436;&#31639;&#23376;&#12434;&#20351;&#29992;&#12375;&#12390;&#12496;&#12464;&#12395;&#19968;&#33268;&#12373;&#12379;&#12414;&#12377;&#12290;
+</p><pre class="programlisting">
 
-</p></div><div class="sect1" title="6. &#23436;&#20840;&#12394;&#20363;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2065"></a>6. &#23436;&#20840;&#12394;&#20363;</h2></div></div></div><pre class="programlisting">
+&lt;!-- &#12486;&#12473;&#12488;&#12463;&#12521;&#12473;&#12398;&#12496;&#12464;&#12399;&#28961;&#35222;&#12377;&#12427;&#12290;&#12383;&#12384;&#12375;&#12289; JUnit &#12486;&#12473;&#12488;&#29305;&#26377;&#12398;&#12496;&#12464;&#12399;&#20363;&#22806;&#12392;&#12377;&#12427;&#12290; --&gt;
+&lt;!-- i.e. filter bug if ( classIsJUnitTest &amp;&amp; ! bugIsRelatedToJUnit ) --&gt;
+&lt;Match&gt;
+  &lt;!-- Match &#12501;&#12451;&#12523;&#12479;&#12399;&#35542;&#29702;&#21644;&#12392;&#21516;&#31561; --&gt;
+
+  &lt;Class name="~.*\.*Test" /&gt;
+  &lt;!-- &#12486;&#12473;&#12488;&#12463;&#12521;&#12473;&#12399;&#26411;&#23614;&#12395;&#12300;Test&#12301; --&gt;
+
+  &lt;Not&gt;
+      &lt;Bug code="IJU" /&gt; &lt;!-- &#12300;IJU&#12301;&#12399; JUnit &#12486;&#12473;&#12488;&#12467;&#12540;&#12489;&#38306;&#36899;&#12398;&#12496;&#12464;&#12467;&#12540;&#12489; --&gt;
+  &lt;/Not&gt;
+&lt;/Match&gt;
+
+</pre><p>
+</p><p>
+  12. &#23436;&#20840;&#12394;&#38500;&#22806;&#12501;&#12451;&#12523;&#12479;&#12540;&#12290; Groovy &#12477;&#12540;&#12473;&#12501;&#12449;&#12452;&#12523;&#12363;&#12425;&#29983;&#25104;&#12373;&#12428;&#12383;&#20840;&#12463;&#12521;&#12473;&#12434;&#38500;&#22806;&#12375;&#12414;&#12377;&#12290;
+
+</p><pre class="programlisting">
+
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;FindBugsFilter&gt;
+&lt;Match&gt;
+    &lt;Source name="~.*\.groovy" /&gt;
+&lt;/Match&gt;
+&lt;/FindBugsFilter&gt;
+
+</pre><p>
+</p></div><div class="sect1" title="6. &#23436;&#20840;&#12394;&#20363;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2278"></a>6. &#23436;&#20840;&#12394;&#20363;</h2></div></div></div><pre class="programlisting">
 
 &lt;FindBugsFilter&gt;
      &lt;Match&gt;
@@ -163,6 +218,15 @@
        &lt;Bug pattern="DLS_DEAD_LOCAL_STORE" /&gt;
        &lt;Priority value="2" /&gt;
      &lt;/Match&gt;
+
+     &lt;!-- &#12486;&#12473;&#12488;&#12463;&#12521;&#12473;&#12398;&#12496;&#12464;&#12377;&#12409;&#12390;&#12290; JUnit &#29305;&#26377;&#12398;&#12496;&#12464;&#12399;&#38500;&#12367;&#12290; --&gt;
+     &lt;Match&gt;
+      &lt;Class name="~.*\.*Test" /&gt;
+      &lt;Not&gt;
+          &lt;Bug code="IJU" /&gt;
+      &lt;/Not&gt;
+     &lt;/Match&gt;
+
 &lt;/FindBugsFilter&gt;
 
 </pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="eclipse.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="analysisprops.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;7&#31456; <span class="application">FindBugs</span>&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;9&#31456; &#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/ja/manual/gui.html b/doc/ja/manual/gui.html
index 8c7088f..9bc074e 100644
--- a/doc/ja/manual/gui.html
+++ b/doc/ja/manual/gui.html
@@ -1,5 +1,5 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>&#31532;5&#31456; FindBugs GUI &#12398;&#20351;&#29992;&#26041;&#27861;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;"><link rel="next" href="anttask.html" title="&#31532;6&#31456; FindBugs&#8482; Ant &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;5&#31456; <span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="running.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="anttask.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;5&#31456; FindBugs GUI &#12398;&#20351;&#29992;&#26041;&#27861;"><div class="titlepage"><div><div><h2 class="title"><a name="gui"></a>&#31532;5&#31456; <span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="gui.html#d0e1058">1. &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#20316;&#25104;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1099">2. &#20998;&#26512;&#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1104">3. &#32080;&#26524;&#12398;&#38322;&#35239;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1119">4. &#20445;&#23384;&#12392;&#35501;&#12415;&#36796;&#12415;</a></span></dt></dl></div><p>&#12371;&#12398;&#31456;&#12391;&#12399;&#12289;<span class="application">FindBugs</span> &#12464;&#12521;&#12501;&#12451;&#12459;&#12523;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473; (GUI) &#12398;&#20351;&#29992;&#26041;&#27861;&#12434;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;</p><div class="sect1" title="1. &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#20316;&#25104;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1058"></a>1. &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#20316;&#25104;</h2></div></div></div><p><span class="command"><strong>findbugs</strong></span>  &#12467;&#12510;&#12531;&#12489;&#12391; <span class="application">FindBugs</span> &#12434;&#36215;&#21205;&#12375;&#12390;&#12363;&#12425;&#12289;&#12513;&#12491;&#12517;&#12540;&#12391; <span class="guimenu">File</span> &#8594; <span class="guimenuitem">New Project</span> &#12434;&#36984;&#25246;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12381;&#12358;&#12377;&#12427;&#12392;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#12480;&#12452;&#12450;&#12525;&#12464;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;:</p><div class="mediaobject"><img src="project-dialog.png"></div><p>
-</p><p>&#12300;Class archives and directories to analyze&#12301;&#12486;&#12461;&#12473;&#12488;&#12501;&#12451;&#12540;&#12523;&#12489;&#12398;&#27178;&#12395;&#12354;&#12427; &#12300;Add&#12301;&#12508;&#12479;&#12531;&#12434;&#25276;&#12377;&#12392;&#12289;&#12496;&#12464;&#12434;&#20998;&#26512;&#12377;&#12427; java &#12463;&#12521;&#12473;&#12434;&#21547;&#12435;&#12391;&#12356;&#12427; Java &#12450;&#12540;&#12459;&#12452;&#12502;&#12501;&#12449;&#12452;&#12523; (zip, jar, ear, or war file) &#12434;&#36984;&#25246;&#12375;&#12390;&#25351;&#23450;&#12391;&#12365;&#12414;&#12377;&#12290;&#35079;&#25968;&#12398; &#12450;&#12540;&#12459;&#12452;&#12502;/&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#36861;&#21152;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12391;&#12377;&#12290;</p><p>&#12414;&#12383;&#12289;&#20998;&#26512;&#12434;&#34892;&#12358; Java &#12450;&#12540;&#12459;&#12452;&#12502;&#12398;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12434;&#21547;&#12435;&#12384;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377;&#12290;&#12381;&#12358;&#12377;&#12427;&#12392;&#12289;&#12496;&#12464;&#12398;&#21487;&#33021;&#24615;&#12364;&#12354;&#12427;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12398;&#22580;&#25152;&#12364;&#12289;<span class="application">FindBugs</span> &#19978;&#12391;&#12495;&#12452;&#12521;&#12452;&#12488;&#12375;&#12390;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12399;&#12289;Java &#12497;&#12483;&#12465;&#12540;&#12472;&#38542;&#23652;&#12398;&#12523;&#12540;&#12488;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#25351;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#20363;&#12360;&#12400;&#12289;&#12518;&#12540;&#12470;&#12398;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12364; <code class="varname">org.foobar.myapp</code> &#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#20013;&#12395;&#12354;&#12427;&#22580;&#21512;&#12399;&#12289; <code class="filename">org</code> &#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;&#35242;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12522;&#12473;&#12488;&#12395;&#25351;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p><p>&#12418;&#12358;&#12402;&#12392;&#12388;&#12289;&#20219;&#24847;&#25351;&#23450;&#12398;&#25163;&#38918;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12381;&#12428;&#12399;&#12289;&#35036;&#21161;&#29992;&#12398; Jar &#12501;&#12449;&#12452;&#12523;&#12362;&#12424;&#12403;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434; &#12300;Auxiliary classpath locations&#12301;&#12398;&#12456;&#12531;&#12488;&#12522;&#12540;&#12395;&#36861;&#21152;&#12377;&#12427;&#12371;&#12392;&#12391;&#12377;&#12290;&#20998;&#26512;&#12377;&#12427;&#12450;&#12540;&#12459;&#12452;&#12502;/&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#12418;&#27161;&#28310;&#12398;&#23455;&#34892;&#26178;&#12463;&#12521;&#12473;&#12497;&#12473;&#12395;&#12418;&#21547;&#12414;&#12428;&#12390;&#12356;&#12394;&#12356;&#12463;&#12521;&#12473;&#12434;&#12289;&#20998;&#26512;&#12377;&#12427;&#12450;&#12540;&#12459;&#12452;&#12502;/&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12364;&#21442;&#29031;&#12375;&#12390;&#12356;&#12427;&#22580;&#21512;&#12399;&#12289;&#12371;&#12398;&#38917;&#30446;&#12434;&#35373;&#23450;&#12375;&#12383;&#26041;&#12364;&#12356;&#12356;&#12391;&#12375;&#12423;&#12358;&#12290;&#12463;&#12521;&#12473;&#38542;&#23652;&#12395;&#38306;&#12377;&#12427;&#24773;&#22577;&#12434;&#20351;&#29992;&#12377;&#12427;&#12496;&#12464;&#12487;&#12451;&#12486;&#12463;&#12479;&#12364;&#12289; <span class="application">FindBugs</span> &#12395;&#12399;&#12356;&#12367;&#12388;&#12363;&#12354;&#12426;&#12414;&#12377;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;<span class="application">FindBugs</span> &#12364;&#20998;&#26512;&#12434;&#34892;&#12358;&#12463;&#12521;&#12473;&#12398;&#23436;&#20840;&#12394;&#12463;&#12521;&#12473;&#38542;&#23652;&#12434;&#21442;&#29031;&#12391;&#12365;&#12428;&#12400;&#12289;&#12424;&#12426;&#27491;&#30906;&#12394;&#20998;&#26512;&#32080;&#26524;&#12434;&#21462;&#24471;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="2. &#20998;&#26512;&#12398;&#23455;&#34892;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1099"></a>2. &#20998;&#26512;&#12398;&#23455;&#34892;</h2></div></div></div><p>&#12450;&#12540;&#12459;&#12452;&#12502;&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12362;&#12424;&#12403;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;&#25351;&#23450;&#12364;&#12391;&#12365;&#12428;&#12400;&#12289;&#12300;Finish&#12301;&#12508;&#12479;&#12531;&#12434;&#25276;&#12375;&#12390; Jar &#12501;&#12449;&#12452;&#12523;&#12395;&#21547;&#12414;&#12428;&#12427;&#12463;&#12521;&#12473;&#12395;&#23550;&#12377;&#12427;&#20998;&#26512;&#12434;&#23455;&#34892;&#12375;&#12414;&#12377;&#12290;&#24040;&#22823;&#12394;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12434;&#21476;&#12356;&#12467;&#12531;&#12500;&#12517;&#12540;&#12479;&#19978;&#12391;&#23455;&#34892;&#12377;&#12427;&#12392;&#12289;&#12363;&#12394;&#12426;&#12398;&#26178;&#38291;(&#25968;&#21313;&#20998;)&#12364;&#12363;&#12363;&#12427;&#12371;&#12392;&#12395;&#27880;&#24847;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#22823;&#23481;&#37327;&#12513;&#12514;&#12522;&#12391;&#12354;&#12427;&#26368;&#36817;&#12398;&#12467;&#12531;&#12500;&#12517;&#12540;&#12479;&#12394;&#12425;&#12289;&#22823;&#12365;&#12394;&#12503;&#12525;&#12464;&#12521;&#12512;&#12391;&#12354;&#12387;&#12390;&#12418;&#25968;&#20998;&#31243;&#24230;&#12391;&#20998;&#26512;&#12391;&#12365;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="3. &#32080;&#26524;&#12398;&#38322;&#35239;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1104"></a>3. &#32080;&#26524;&#12398;&#38322;&#35239;</h2></div></div></div><p>&#20998;&#26512;&#12364;&#23436;&#20102;&#12377;&#12427;&#12392;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#30011;&#38754;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377; :</p><div class="mediaobject"><img src="example-details.png"></div><p>
-</p><p>&#24038;&#19978;&#12398;&#12506;&#12452;&#12531;&#12395;&#12399;&#12496;&#12464;&#38542;&#23652;&#12484;&#12522;&#12540;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#12371;&#12428;&#12399;&#12289;&#20998;&#26512;&#12391;&#12415;&#12388;&#12363;&#12387;&#12383;&#12496;&#12464;&#12398;&#26908;&#32034;&#32080;&#26524;&#12364;&#38542;&#23652;&#30340;&#12395;&#34920;&#31034;&#12373;&#12428;&#12383;&#12418;&#12398;&#12391;&#12377;&#12290;</p><p>&#19978;&#37096;&#12398;&#12506;&#12452;&#12531;&#12391;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#36984;&#25246;&#12377;&#12427;&#12392;&#12289;&#19979;&#37096;&#12398;&#12300;Details&#12301;&#12506;&#12452;&#12531;&#12395;&#12496;&#12464;&#12398;&#35443;&#32048;&#35500;&#26126;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#26356;&#12395;&#12289;&#12477;&#12540;&#12473;&#12364;&#12415;&#12388;&#12363;&#12428;&#12400;&#12289;&#21491;&#19978;&#12398;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12506;&#12452;&#12531;&#12395;&#12496;&#12464;&#12398;&#20986;&#29694;&#31623;&#25152;&#12395;&#35442;&#24403;&#12377;&#12427;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#19978;&#22259;&#12398;&#20363;&#12391;&#34920;&#31034;&#12373;&#12428;&#12390;&#12356;&#12427;&#12496;&#12464;&#12399;&#12289;&#12473;&#12488;&#12522;&#12540;&#12512;&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12364;&#12463;&#12525;&#12540;&#12474;&#12373;&#12428;&#12390;&#12356;&#12394;&#12356;&#12392;&#12356;&#12358;&#12418;&#12398;&#12391;&#12377;&#12290;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12539;&#12454;&#12451;&#12531;&#12489;&#12454;&#12395;&#12362;&#12356;&#12390;&#24403;&#35442;&#12473;&#12488;&#12522;&#12540;&#12512;&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12434;&#29983;&#25104;&#12375;&#12390;&#12356;&#12427;&#34892;&#12364;&#12495;&#12452;&#12521;&#12452;&#12488;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;</p><p>&#12496;&#12464;&#12398;&#26908;&#32034;&#32080;&#26524;&#12395;&#23550;&#12375;&#12390;&#12486;&#12461;&#12473;&#12488;&#12391;&#27880;&#37320;&#12434;&#20837;&#12428;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#38542;&#23652;&#12484;&#12522;&#12540;&#22259;&#12398;&#12377;&#12368;&#19979;&#12395;&#12354;&#12427;&#12486;&#12461;&#12473;&#12488;&#12508;&#12483;&#12463;&#12473;&#12395;&#27880;&#37320;&#12434;&#20837;&#21147;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#35352;&#37682;&#12375;&#12390;&#12362;&#12365;&#12383;&#12356;&#24773;&#22577;&#12434;&#20309;&#12391;&#12418;&#33258;&#30001;&#12395;&#20837;&#21147;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12496;&#12464;&#32080;&#26524;&#12501;&#12449;&#12452;&#12523;&#12398;&#20445;&#23384;&#12362;&#12424;&#12403;&#35501;&#12415;&#36796;&#12415;&#12434;&#34892;&#12387;&#12383;&#12392;&#12365;&#12395;&#12289;&#27880;&#37320;&#12418;&#20445;&#23384;&#12373;&#12428;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="4. &#20445;&#23384;&#12392;&#35501;&#12415;&#36796;&#12415;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1119"></a>4. &#20445;&#23384;&#12392;&#35501;&#12415;&#36796;&#12415;</h2></div></div></div><p>&#12513;&#12491;&#12517;&#12540;&#38917;&#30446;&#12363;&#12425; <span class="guimenu">File</span> &#8594; <span class="guimenuitem">Save as...</span> &#12434;&#36984;&#25246;&#12377;&#12427;&#12392;&#12289;&#12518;&#12540;&#12470;&#12540;&#12398;&#20316;&#26989;&#32080;&#26524;&#12434;&#20445;&#23384;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12300;Save as...&#12301;&#12480;&#12452;&#12450;&#12525;&#12464;&#12395;&#12354;&#12427;&#12489;&#12525;&#12483;&#12503;&#12480;&#12454;&#12531;&#12539;&#12522;&#12473;&#12488;&#12398;&#20013;&#12363;&#12425;&#12300;FindBugs analysis results (.xml)&#12301;&#12434;&#36984;&#25246;&#12371;&#12392;&#12391;&#12289;&#12518;&#12540;&#12470;&#12540;&#12364;&#25351;&#23450;&#12375;&#12383; jar &#12501;&#12449;&#12452;&#12523;&#12522;&#12473;&#12488;&#12420;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12394;&#12393;&#12398;&#20316;&#26989;&#32080;&#26524;&#12434;&#20445;&#23384;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;jar &#12501;&#12449;&#12452;&#12523;&#12522;&#12473;&#12488;&#12398;&#12415;&#12434;&#20445;&#23384;&#12377;&#12427;&#36984;&#25246;&#32930; (&#12300;FindBugs project file (.fbp)&#12301;) &#12420;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12398;&#12415;&#12434;&#20445;&#23384;&#12377;&#12427;&#36984;&#25246;&#32930; (&#12300;FindBugs analysis file (.fba)&#12301;) &#12418;&#12354;&#12426;&#12414;&#12377;&#12290;&#20445;&#23384;&#12375;&#12383;&#12501;&#12449;&#12452;&#12523;&#12399;&#12289;&#12513;&#12491;&#12517;&#12540;&#38917;&#30446;&#12363;&#12425; <span class="guimenu">File</span> &#8594; <span class="guimenuitem">Open...</span> &#12434;&#36984;&#25246;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#35501;&#12415;&#36796;&#12416;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="running.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="anttask.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;4&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;6&#31456; <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>&#31532;5&#31456; FindBugs GUI &#12398;&#20351;&#29992;&#26041;&#27861;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="running.html" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;"><link rel="next" href="anttask.html" title="&#31532;6&#31456; FindBugs&#8482; Ant &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;5&#31456; <span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="running.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="anttask.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;5&#31456; FindBugs GUI &#12398;&#20351;&#29992;&#26041;&#27861;"><div class="titlepage"><div><div><h2 class="title"><a name="gui"></a>&#31532;5&#31456; <span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="gui.html#d0e1094">1. &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#20316;&#25104;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1135">2. &#20998;&#26512;&#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1140">3. &#32080;&#26524;&#12398;&#38322;&#35239;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1155">4. &#20445;&#23384;&#12392;&#35501;&#12415;&#36796;&#12415;</a></span></dt></dl></div><p>&#12371;&#12398;&#31456;&#12391;&#12399;&#12289;<span class="application">FindBugs</span> &#12464;&#12521;&#12501;&#12451;&#12459;&#12523;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473; (GUI) &#12398;&#20351;&#29992;&#26041;&#27861;&#12434;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;</p><div class="sect1" title="1. &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#20316;&#25104;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1094"></a>1. &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#20316;&#25104;</h2></div></div></div><p><span class="command"><strong>findbugs</strong></span>  &#12467;&#12510;&#12531;&#12489;&#12391; <span class="application">FindBugs</span> &#12434;&#36215;&#21205;&#12375;&#12390;&#12363;&#12425;&#12289;&#12513;&#12491;&#12517;&#12540;&#12391; <span class="guimenu">File</span> &#8594; <span class="guimenuitem">New Project</span> &#12434;&#36984;&#25246;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12381;&#12358;&#12377;&#12427;&#12392;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#12480;&#12452;&#12450;&#12525;&#12464;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;:</p><div class="mediaobject"><img src="project-dialog.png"></div><p>
+</p><p>&#12300;Classpath to analyze&#12301;&#12398;&#27178;&#12395;&#12354;&#12427; &#12300;Add&#12301;&#12508;&#12479;&#12531;&#12434;&#25276;&#12377;&#12392;&#12289;&#12496;&#12464;&#12434;&#20998;&#26512;&#12377;&#12427; java &#12463;&#12521;&#12473;&#12434;&#21547;&#12435;&#12391;&#12356;&#12427; Java &#12450;&#12540;&#12459;&#12452;&#12502;&#12501;&#12449;&#12452;&#12523; (zip, jar, ear, or war file) &#12434;&#36984;&#25246;&#12375;&#12390;&#25351;&#23450;&#12391;&#12365;&#12414;&#12377;&#12290;&#35079;&#25968;&#12398; &#12450;&#12540;&#12459;&#12452;&#12502;/&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#36861;&#21152;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12391;&#12377;&#12290;</p><p>&#12414;&#12383;&#12289;&#20998;&#26512;&#12434;&#34892;&#12358; Java &#12450;&#12540;&#12459;&#12452;&#12502;&#12398;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12434;&#21547;&#12435;&#12384;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377;&#12290;&#12381;&#12358;&#12377;&#12427;&#12392;&#12289;&#12496;&#12464;&#12398;&#21487;&#33021;&#24615;&#12364;&#12354;&#12427;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12398;&#22580;&#25152;&#12364;&#12289;<span class="application">FindBugs</span> &#19978;&#12391;&#12495;&#12452;&#12521;&#12452;&#12488;&#12375;&#12390;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12399;&#12289;Java &#12497;&#12483;&#12465;&#12540;&#12472;&#38542;&#23652;&#12398;&#12523;&#12540;&#12488;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#25351;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#20363;&#12360;&#12400;&#12289;&#12518;&#12540;&#12470;&#12398;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12364; <code class="varname">org.foobar.myapp</code> &#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#20013;&#12395;&#12354;&#12427;&#22580;&#21512;&#12399;&#12289; <code class="filename">org</code> &#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;&#35242;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12522;&#12473;&#12488;&#12395;&#25351;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p><p>&#12418;&#12358;&#12402;&#12392;&#12388;&#12289;&#20219;&#24847;&#25351;&#23450;&#12398;&#25163;&#38918;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12381;&#12428;&#12399;&#12289;&#35036;&#21161;&#29992;&#12398; Jar &#12501;&#12449;&#12452;&#12523;&#12362;&#12424;&#12403;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434; &#12300;Auxiliary classpath locations&#12301;&#12398;&#12456;&#12531;&#12488;&#12522;&#12540;&#12395;&#36861;&#21152;&#12377;&#12427;&#12371;&#12392;&#12391;&#12377;&#12290;&#20998;&#26512;&#12377;&#12427;&#12450;&#12540;&#12459;&#12452;&#12502;/&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#12418;&#27161;&#28310;&#12398;&#23455;&#34892;&#26178;&#12463;&#12521;&#12473;&#12497;&#12473;&#12395;&#12418;&#21547;&#12414;&#12428;&#12390;&#12356;&#12394;&#12356;&#12463;&#12521;&#12473;&#12434;&#12289;&#20998;&#26512;&#12377;&#12427;&#12450;&#12540;&#12459;&#12452;&#12502;/&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12364;&#21442;&#29031;&#12375;&#12390;&#12356;&#12427;&#22580;&#21512;&#12399;&#12289;&#12371;&#12398;&#38917;&#30446;&#12434;&#35373;&#23450;&#12375;&#12383;&#26041;&#12364;&#12356;&#12356;&#12391;&#12375;&#12423;&#12358;&#12290;&#12463;&#12521;&#12473;&#38542;&#23652;&#12395;&#38306;&#12377;&#12427;&#24773;&#22577;&#12434;&#20351;&#29992;&#12377;&#12427;&#12496;&#12464;&#12487;&#12451;&#12486;&#12463;&#12479;&#12364;&#12289; <span class="application">FindBugs</span> &#12395;&#12399;&#12356;&#12367;&#12388;&#12363;&#12354;&#12426;&#12414;&#12377;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;<span class="application">FindBugs</span> &#12364;&#20998;&#26512;&#12434;&#34892;&#12358;&#12463;&#12521;&#12473;&#12398;&#23436;&#20840;&#12394;&#12463;&#12521;&#12473;&#38542;&#23652;&#12434;&#21442;&#29031;&#12391;&#12365;&#12428;&#12400;&#12289;&#12424;&#12426;&#27491;&#30906;&#12394;&#20998;&#26512;&#32080;&#26524;&#12434;&#21462;&#24471;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="2. &#20998;&#26512;&#12398;&#23455;&#34892;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1135"></a>2. &#20998;&#26512;&#12398;&#23455;&#34892;</h2></div></div></div><p>&#12450;&#12540;&#12459;&#12452;&#12502;&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12362;&#12424;&#12403;&#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;&#25351;&#23450;&#12364;&#12391;&#12365;&#12428;&#12400;&#12289;&#12300;Analyze&#12301;&#12508;&#12479;&#12531;&#12434;&#25276;&#12375;&#12390; Jar &#12501;&#12449;&#12452;&#12523;&#12395;&#21547;&#12414;&#12428;&#12427;&#12463;&#12521;&#12473;&#12395;&#23550;&#12377;&#12427;&#20998;&#26512;&#12434;&#23455;&#34892;&#12375;&#12414;&#12377;&#12290;&#24040;&#22823;&#12394;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12434;&#21476;&#12356;&#12467;&#12531;&#12500;&#12517;&#12540;&#12479;&#19978;&#12391;&#23455;&#34892;&#12377;&#12427;&#12392;&#12289;&#12363;&#12394;&#12426;&#12398;&#26178;&#38291;(&#25968;&#21313;&#20998;)&#12364;&#12363;&#12363;&#12427;&#12371;&#12392;&#12395;&#27880;&#24847;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#22823;&#23481;&#37327;&#12513;&#12514;&#12522;&#12391;&#12354;&#12427;&#26368;&#36817;&#12398;&#12467;&#12531;&#12500;&#12517;&#12540;&#12479;&#12394;&#12425;&#12289;&#22823;&#12365;&#12394;&#12503;&#12525;&#12464;&#12521;&#12512;&#12391;&#12354;&#12387;&#12390;&#12418;&#25968;&#20998;&#31243;&#24230;&#12391;&#20998;&#26512;&#12391;&#12365;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="3. &#32080;&#26524;&#12398;&#38322;&#35239;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1140"></a>3. &#32080;&#26524;&#12398;&#38322;&#35239;</h2></div></div></div><p>&#20998;&#26512;&#12364;&#23436;&#20102;&#12377;&#12427;&#12392;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#30011;&#38754;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377; :</p><div class="mediaobject"><img src="example-details.png"></div><p>
+</p><p>&#24038;&#19978;&#12398;&#12506;&#12452;&#12531;&#12395;&#12399;&#12496;&#12464;&#38542;&#23652;&#12484;&#12522;&#12540;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#12371;&#12428;&#12399;&#12289;&#20998;&#26512;&#12391;&#12415;&#12388;&#12363;&#12387;&#12383;&#12496;&#12464;&#12398;&#26908;&#32034;&#32080;&#26524;&#12364;&#38542;&#23652;&#30340;&#12395;&#34920;&#31034;&#12373;&#12428;&#12383;&#12418;&#12398;&#12391;&#12377;&#12290;</p><p>&#19978;&#37096;&#12398;&#12506;&#12452;&#12531;&#12391;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#36984;&#25246;&#12377;&#12427;&#12392;&#12289;&#19979;&#37096;&#12398;&#12300;Details&#12301;&#12506;&#12452;&#12531;&#12395;&#12496;&#12464;&#12398;&#35443;&#32048;&#35500;&#26126;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#26356;&#12395;&#12289;&#12477;&#12540;&#12473;&#12364;&#12415;&#12388;&#12363;&#12428;&#12400;&#12289;&#21491;&#19978;&#12398;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12506;&#12452;&#12531;&#12395;&#12496;&#12464;&#12398;&#20986;&#29694;&#31623;&#25152;&#12395;&#35442;&#24403;&#12377;&#12427;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#19978;&#22259;&#12398;&#20363;&#12391;&#34920;&#31034;&#12373;&#12428;&#12390;&#12356;&#12427;&#12496;&#12464;&#12399;&#12289;&#12473;&#12488;&#12522;&#12540;&#12512;&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12364;&#12463;&#12525;&#12540;&#12474;&#12373;&#12428;&#12390;&#12356;&#12394;&#12356;&#12392;&#12356;&#12358;&#12418;&#12398;&#12391;&#12377;&#12290;&#12477;&#12540;&#12473;&#12467;&#12540;&#12489;&#12539;&#12454;&#12451;&#12531;&#12489;&#12454;&#12395;&#12362;&#12356;&#12390;&#24403;&#35442;&#12473;&#12488;&#12522;&#12540;&#12512;&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12434;&#29983;&#25104;&#12375;&#12390;&#12356;&#12427;&#34892;&#12364;&#12495;&#12452;&#12521;&#12452;&#12488;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;</p><p>&#12496;&#12464;&#12398;&#26908;&#32034;&#32080;&#26524;&#12395;&#23550;&#12375;&#12390;&#12486;&#12461;&#12473;&#12488;&#12391;&#27880;&#37320;&#12434;&#20837;&#12428;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#38542;&#23652;&#12484;&#12522;&#12540;&#22259;&#12398;&#12377;&#12368;&#19979;&#12395;&#12354;&#12427;&#12486;&#12461;&#12473;&#12488;&#12508;&#12483;&#12463;&#12473;&#12395;&#27880;&#37320;&#12434;&#20837;&#21147;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#35352;&#37682;&#12375;&#12390;&#12362;&#12365;&#12383;&#12356;&#24773;&#22577;&#12434;&#20309;&#12391;&#12418;&#33258;&#30001;&#12395;&#20837;&#21147;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12496;&#12464;&#32080;&#26524;&#12501;&#12449;&#12452;&#12523;&#12398;&#20445;&#23384;&#12362;&#12424;&#12403;&#35501;&#12415;&#36796;&#12415;&#12434;&#34892;&#12387;&#12383;&#12392;&#12365;&#12395;&#12289;&#27880;&#37320;&#12418;&#20445;&#23384;&#12373;&#12428;&#12414;&#12377;&#12290;</p></div><div class="sect1" title="4. &#20445;&#23384;&#12392;&#35501;&#12415;&#36796;&#12415;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1155"></a>4. &#20445;&#23384;&#12392;&#35501;&#12415;&#36796;&#12415;</h2></div></div></div><p>&#12513;&#12491;&#12517;&#12540;&#38917;&#30446;&#12363;&#12425; <span class="guimenu">File</span> &#8594; <span class="guimenuitem">Save as...</span> &#12434;&#36984;&#25246;&#12377;&#12427;&#12392;&#12289;&#12518;&#12540;&#12470;&#12540;&#12398;&#20316;&#26989;&#32080;&#26524;&#12434;&#20445;&#23384;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12300;Save as...&#12301;&#12480;&#12452;&#12450;&#12525;&#12464;&#12395;&#12354;&#12427;&#12489;&#12525;&#12483;&#12503;&#12480;&#12454;&#12531;&#12539;&#12522;&#12473;&#12488;&#12398;&#20013;&#12363;&#12425;&#12300;FindBugs analysis results (.xml)&#12301;&#12434;&#36984;&#25246;&#12371;&#12392;&#12391;&#12289;&#12518;&#12540;&#12470;&#12540;&#12364;&#25351;&#23450;&#12375;&#12383; jar &#12501;&#12449;&#12452;&#12523;&#12522;&#12473;&#12488;&#12420;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12394;&#12393;&#12398;&#20316;&#26989;&#32080;&#26524;&#12434;&#20445;&#23384;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;jar &#12501;&#12449;&#12452;&#12523;&#12522;&#12473;&#12488;&#12398;&#12415;&#12434;&#20445;&#23384;&#12377;&#12427;&#36984;&#25246;&#32930; (&#12300;FindBugs project file (.fbp)&#12301;) &#12420;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12398;&#12415;&#12434;&#20445;&#23384;&#12377;&#12427;&#36984;&#25246;&#32930; (&#12300;FindBugs analysis file (.fba)&#12301;) &#12418;&#12354;&#12426;&#12414;&#12377;&#12290;&#20445;&#23384;&#12375;&#12383;&#12501;&#12449;&#12452;&#12523;&#12399;&#12289;&#12513;&#12491;&#12517;&#12540;&#38917;&#30446;&#12363;&#12425; <span class="guimenu">File</span> &#8594; <span class="guimenuitem">Open...</span> &#12434;&#36984;&#25246;&#12377;&#12427;&#12371;&#12392;&#12391;&#12289;&#35501;&#12415;&#36796;&#12416;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="running.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="anttask.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;4&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;6&#31456; <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/ja/manual/index.html b/doc/ja/manual/index.html
index b039130..a878747 100644
--- a/doc/ja/manual/index.html
+++ b/doc/ja/manual/index.html
@@ -1,3 +1,3 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="next" href="introduction.html" title="&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="application">FindBugs</span>&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;</th></tr><tr><td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="introduction.html">&#27425;&#12408;</a></td></tr></table><hr></div><div lang="ja" class="book" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><div class="titlepage"><div><div><h1 class="title"><a name="findbugs-manual"></a><span class="application">FindBugs</span>&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="surname">Hovemeyer</span> <span class="firstname">David</span> [FAMILY Given]</h3></div><div class="author"><h3 class="author"><span class="surname">Pugh</span> <span class="firstname">William</span> [FAMILY Given]</h3></div></div></div><div><p class="copyright">&#35069;&#20316;&#33879;&#20316; &copy; 2003, 2004, 2005, 2006, 2008 University of Maryland</p></div><div><div class="legalnotice" title="&#27861;&#24459;&#19978;&#12398;&#36890;&#30693;"><a name="d0e35"></a><p>&#12371;&#12398;&#12510;&#12491;&#12517;&#12450;&#12523;&#12399;&#12289;&#12463;&#12522;&#12456;&#12452;&#12486;&#12451;&#12502;&#12539;&#12467;&#12514;&#12531;&#12474;&#34920;&#31034;-&#38750;&#21942;&#21033;-&#32153;&#25215;&#12395;&#22522;&#12389;&#12367;&#20351;&#29992;&#35377;&#35582;&#12364;&#12394;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#20351;&#29992;&#35377;&#35582;&#26360;&#12434;&#12372;&#35239;&#12395;&#12394;&#12427;&#22580;&#21512;&#12399;&#12289; <a class="ulink" href="http://creativecommons.org/licenses/by-nc-sa/1.0/deed.ja" target="_top">http://creativecommons.org/licenses/by-nc-sa/1.0/</a> &#12395;&#12450;&#12463;&#12475;&#12473;&#12377;&#12427;&#12363;&#12289;&#12463;&#12522;&#12456;&#12452;&#12486;&#12451;&#12502;&#12539;&#12467;&#12514;&#12531;&#12474;(559 Nathan Abbott Way, Stanford, California 94305, USA)&#12395;&#26360;&#31777;&#12434;&#36865;&#20184;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p><p>&#21517;&#31216;&#12300;FindBugs&#12301;&#12362;&#12424;&#12403; FindBugs &#12398;&#12525;&#12468;&#12399;&#12289;&#12513;&#12522;&#12540;&#12521;&#12531;&#12489;&#22823;&#23398;&#12398;&#30331;&#37682;&#21830;&#27161;&#12391;&#12377;&#12290;</p></div></div><div><p class="pubdate">17:16:15 EST, 22 November, 2013</p></div></div><hr></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="chapter"><a href="introduction.html">1. &#12399;&#12376;&#12417;&#12395;</a></span></dt><dd><dl><dt><span class="sect1"><a href="introduction.html#d0e74">1. &#24517;&#35201;&#26465;&#20214;</a></span></dt></dl></dd><dt><span class="chapter"><a href="installing.html">2. <span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</a></span></dt><dd><dl><dt><span class="sect1"><a href="installing.html#d0e102">1. &#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</a></span></dt></dl></dd><dt><span class="chapter"><a href="building.html">3. <span class="application">FindBugs</span>&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;</a></span></dt><dd><dl><dt><span class="sect1"><a href="building.html#d0e175">1. &#21069;&#25552;&#26465;&#20214;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e258">2. &#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e271">3. <code class="filename">local.properties</code> &#12398;&#20462;&#27491;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e326">4. <span class="application">Ant</span> &#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e420">5. &#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12363;&#12425;&#12398; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</a></span></dt></dl></dd><dt><span class="chapter"><a href="running.html">4. <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</a></span></dt><dd><dl><dt><span class="sect1"><a href="running.html#d0e455">1. &#12463;&#12452;&#12483;&#12463;&#12539;&#12473;&#12479;&#12540;&#12488;</a></span></dt><dt><span class="sect1"><a href="running.html#d0e493">2. <span class="application">FindBugs</span> &#12398;&#36215;&#21205;</a></span></dt><dt><span class="sect1"><a href="running.html#commandLineOptions">3. &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</a></span></dt></dl></dd><dt><span class="chapter"><a href="gui.html">5. <span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dd><dl><dt><span class="sect1"><a href="gui.html#d0e1058">1. &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#20316;&#25104;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1099">2. &#20998;&#26512;&#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1104">3. &#32080;&#26524;&#12398;&#38322;&#35239;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1119">4. &#20445;&#23384;&#12392;&#35501;&#12415;&#36796;&#12415;</a></span></dt></dl></dd><dt><span class="chapter"><a href="anttask.html">6. <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dd><dl><dt><span class="sect1"><a href="anttask.html#d0e1173">1. <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1209">2. build.xml &#12398;&#26360;&#12365;&#26041;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1278">3. &#12479;&#12473;&#12463;&#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1303">4. &#12497;&#12521;&#12513;&#12540;&#12479;&#12540;</a></span></dt></dl></dd><dt><span class="chapter"><a href="eclipse.html">7. <span class="application">FindBugs</span>&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dd><dl><dt><span class="sect1"><a href="eclipse.html#d0e1604">1. &#24517;&#35201;&#26465;&#20214;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1611">2. &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1658">3. &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1681">4. &#12488;&#12521;&#12502;&#12523;&#12471;&#12517;&#12540;&#12486;&#12451;&#12531;&#12464;</a></span></dt></dl></dd><dt><span class="chapter"><a href="filter.html">8. &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</a></span></dt><dd><dl><dt><span class="sect1"><a href="filter.html#d0e1709">1. &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12398;&#27010;&#35201;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1759">2. &#12510;&#12483;&#12481;&#12531;&#12464;&#26465;&#20214;&#12398;&#31278;&#39006;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1958">3. Java &#35201;&#32032;&#21517;&#12510;&#12483;&#12481;&#12531;&#12464;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1982">4. &#30041;&#24847;&#20107;&#38917;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2012">5. &#20363;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2065">6. &#23436;&#20840;&#12394;&#20363;</a></span></dt></dl></dd><dt><span class="chapter"><a href="analysisprops.html">9. &#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;</a></span></dt><dt><span class="chapter"><a href="annotations.html">10. &#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;</a></span></dt><dt><span class="chapter"><a href="rejarForAnalysis.html">11. rejarForAnalysis &#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dt><span class="chapter"><a href="datamining.html">12. <span class="application">FindBugs</span>&#8482; &#12395;&#12424;&#12427;&#12487;&#12540;&#12479;&#12539;&#12510;&#12452;&#12491;&#12531;&#12464;</a></span></dt><dd><dl><dt><span class="sect1"><a href="datamining.html#commands">1. &#12467;&#12510;&#12531;&#12489;</a></span></dt><dt><span class="sect1"><a href="datamining.html#examples">2. &#20363;</a></span></dt><dt><span class="sect1"><a href="datamining.html#antexample">3. Ant &#12398;&#20363;</a></span></dt></dl></dd><dt><span class="chapter"><a href="license.html">13. &#12521;&#12452;&#12475;&#12531;&#12473;</a></span></dt><dt><span class="chapter"><a href="acknowledgments.html">14. &#35613;&#36766;</a></span></dt><dd><dl><dt><span class="sect1"><a href="acknowledgments.html#d0e3438">1. &#36002;&#29486;&#32773;</a></span></dt><dt><span class="sect1"><a href="acknowledgments.html#d0e3561">2. &#20351;&#29992;&#12375;&#12390;&#12356;&#12427;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>&#34920;&#12398;&#19968;&#35239;</b></p><dl><dt>9.1. <a href="analysisprops.html#analysisproptable">&#35373;&#23450;&#21487;&#33021;&#12394;&#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;</a></dt><dt>12.1. <a href="datamining.html#computeBugHistoryTable">computeBugHistory &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</a></dt><dt>12.2. <a href="datamining.html#filterOptionsTable">filterBugs &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</a></dt><dt>12.3. <a href="datamining.html#mineBugHistoryOptionsTable">mineBugHistory &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</a></dt><dt>12.4. <a href="datamining.html#mineBugHistoryColumns">mineBugHistory &#20986;&#21147;&#12398;&#12459;&#12521;&#12512;&#19968;&#35239;</a></dt><dt>12.5. <a href="datamining.html#defectDensityColumns">defectDensity &#20986;&#21147;&#12398;&#12459;&#12521;&#12512;&#19968;&#35239;</a></dt><dt>12.6. <a href="datamining.html#convertXmlToTextTable">convertXmlToText &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</a></dt><dt>12.7. <a href="datamining.html#setBugDatabaseInfoOptions">setBugDatabaseInfo &#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</a></dt><dt>12.8. <a href="datamining.html#listBugDatabaseInfoColumns">listBugDatabaseInfo &#12459;&#12521;&#12512;&#19968;&#35239;</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="introduction.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="next" href="introduction.html" title="&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="application">FindBugs</span>&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;</th></tr><tr><td width="20%" align="left">&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="introduction.html">&#27425;&#12408;</a></td></tr></table><hr></div><div lang="ja" class="book" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><div class="titlepage"><div><div><h1 class="title"><a name="findbugs-manual"></a><span class="application">FindBugs</span>&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;</h1></div><div><div lang="en" class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">David</span> <span class="othername">H.</span> <span class="surname">Hovemeyer</span></h3></div><div class="author"><h3 class="author"><span class="firstname">William</span> <span class="othername">W.</span> <span class="surname">Pugh</span></h3></div></div></div><div><p lang="en" class="copyright">Copyright &copy; 2003 - 2012 University of Maryland</p></div><div><div class="legalnotice" title="&#27861;&#24459;&#19978;&#12398;&#36890;&#30693;"><a name="d0e27"></a><p>&#12371;&#12398;&#12510;&#12491;&#12517;&#12450;&#12523;&#12399;&#12289;&#12463;&#12522;&#12456;&#12452;&#12486;&#12451;&#12502;&#12539;&#12467;&#12514;&#12531;&#12474;&#34920;&#31034;-&#38750;&#21942;&#21033;-&#32153;&#25215;&#12395;&#22522;&#12389;&#12367;&#20351;&#29992;&#35377;&#35582;&#12364;&#12394;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#20351;&#29992;&#35377;&#35582;&#26360;&#12434;&#12372;&#35239;&#12395;&#12394;&#12427;&#22580;&#21512;&#12399;&#12289; <a class="ulink" href="http://creativecommons.org/licenses/by-nc-sa/1.0/deed.ja" target="_top">http://creativecommons.org/licenses/by-nc-sa/1.0/</a> &#12395;&#12450;&#12463;&#12475;&#12473;&#12377;&#12427;&#12363;&#12289;&#12463;&#12522;&#12456;&#12452;&#12486;&#12451;&#12502;&#12539;&#12467;&#12514;&#12531;&#12474;(559 Nathan Abbott Way, Stanford, California 94305, USA)&#12395;&#26360;&#31777;&#12434;&#36865;&#20184;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p><p>&#21517;&#31216;&#12300;FindBugs&#12301;&#12362;&#12424;&#12403; FindBugs &#12398;&#12525;&#12468;&#12399;&#12289;&#12513;&#12522;&#12540;&#12521;&#12531;&#12489;&#22823;&#23398;&#12398;&#30331;&#37682;&#21830;&#27161;&#12391;&#12377;&#12290;</p></div></div><div><p class="pubdate">20:25:27 CDT, 06 July, 2014 (&#32763;&#35379; 2014&#24180;7&#26376;)</p></div></div><hr></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="chapter"><a href="introduction.html">1. &#12399;&#12376;&#12417;&#12395;</a></span></dt><dd><dl><dt><span class="sect1"><a href="introduction.html#d0e66">1. &#24517;&#35201;&#26465;&#20214;</a></span></dt></dl></dd><dt><span class="chapter"><a href="installing.html">2. <span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</a></span></dt><dd><dl><dt><span class="sect1"><a href="installing.html#d0e94">1. &#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</a></span></dt></dl></dd><dt><span class="chapter"><a href="building.html">3. <span class="application">FindBugs</span>&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;</a></span></dt><dd><dl><dt><span class="sect1"><a href="building.html#d0e167">1. &#21069;&#25552;&#26465;&#20214;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e250">2. &#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e263">3. <code class="filename">local.properties</code> &#12398;&#20462;&#27491;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e318">4. <span class="application">Ant</span> &#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="building.html#d0e412">5. &#12477;&#12540;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12363;&#12425;&#12398; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</a></span></dt></dl></dd><dt><span class="chapter"><a href="running.html">4. <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</a></span></dt><dd><dl><dt><span class="sect1"><a href="running.html#d0e447">1. &#12463;&#12452;&#12483;&#12463;&#12539;&#12473;&#12479;&#12540;&#12488;</a></span></dt><dt><span class="sect1"><a href="running.html#d0e485">2. <span class="application">FindBugs</span> &#12398;&#36215;&#21205;</a></span></dt><dt><span class="sect1"><a href="running.html#commandLineOptions">3. &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</a></span></dt></dl></dd><dt><span class="chapter"><a href="gui.html">5. <span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dd><dl><dt><span class="sect1"><a href="gui.html#d0e1094">1. &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398;&#20316;&#25104;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1135">2. &#20998;&#26512;&#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1140">3. &#32080;&#26524;&#12398;&#38322;&#35239;</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1155">4. &#20445;&#23384;&#12392;&#35501;&#12415;&#36796;&#12415;</a></span></dt></dl></dd><dt><span class="chapter"><a href="anttask.html">6. <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dd><dl><dt><span class="sect1"><a href="anttask.html#d0e1209">1. <span class="application">Ant</span> &#12479;&#12473;&#12463;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1245">2. build.xml &#12398;&#26360;&#12365;&#26041;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1314">3. &#12479;&#12473;&#12463;&#12398;&#23455;&#34892;</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1339">4. &#12497;&#12521;&#12513;&#12540;&#12479;&#12540;</a></span></dt></dl></dd><dt><span class="chapter"><a href="eclipse.html">7. <span class="application">FindBugs</span>&#8482; Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dd><dl><dt><span class="sect1"><a href="eclipse.html#d0e1677">1. &#24517;&#35201;&#26465;&#20214;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1684">2. &#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1731">3. &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1754">4. Eclipse &#12503;&#12521;&#12464;&#12452;&#12531;&#12398;&#25313;&#24373;&#26041;&#27861; (2.0.0 &#20197;&#38477;)</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1807">5. &#12488;&#12521;&#12502;&#12523;&#12471;&#12517;&#12540;&#12486;&#12451;&#12531;&#12464;</a></span></dt></dl></dd><dt><span class="chapter"><a href="filter.html">8. &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</a></span></dt><dd><dl><dt><span class="sect1"><a href="filter.html#d0e1843">1. &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;&#12398;&#27010;&#35201;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1893">2. &#12510;&#12483;&#12481;&#12531;&#12464;&#26465;&#20214;&#12398;&#31278;&#39006;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2157">3. Java &#35201;&#32032;&#21517;&#12510;&#12483;&#12481;&#12531;&#12464;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2185">4. &#30041;&#24847;&#20107;&#38917;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2215">5. &#20363;</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2278">6. &#23436;&#20840;&#12394;&#20363;</a></span></dt></dl></dd><dt><span class="chapter"><a href="analysisprops.html">9. &#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;</a></span></dt><dt><span class="chapter"><a href="annotations.html">10. &#12450;&#12494;&#12486;&#12540;&#12471;&#12519;&#12531;</a></span></dt><dt><span class="chapter"><a href="rejarForAnalysis.html">11. rejarForAnalysis &#12398;&#20351;&#29992;&#26041;&#27861;</a></span></dt><dt><span class="chapter"><a href="datamining.html">12. <span class="application">FindBugs</span>&#8482; &#12395;&#12424;&#12427;&#12487;&#12540;&#12479;&#12539;&#12510;&#12452;&#12491;&#12531;&#12464;</a></span></dt><dd><dl><dt><span class="sect1"><a href="datamining.html#commands">1. &#12467;&#12510;&#12531;&#12489;</a></span></dt><dt><span class="sect1"><a href="datamining.html#examples">2. &#20363;</a></span></dt><dt><span class="sect1"><a href="datamining.html#antexample">3. Ant &#12398;&#20363;</a></span></dt></dl></dd><dt><span class="chapter"><a href="license.html">13. &#12521;&#12452;&#12475;&#12531;&#12473;</a></span></dt><dt><span class="chapter"><a href="acknowledgments.html">14. &#35613;&#36766;</a></span></dt><dd><dl><dt><span class="sect1"><a href="acknowledgments.html#d0e3686">1. &#36002;&#29486;&#32773;</a></span></dt><dt><span class="sect1"><a href="acknowledgments.html#d0e3809">2. &#20351;&#29992;&#12375;&#12390;&#12356;&#12427;&#12477;&#12501;&#12488;&#12454;&#12455;&#12450;</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>&#34920;&#12398;&#19968;&#35239;</b></p><dl><dt>9.1. <a href="analysisprops.html#analysisproptable">&#35373;&#23450;&#21487;&#33021;&#12394;&#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;</a></dt><dt>12.1. <a href="datamining.html#computeBugHistoryTable">computeBugHistory &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</a></dt><dt>12.2. <a href="datamining.html#filterOptionsTable">filterBugs &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</a></dt><dt>12.3. <a href="datamining.html#mineBugHistoryOptionsTable">mineBugHistory &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</a></dt><dt>12.4. <a href="datamining.html#mineBugHistoryColumns">mineBugHistory &#20986;&#21147;&#12398;&#12459;&#12521;&#12512;&#19968;&#35239;</a></dt><dt>12.5. <a href="datamining.html#defectDensityColumns">defectDensity &#20986;&#21147;&#12398;&#12459;&#12521;&#12512;&#19968;&#35239;</a></dt><dt>12.6. <a href="datamining.html#convertXmlToTextTable">convertXmlToText &#12467;&#12510;&#12531;&#12489;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</a></dt><dt>12.7. <a href="datamining.html#setBugDatabaseInfoOptions">setBugDatabaseInfo &#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;</a></dt><dt>12.8. <a href="datamining.html#listBugDatabaseInfoColumns">listBugDatabaseInfo &#12459;&#12521;&#12512;&#19968;&#35239;</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="introduction.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/ja/manual/installing.html b/doc/ja/manual/installing.html
index 9f3f2b4..44765c1 100644
--- a/doc/ja/manual/installing.html
+++ b/doc/ja/manual/installing.html
@@ -1,9 +1,9 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>&#31532;2&#31456; FindBugs&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="introduction.html" title="&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;"><link rel="next" href="building.html" title="&#31532;3&#31456; FindBugs&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;2&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="introduction.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="building.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;2&#31456; FindBugs&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;"><div class="titlepage"><div><div><h2 class="title"><a name="installing"></a>&#31532;2&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="installing.html#d0e102">1. &#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</a></span></dt></dl></div><p>&#12371;&#12398;&#31456;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#26041;&#27861;&#12434;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;</p><div class="sect1" title="1. &#37197;&#24067;&#29289;&#12398;&#23637;&#38283;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e102"></a>1. &#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</h2></div></div></div><p><span class="application">FindBugs</span> &#12434;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12377;&#12427;&#26368;&#12418;&#31777;&#21336;&#12394;&#26041;&#27861;&#12399;&#12289;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12377;&#12427;&#12371;&#12392;&#12391;&#12377;&#12290; &#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12399;&#12289; <a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download" target="_top">gzipped tar &#24418;&#24335;</a> &#12362;&#12424;&#12403; <a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.zip?download" target="_top">zip &#24418;&#24335;</a> &#12364;&#12381;&#12428;&#12382;&#12428;&#20837;&#25163;&#21487;&#33021;&#12391;&#12377;&#12290;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12375;&#12390;&#12365;&#12383;&#12425;&#12289;&#12381;&#12428;&#12434;&#20219;&#24847;&#12398;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#23637;&#38283;&#12375;&#12414;&#12377;&#12290;</p><p>gzipped tar &#24418;&#24335;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;&#26041;&#27861;&#20363;:</p><pre class="screen">
-<code class="prompt">$ </code><span class="command"><strong>gunzip -c findbugs-2.0.3.tar.gz | tar xvf -</strong></span>
+   <title>&#31532;2&#31456; FindBugs&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="introduction.html" title="&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;"><link rel="next" href="building.html" title="&#31532;3&#31456; FindBugs&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;2&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="introduction.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="building.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;2&#31456; FindBugs&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;"><div class="titlepage"><div><div><h2 class="title"><a name="installing"></a>&#31532;2&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="installing.html#d0e94">1. &#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</a></span></dt></dl></div><p>&#12371;&#12398;&#31456;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#26041;&#27861;&#12434;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;</p><div class="sect1" title="1. &#37197;&#24067;&#29289;&#12398;&#23637;&#38283;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e94"></a>1. &#37197;&#24067;&#29289;&#12398;&#23637;&#38283;</h2></div></div></div><p><span class="application">FindBugs</span> &#12434;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12377;&#12427;&#26368;&#12418;&#31777;&#21336;&#12394;&#26041;&#27861;&#12399;&#12289;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12377;&#12427;&#12371;&#12392;&#12391;&#12377;&#12290; &#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12399;&#12289; <a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.tar.gz?download" target="_top">gzipped tar &#24418;&#24335;</a> &#12362;&#12424;&#12403; <a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.zip?download" target="_top">zip &#24418;&#24335;</a> &#12364;&#12381;&#12428;&#12382;&#12428;&#20837;&#25163;&#21487;&#33021;&#12391;&#12377;&#12290;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12375;&#12390;&#12365;&#12383;&#12425;&#12289;&#12381;&#12428;&#12434;&#20219;&#24847;&#12398;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#23637;&#38283;&#12375;&#12414;&#12377;&#12290;</p><p>gzipped tar &#24418;&#24335;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;&#26041;&#27861;&#20363;:</p><pre class="screen">
+<code class="prompt">$ </code><span class="command"><strong>gunzip -c findbugs-3.0.0.tar.gz | tar xvf -</strong></span>
 </pre><p>
 </p><p>zip &#24418;&#24335;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;&#26041;&#27861;&#20363;:</p><pre class="screen">
-<code class="prompt">C:\Software&gt;</code><span class="command"><strong>unzip findbugs-2.0.3.zip</strong></span>
+<code class="prompt">C:\Software&gt;</code><span class="command"><strong>unzip findbugs-3.0.0.zip</strong></span>
 </pre><p>
-</p><p>&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;&#12377;&#12427;&#12392;&#12289;&#36890;&#24120;&#12399; <code class="filename">findbugs-2.0.3</code> &#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12364;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;&#20363;&#12360;&#12400;&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540; <code class="filename">C:\Software</code> &#12391;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12434;&#23637;&#38283;&#12377;&#12427;&#12392;&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540; <code class="filename">C:\Software\findbugs-2.0.3</code> &#12395; <span class="application">FindBugs</span> &#12399;&#23637;&#38283;&#12373;&#12428;&#12414;&#12377;&#12290;&#12371;&#12398;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12364; <span class="application">FindBugs</span> &#12398;&#12507;&#12540;&#12512;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12371;&#12398;&#12510;&#12491;&#12517;&#12450;&#12523;&#12391;&#12399;&#12289;&#12371;&#12398;&#12507;&#12540;&#12512;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434; <em class="replaceable"><code>$FINDBUGS_HOME</code></em> (Windows&#12391;&#12399; <em class="replaceable"><code>%FINDBUGS_HOME%</code></em>) &#12434;&#29992;&#12356;&#12390;&#21442;&#29031;&#12375;&#12414;&#12377;&#12290;</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="introduction.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="building.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;3&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;</td></tr></table></div></body></html>
\ No newline at end of file
+</p><p>&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12398;&#23637;&#38283;&#12377;&#12427;&#12392;&#12289;&#36890;&#24120;&#12399; <code class="filename">findbugs-3.0.0</code> &#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12364;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;&#20363;&#12360;&#12400;&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540; <code class="filename">C:\Software</code> &#12391;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12434;&#23637;&#38283;&#12377;&#12427;&#12392;&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540; <code class="filename">C:\Software\findbugs-3.0.0</code> &#12395; <span class="application">FindBugs</span> &#12399;&#23637;&#38283;&#12373;&#12428;&#12414;&#12377;&#12290;&#12371;&#12398;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12364; <span class="application">FindBugs</span> &#12398;&#12507;&#12540;&#12512;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12371;&#12398;&#12510;&#12491;&#12517;&#12450;&#12523;&#12391;&#12399;&#12289;&#12371;&#12398;&#12507;&#12540;&#12512;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434; <em class="replaceable"><code>$FINDBUGS_HOME</code></em> (Windows&#12391;&#12399; <em class="replaceable"><code>%FINDBUGS_HOME%</code></em>) &#12434;&#29992;&#12356;&#12390;&#21442;&#29031;&#12375;&#12414;&#12377;&#12290;</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="introduction.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="building.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;3&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/ja/manual/introduction.html b/doc/ja/manual/introduction.html
index 5ba4736..53715c4 100644
--- a/doc/ja/manual/introduction.html
+++ b/doc/ja/manual/introduction.html
@@ -1,3 +1,3 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="next" href="installing.html" title="&#31532;2&#31456; FindBugs&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="installing.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;"><div class="titlepage"><div><div><h2 class="title"><a name="introduction"></a>&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="introduction.html#d0e74">1. &#24517;&#35201;&#26465;&#20214;</a></span></dt></dl></div><p><span class="application">FindBugs</span>&#8482; &#12399;&#12289;Java &#12503;&#12525;&#12464;&#12521;&#12512;&#12398;&#20013;&#12398;&#12496;&#12464;&#12434;&#35211;&#12388;&#12369;&#12427;&#12503;&#12525;&#12464;&#12521;&#12512;&#12391;&#12377;&#12290;&#12371;&#12398;&#12503;&#12525;&#12464;&#12521;&#12512;&#12399;&#12289;&#12300;&#12496;&#12464; &#12497;&#12479;&#12540;&#12531;&#12301;&#12398;&#23455;&#20363;&#12434;&#25506;&#12375;&#12414;&#12377;&#12290;&#12300;&#12496;&#12464; &#12497;&#12479;&#12540;&#12531;&#12301;&#12392;&#12399;&#12289;&#12456;&#12521;&#12540;&#12392;&#12394;&#12427;&#21487;&#33021;&#24615;&#12398;&#39640;&#12356;&#12467;&#12540;&#12489;&#12398;&#20107;&#20363;&#12391;&#12377;&#12290;</p><p>&#12371;&#12398;&#25991;&#26360;&#12399;&#12289;<span class="application">FindBugs</span> &#12496;&#12540;&#12472;&#12519;&#12531; 2.0.3 &#12395;&#12388;&#12356;&#12390;&#35500;&#26126;&#12375;&#12390;&#12414;&#12377;&#12290;&#31169;&#12383;&#12385;&#12399;&#12289; <span class="application">FindBugs</span> &#12395;&#23550;&#12377;&#12427;&#12501;&#12451;&#12540;&#12489;&#12496;&#12483;&#12463;&#12434;&#24515;&#24453;&#12385;&#12395;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12393;&#12358;&#12382;&#12289; <a class="ulink" href="http://findbugs.sourceforge.net" target="_top"><span class="application">FindBugs</span> Web &#12506;&#12540;&#12472;</a> &#12395;&#12450;&#12463;&#12475;&#12473;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;<span class="application">FindBugs</span> &#12395;&#12388;&#12356;&#12390;&#12398;&#26368;&#26032;&#24773;&#22577;&#12289;&#36899;&#32097;&#20808;&#12362;&#12424;&#12403; <span class="application">FindBugs</span> &#12513;&#12540;&#12522;&#12531;&#12464;&#12522;&#12473;&#12488;&#12394;&#12393;&#12398;&#12469;&#12509;&#12540;&#12488;&#24773;&#22577;&#12434;&#20837;&#25163;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="sect1" title="1. &#24517;&#35201;&#26465;&#20214;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e74"></a>1. &#24517;&#35201;&#26465;&#20214;</h2></div></div></div><p><span class="application">FindBugs</span> &#12434;&#20351;&#29992;&#12377;&#12427;&#12395;&#12399;&#12289; <a class="ulink" href="http://java.sun.com/j2se" target="_top">Java 2 Standard Edition</a>, &#12496;&#12540;&#12472;&#12519;&#12531; 1.5 &#20197;&#38477;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12392;&#20114;&#25563;&#24615;&#12398;&#12354;&#12427;&#12521;&#12531;&#12479;&#12452;&#12512;&#29872;&#22659;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12399;&#12289;&#12503;&#12521;&#12483;&#12488;&#12501;&#12457;&#12540;&#12512;&#38750;&#20381;&#23384;&#12391;&#12354;&#12426;&#12289; GNU/Linux &#12289; Windows &#12289; MacOS X &#12503;&#12521;&#12483;&#12488;&#12501;&#12457;&#12540;&#12512;&#19978;&#12391;&#21205;&#20316;&#12377;&#12427;&#12371;&#12392;&#12364;&#30693;&#12425;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;</p><p><span class="application">FindBugs</span> &#12434;&#20351;&#29992;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289;&#23569;&#12394;&#12367;&#12392;&#12418; 512 MB &#12398;&#12513;&#12514;&#12522;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;&#24040;&#22823;&#12394;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12434;&#35299;&#26512;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289;&#12381;&#12428;&#12424;&#12426;&#22810;&#12367;&#12398;&#12513;&#12514;&#12522;&#12364;&#24517;&#35201;&#12392;&#12373;&#12428;&#12427;&#12371;&#12392;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="installing.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="application">FindBugs</span>&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;2&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</td></tr></table></div></body></html>
\ No newline at end of file
+   <title>&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="next" href="installing.html" title="&#31532;2&#31456; FindBugs&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="installing.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;"><div class="titlepage"><div><div><h2 class="title"><a name="introduction"></a>&#31532;1&#31456; &#12399;&#12376;&#12417;&#12395;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="introduction.html#d0e66">1. &#24517;&#35201;&#26465;&#20214;</a></span></dt></dl></div><p><span class="application">FindBugs</span>&#8482; &#12399;&#12289;Java &#12503;&#12525;&#12464;&#12521;&#12512;&#12398;&#20013;&#12398;&#12496;&#12464;&#12434;&#35211;&#12388;&#12369;&#12427;&#12503;&#12525;&#12464;&#12521;&#12512;&#12391;&#12377;&#12290;&#12371;&#12398;&#12503;&#12525;&#12464;&#12521;&#12512;&#12399;&#12289;&#12300;&#12496;&#12464; &#12497;&#12479;&#12540;&#12531;&#12301;&#12398;&#23455;&#20363;&#12434;&#25506;&#12375;&#12414;&#12377;&#12290;&#12300;&#12496;&#12464; &#12497;&#12479;&#12540;&#12531;&#12301;&#12392;&#12399;&#12289;&#12456;&#12521;&#12540;&#12392;&#12394;&#12427;&#21487;&#33021;&#24615;&#12398;&#39640;&#12356;&#12467;&#12540;&#12489;&#12398;&#20107;&#20363;&#12391;&#12377;&#12290;</p><p>&#12371;&#12398;&#25991;&#26360;&#12399;&#12289;<span class="application">FindBugs</span> &#12496;&#12540;&#12472;&#12519;&#12531; 3.0.0 &#12395;&#12388;&#12356;&#12390;&#35500;&#26126;&#12375;&#12390;&#12414;&#12377;&#12290;&#31169;&#12383;&#12385;&#12399;&#12289; <span class="application">FindBugs</span> &#12395;&#23550;&#12377;&#12427;&#12501;&#12451;&#12540;&#12489;&#12496;&#12483;&#12463;&#12434;&#24515;&#24453;&#12385;&#12395;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12393;&#12358;&#12382;&#12289; <a class="ulink" href="http://findbugs.sourceforge.net" target="_top"><span class="application">FindBugs</span> Web &#12506;&#12540;&#12472;</a> &#12395;&#12450;&#12463;&#12475;&#12473;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;<span class="application">FindBugs</span> &#12395;&#12388;&#12356;&#12390;&#12398;&#26368;&#26032;&#24773;&#22577;&#12289;&#36899;&#32097;&#20808;&#12362;&#12424;&#12403; <span class="application">FindBugs</span> &#12513;&#12540;&#12522;&#12531;&#12464;&#12522;&#12473;&#12488;&#12394;&#12393;&#12398;&#12469;&#12509;&#12540;&#12488;&#24773;&#22577;&#12434;&#20837;&#25163;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="sect1" title="1. &#24517;&#35201;&#26465;&#20214;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e66"></a>1. &#24517;&#35201;&#26465;&#20214;</h2></div></div></div><p><span class="application">FindBugs</span> &#12434;&#20351;&#29992;&#12377;&#12427;&#12395;&#12399;&#12289; <a class="ulink" href="http://java.sun.com/j2se" target="_top">Java 2 Standard Edition</a>, &#12496;&#12540;&#12472;&#12519;&#12531; 1.5 &#20197;&#38477;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12392;&#20114;&#25563;&#24615;&#12398;&#12354;&#12427;&#12521;&#12531;&#12479;&#12452;&#12512;&#29872;&#22659;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;<span class="application">FindBugs</span> &#12399;&#12289;&#12503;&#12521;&#12483;&#12488;&#12501;&#12457;&#12540;&#12512;&#38750;&#20381;&#23384;&#12391;&#12354;&#12426;&#12289; GNU/Linux &#12289; Windows &#12289; MacOS X &#12503;&#12521;&#12483;&#12488;&#12501;&#12457;&#12540;&#12512;&#19978;&#12391;&#21205;&#20316;&#12377;&#12427;&#12371;&#12392;&#12364;&#30693;&#12425;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;</p><p><span class="application">FindBugs</span> &#12434;&#20351;&#29992;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289;&#23569;&#12394;&#12367;&#12392;&#12418; 512 MB &#12398;&#12513;&#12514;&#12522;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;&#24040;&#22823;&#12394;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12434;&#35299;&#26512;&#12377;&#12427;&#12383;&#12417;&#12395;&#12399;&#12289;&#12381;&#12428;&#12424;&#12426;&#22810;&#12367;&#12398;&#12513;&#12514;&#12522;&#12364;&#24517;&#35201;&#12392;&#12373;&#12428;&#12427;&#12371;&#12392;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="installing.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="application">FindBugs</span>&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;2&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/ja/manual/running.html b/doc/ja/manual/running.html
index deed032..249105c 100644
--- a/doc/ja/manual/running.html
+++ b/doc/ja/manual/running.html
@@ -1,7 +1,7 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="building.html" title="&#31532;3&#31456; FindBugs&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;"><link rel="next" href="gui.html" title="&#31532;5&#31456; FindBugs GUI &#12398;&#20351;&#29992;&#26041;&#27861;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;4&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="building.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="gui.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;"><div class="titlepage"><div><div><h2 class="title"><a name="running"></a>&#31532;4&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="running.html#d0e455">1. &#12463;&#12452;&#12483;&#12463;&#12539;&#12473;&#12479;&#12540;&#12488;</a></span></dt><dt><span class="sect1"><a href="running.html#d0e493">2. <span class="application">FindBugs</span> &#12398;&#36215;&#21205;</a></span></dt><dt><span class="sect1"><a href="running.html#commandLineOptions">3. &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</a></span></dt></dl></div><p><span class="application">FindBugs</span> &#12395;&#12399;2&#12388;&#12398;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289;&#12464;&#12521;&#12501;&#12451;&#12459;&#12523;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473; (GUI) &#12362;&#12424;&#12403; &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12391;&#12377;&#12290;&#12371;&#12398;&#31456;&#12391;&#12399;&#12289;&#12381;&#12428;&#12382;&#12428;&#12398;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12398;&#23455;&#34892;&#26041;&#27861;&#12395;&#12388;&#12356;&#12390;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;</p><div class="warning" title="&#35686;&#21578;" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[&#35686;&#21578;]" src="warning.png"></td><th align="left">&#35686;&#21578;</th></tr><tr><td align="left" valign="top"><p>&#12371;&#12398;&#31456;&#12399;&#12289;&#29694;&#22312;&#26360;&#12365;&#30452;&#12375;&#20013;&#12391;&#12377;&#12290;&#26360;&#12365;&#30452;&#12375;&#12399;&#12414;&#12384;&#23436;&#20102;&#12375;&#12390;&#12356;&#12414;&#12379;&#12435;&#12290;</p></td></tr></table></div><div class="sect1" title="1. &#12463;&#12452;&#12483;&#12463;&#12539;&#12473;&#12479;&#12540;&#12488;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e455"></a>1. &#12463;&#12452;&#12483;&#12463;&#12539;&#12473;&#12479;&#12540;&#12488;</h2></div></div></div><p>Windows &#12471;&#12473;&#12486;&#12512;&#12391;  <span class="application">FindBugs</span> &#12434;&#36215;&#21205;&#12377;&#12427;&#22580;&#21512;&#12399;&#12289; <code class="filename"><em class="replaceable"><code>%FINDBUGS_HOME%</code></em>\lib\findbugs.jar</code> &#12501;&#12449;&#12452;&#12523;&#12434;&#12480;&#12502;&#12523;&#12463;&#12522;&#12483;&#12463;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290; <span class="application">FindBugs</span> GUI &#12364;&#36215;&#21205;&#12375;&#12414;&#12377;&#12290;</p><p>Unix &#12289; Linux &#12414;&#12383;&#12399; Mac OS X &#12471;&#12473;&#12486;&#12512;&#12398;&#22580;&#21512;&#12399;&#12289;<code class="filename"><em class="replaceable"><code>$FINDBUGS_HOME</code></em>/bin/findbugs</code> &#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#23455;&#34892;&#12377;&#12427;&#12363;&#12289;&#20197;&#19979;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12375;&#12414;&#12377;&#12290;</p><pre class="screen">
-<span class="command"><strong>java -jar <em class="replaceable"><code>$FINDBUGS_HOME</code></em>/lib/findbugs.jar</strong></span></pre><p>&#12371;&#12428;&#12391;&#12289; <span class="application">FindBugs</span> GUI &#12364;&#36215;&#21205;&#12375;&#12414;&#12377;&#12290;</p><p>GUI &#12398;&#20351;&#29992;&#26041;&#27861;&#12395;&#12388;&#12356;&#12390;&#12399;&#12289; <a class="xref" href="gui.html" title="&#31532;5&#31456; FindBugs GUI &#12398;&#20351;&#29992;&#26041;&#27861;">5&#31456;<i><span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></div><div class="sect1" title="2. FindBugs &#12398;&#36215;&#21205;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e493"></a>2. <span class="application">FindBugs</span> &#12398;&#36215;&#21205;</h2></div></div></div><p>&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12398;&#36215;&#21205;&#26041;&#27861;&#12434;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12434;&#36215;&#21205;&#12377;&#12427;&#12395;&#12399;2&#12388;&#12398;&#26041;&#27861;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289;&#30452;&#25509;&#36215;&#21205;&#12377;&#12427;&#26041;&#27861;&#12289;&#12362;&#12424;&#12403;&#12289;&#12521;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#20351;&#29992;&#12377;&#12427;&#26041;&#27861;&#12391;&#12377;&#12290;</p><div class="sect2" title="2.1. FindBugs &#12398;&#30452;&#25509;&#36215;&#21205;"><div class="titlepage"><div><div><h3 class="title"><a name="directInvocation"></a>2.1. <span class="application">FindBugs</span> &#12398;&#30452;&#25509;&#36215;&#21205;</h3></div></div></div><p>&#26368;&#21021;&#12395;&#36848;&#12409;&#12427; <span class="application">FindBugs</span> &#12398;&#36215;&#21205;&#26041;&#27861;&#12399;&#12289; <code class="filename"><em class="replaceable"><code>$FINDBUGS_HOME</code></em>/lib/findbugs.jar</code> &#12434;&#30452;&#25509;&#23455;&#34892;&#12377;&#12427;&#26041;&#27861;&#12391;&#12377;&#12290;JVM (<span class="command"><strong>java</strong></span>) &#23455;&#34892;&#12503;&#12525;&#12464;&#12521;&#12512;&#12398; <span class="command"><strong>-jar</strong></span> &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12473;&#12452;&#12483;&#12481;&#12434;&#20351;&#29992;&#12375;&#12414;&#12377;&#12290;(<span class="application">FindBugs</span>&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364; 1.3.5 &#12424;&#12426;&#21069;&#12398;&#22580;&#21512;&#12399;&#12289;&#12521;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#20351;&#29992;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;)</p><p><span class="application">FindBugs</span> &#12434;&#30452;&#25509;&#36215;&#21205;&#12377;&#12427;&#12383;&#12417;&#12398;&#12289;&#19968;&#33324;&#30340;&#12394;&#27083;&#25991;&#12399;&#20197;&#19979;&#12398;&#12424;&#12358;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;</p><pre class="screen">
+   <title>&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="up" href="index.html" title="FindBugs&#8482; &#12510;&#12491;&#12517;&#12450;&#12523;"><link rel="prev" href="building.html" title="&#31532;3&#31456; FindBugs&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;"><link rel="next" href="gui.html" title="&#31532;5&#31456; FindBugs GUI &#12398;&#20351;&#29992;&#26041;&#27861;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">&#31532;4&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="building.html">&#25147;&#12427;</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="gui.html">&#27425;&#12408;</a></td></tr></table><hr></div><div class="chapter" title="&#31532;4&#31456; FindBugs&#8482; &#12398;&#23455;&#34892;"><div class="titlepage"><div><div><h2 class="title"><a name="running"></a>&#31532;4&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#23455;&#34892;</h2></div></div></div><div class="toc"><p><b>&#30446;&#27425;</b></p><dl><dt><span class="sect1"><a href="running.html#d0e447">1. &#12463;&#12452;&#12483;&#12463;&#12539;&#12473;&#12479;&#12540;&#12488;</a></span></dt><dt><span class="sect1"><a href="running.html#d0e485">2. <span class="application">FindBugs</span> &#12398;&#36215;&#21205;</a></span></dt><dt><span class="sect1"><a href="running.html#commandLineOptions">3. &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</a></span></dt></dl></div><p><span class="application">FindBugs</span> &#12395;&#12399;2&#12388;&#12398;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289;&#12464;&#12521;&#12501;&#12451;&#12459;&#12523;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473; (GUI) &#12362;&#12424;&#12403; &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12391;&#12377;&#12290;&#12371;&#12398;&#31456;&#12391;&#12399;&#12289;&#12381;&#12428;&#12382;&#12428;&#12398;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12398;&#23455;&#34892;&#26041;&#27861;&#12395;&#12388;&#12356;&#12390;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;</p><div class="warning" title="&#35686;&#21578;" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[&#35686;&#21578;]" src="warning.png"></td><th align="left">&#35686;&#21578;</th></tr><tr><td align="left" valign="top"><p>&#12371;&#12398;&#31456;&#12399;&#12289;&#29694;&#22312;&#26360;&#12365;&#30452;&#12375;&#20013;&#12391;&#12377;&#12290;&#26360;&#12365;&#30452;&#12375;&#12399;&#12414;&#12384;&#23436;&#20102;&#12375;&#12390;&#12356;&#12414;&#12379;&#12435;&#12290;</p></td></tr></table></div><div class="sect1" title="1. &#12463;&#12452;&#12483;&#12463;&#12539;&#12473;&#12479;&#12540;&#12488;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e447"></a>1. &#12463;&#12452;&#12483;&#12463;&#12539;&#12473;&#12479;&#12540;&#12488;</h2></div></div></div><p>Windows &#12471;&#12473;&#12486;&#12512;&#12391;  <span class="application">FindBugs</span> &#12434;&#36215;&#21205;&#12377;&#12427;&#22580;&#21512;&#12399;&#12289; <code class="filename"><em class="replaceable"><code>%FINDBUGS_HOME%</code></em>\lib\findbugs.jar</code> &#12501;&#12449;&#12452;&#12523;&#12434;&#12480;&#12502;&#12523;&#12463;&#12522;&#12483;&#12463;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290; <span class="application">FindBugs</span> GUI &#12364;&#36215;&#21205;&#12375;&#12414;&#12377;&#12290;</p><p>Unix &#12289; Linux &#12414;&#12383;&#12399; Mac OS X &#12471;&#12473;&#12486;&#12512;&#12398;&#22580;&#21512;&#12399;&#12289;<code class="filename"><em class="replaceable"><code>$FINDBUGS_HOME</code></em>/bin/findbugs</code> &#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#23455;&#34892;&#12377;&#12427;&#12363;&#12289;&#20197;&#19979;&#12398;&#12467;&#12510;&#12531;&#12489;&#12434;&#23455;&#34892;&#12375;&#12414;&#12377;&#12290;</p><pre class="screen">
+<span class="command"><strong>java -jar <em class="replaceable"><code>$FINDBUGS_HOME</code></em>/lib/findbugs.jar</strong></span></pre><p>&#12371;&#12428;&#12391;&#12289; <span class="application">FindBugs</span> GUI &#12364;&#36215;&#21205;&#12375;&#12414;&#12377;&#12290;</p><p>GUI &#12398;&#20351;&#29992;&#26041;&#27861;&#12395;&#12388;&#12356;&#12390;&#12399;&#12289; <a class="xref" href="gui.html" title="&#31532;5&#31456; FindBugs GUI &#12398;&#20351;&#29992;&#26041;&#27861;">5&#31456;<i><span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></div><div class="sect1" title="2. FindBugs &#12398;&#36215;&#21205;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e485"></a>2. <span class="application">FindBugs</span> &#12398;&#36215;&#21205;</h2></div></div></div><p>&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12398;&#36215;&#21205;&#26041;&#27861;&#12434;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12434;&#36215;&#21205;&#12377;&#12427;&#12395;&#12399;2&#12388;&#12398;&#26041;&#27861;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289;&#30452;&#25509;&#36215;&#21205;&#12377;&#12427;&#26041;&#27861;&#12289;&#12362;&#12424;&#12403;&#12289;&#12521;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#20351;&#29992;&#12377;&#12427;&#26041;&#27861;&#12391;&#12377;&#12290;</p><div class="sect2" title="2.1. FindBugs &#12398;&#30452;&#25509;&#36215;&#21205;"><div class="titlepage"><div><div><h3 class="title"><a name="directInvocation"></a>2.1. <span class="application">FindBugs</span> &#12398;&#30452;&#25509;&#36215;&#21205;</h3></div></div></div><p>&#26368;&#21021;&#12395;&#36848;&#12409;&#12427; <span class="application">FindBugs</span> &#12398;&#36215;&#21205;&#26041;&#27861;&#12399;&#12289; <code class="filename"><em class="replaceable"><code>$FINDBUGS_HOME</code></em>/lib/findbugs.jar</code> &#12434;&#30452;&#25509;&#23455;&#34892;&#12377;&#12427;&#26041;&#27861;&#12391;&#12377;&#12290;JVM (<span class="command"><strong>java</strong></span>) &#23455;&#34892;&#12503;&#12525;&#12464;&#12521;&#12512;&#12398; <span class="command"><strong>-jar</strong></span> &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12473;&#12452;&#12483;&#12481;&#12434;&#20351;&#29992;&#12375;&#12414;&#12377;&#12290;(<span class="application">FindBugs</span>&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364; 1.3.5 &#12424;&#12426;&#21069;&#12398;&#22580;&#21512;&#12399;&#12289;&#12521;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12434;&#20351;&#29992;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;)</p><p><span class="application">FindBugs</span> &#12434;&#30452;&#25509;&#36215;&#21205;&#12377;&#12427;&#12383;&#12417;&#12398;&#12289;&#19968;&#33324;&#30340;&#12394;&#27083;&#25991;&#12399;&#20197;&#19979;&#12398;&#12424;&#12358;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;</p><pre class="screen">
     <span class="command"><strong>java <em class="replaceable"><code>[JVM &#24341;&#25968;]</code></em> -jar <em class="replaceable"><code>$FINDBUGS_HOME</code></em>/lib/findbugs.jar <em class="replaceable"><code>&#12458;&#12503;&#12471;&#12519;&#12531;&#8230;</code></em></strong></span>
 </pre><p>
         </p><div class="sect3" title="2.1.1. &#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12398;&#36984;&#25246;"><div class="titlepage"><div><div><h4 class="title"><a name="chooseUI"></a>2.1.1.  &#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12398;&#36984;&#25246;</h4></div></div></div><p>1 &#30058;&#30446;&#12398;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289;&#36215;&#21205;&#12377;&#12427; <span class="application">FindBugs</span> &#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12434;&#36984;&#25246;&#12377;&#12427;&#12383;&#12417;&#12398;&#12418;&#12398;&#12391;&#12377;&#12290;&#25351;&#23450;&#21487;&#33021;&#12394;&#20516;&#12399;&#27425;&#12398;&#36890;&#12426;&#12391;&#12377;:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
@@ -18,5 +18,8 @@
 </p><p>Unix &#31995;&#12471;&#12473;&#12486;&#12512; &#12362;&#12424;&#12403; Windows &#12471;&#12473;&#12486;&#12512;&#12398;&#12393;&#12385;&#12425;&#12395;&#12362;&#12356;&#12390;&#12418;&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;  <code class="filename"><em class="replaceable"><code>$FINDBUGS_HOME</code></em>/bin</code> &#12434;&#29872;&#22659;&#22793;&#25968; <code class="filename">PATH</code> &#12395;&#36861;&#21152;&#12377;&#12427;&#12384;&#12369;&#12391;&#12289; <span class="command"><strong>findbugs</strong></span> &#12467;&#12510;&#12531;&#12489;&#12434;&#20351;&#29992;&#12375;&#12390; FindBugs &#12434;&#36215;&#21205;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="sect3" title="2.2.1. &#12521;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12398;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h4 class="title"><a name="wrapperOptions"></a>2.2.1. &#12521;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12398;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</h4></div></div></div><p><span class="application">FindBugs</span> &#12398;&#12521;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12399;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#12469;&#12509;&#12540;&#12488;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;&#12371;&#12428;&#12425;&#12398;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399; <span class="application">FindBugs</span> &#12503;&#12525;&#12464;&#12521;&#12512; &#33258;&#20307;&#12364;&#25805;&#20316;&#12377;&#12427;&#12398;&#12391;&#12399;<span class="emphasis"><em>&#12394;&#12367;</em></span>&#12289;&#12393;&#12385;&#12425;&#12363;&#12392;&#12356;&#12360;&#12400;&#12289;&#12521;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12398;&#26041;&#12364;&#20966;&#29702;&#12434;&#34892;&#12356;&#12414;&#12377;&#12290;</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>-jvmArgs <em class="replaceable"><code>&#24341;&#25968;</code></em></strong></span></span></dt><dd><p>JVM &#12395;&#21463;&#12369;&#28193;&#12373;&#12428;&#12427;&#24341;&#25968;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#20363;&#12360;&#12400;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394; JVM &#12503;&#12525;&#12497;&#12486;&#12451;&#12364;&#35373;&#23450;&#12391;&#12365;&#12414;&#12377;:</p><pre class="screen">
 <code class="prompt">$ </code><span class="command"><strong>findbugs -textui -jvmArgs "-Duser.language=ja" <em class="replaceable"><code>myApp.jar</code></em></strong></span>
 </pre><p>
-       </p></dd><dt><span class="term"><span class="command"><strong>-javahome <em class="replaceable"><code>&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;</code></em></strong></span></span></dt><dd><p><span class="application">FindBugs</span> &#12398;&#23455;&#34892;&#12395;&#20351;&#29992;&#12377;&#12427; JRE (Java &#12521;&#12531;&#12479;&#12452;&#12512;&#29872;&#22659;) &#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12373;&#12428;&#12390;&#12356;&#12427;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-maxHeap <em class="replaceable"><code>&#12469;&#12452;&#12474;</code></em></strong></span></span></dt><dd><p>Java &#12498;&#12540;&#12503;&#12469;&#12452;&#12474;&#12398;&#26368;&#22823;&#20516;&#12434;&#12513;&#12460;&#12496;&#12452;&#12488;&#21336;&#20301;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289; 256 &#12391;&#12377;&#12290;&#24040;&#22823;&#12394;&#12503;&#12525;&#12464;&#12521;&#12512;&#12420;&#12521;&#12452;&#12502;&#12521;&#12522;&#12434;&#20998;&#26512;&#12377;&#12427;&#12395;&#12399;&#12289;&#12418;&#12387;&#12392;&#22823;&#12365;&#12394;&#12513;&#12514;&#12522;&#12540;&#23481;&#37327;&#12364;&#24517;&#35201;&#12395;&#12394;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-debug</strong></span></span></dt><dd><p>&#12487;&#12451;&#12486;&#12463;&#12479;&#23455;&#34892;&#12362;&#12424;&#12403;&#12463;&#12521;&#12473;&#20998;&#26512;&#12398;&#12488;&#12524;&#12540;&#12473;&#24773;&#22577;&#12364;&#27161;&#28310;&#20986;&#21147;&#12395;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;&#20998;&#26512;&#12364;&#20104;&#26399;&#12379;&#12378;&#22833;&#25943;&#12375;&#12383;&#38555;&#12398;&#12289;&#12488;&#12521;&#12502;&#12523;&#12471;&#12517;&#12540;&#12486;&#12451;&#12531;&#12464;&#12395;&#26377;&#29992;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-property</strong></span> <em class="replaceable"><code>name=value</code></em></span></dt><dd><p>&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#20351;&#29992;&#12375;&#12390;&#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12434;&#35373;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290; <span class="application">FindBugs</span> &#12399;&#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12434;&#20351;&#29992;&#12375;&#12390;&#20998;&#26512;&#29305;&#24615;&#12398;&#35373;&#23450;&#12434;&#34892;&#12356;&#12414;&#12377;&#12290;<a class="xref" href="analysisprops.html" title="&#31532;9&#31456; &#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;">9&#31456;<i>&#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#35079;&#25968;&#25351;&#23450;&#12375;&#12390;&#12289;&#35079;&#25968;&#12398;&#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12434;&#35373;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12391;&#12377;&#12290;&#27880;:  Windows &#12398;&#22810;&#12367;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12391;&#12399;&#12289; <em class="replaceable"><code>name=value</code></em> &#25991;&#23383;&#21015;&#12434;&#24341;&#29992;&#31526;&#12391;&#22258;&#12416;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></dd></dl></div></div></div></div><div class="sect1" title="3. &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="commandLineOptions"></a>3. &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</h2></div></div></div><p>&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12364;&#12469;&#12509;&#12540;&#12488;&#12377;&#12427;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;&#12395;&#12388;&#12356;&#12390;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;&#12371;&#12371;&#12391;&#31034;&#12377;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289; <span class="application">FindBugs</span> &#30452;&#25509;&#36215;&#21205;&#12289;&#12414;&#12383;&#12399;&#12289;&#12521;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12395;&#12424;&#12427;&#36215;&#21205;&#12391;&#20351;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="sect2" title="3.1. &#20849;&#36890;&#12398;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h3 class="title"><a name="d0e778"></a>3.1. &#20849;&#36890;&#12398;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</h3></div></div></div><p>&#12371;&#12371;&#12391;&#31034;&#12377;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289; GUI &#12362;&#12424;&#12403; &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12398;&#20001;&#26041;&#12391;&#20351;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>-effort:min</strong></span></span></dt><dd><p>&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#25351;&#23450;&#12377;&#12427;&#12392;&#12289;&#31934;&#24230;&#12434;&#19978;&#12370;&#12427;&#12383;&#12417;&#12395;&#22823;&#37327;&#12398;&#12513;&#12514;&#12522;&#12540;&#12434;&#28040;&#36027;&#12377;&#12427;&#20998;&#26512;&#12364;&#28961;&#21177;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12398;&#23455;&#34892;&#26178;&#12395;&#12513;&#12514;&#12522;&#12540;&#19981;&#36275;&#12395;&#12394;&#12387;&#12383;&#12426;&#12289;&#20998;&#26512;&#12434;&#23436;&#20102;&#12377;&#12427;&#12414;&#12391;&#12395;&#30064;&#24120;&#12395;&#38263;&#12356;&#26178;&#38291;&#12364;&#12363;&#12363;&#12427;&#22580;&#21512;&#12395;&#35430;&#12375;&#12390;&#12415;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-effort:max</strong></span></span></dt><dd><p>&#31934;&#24230;&#12364;&#39640;&#12367;&#12289;&#12424;&#12426;&#22810;&#12367;&#12398;&#12496;&#12464;&#12434;&#26908;&#20986;&#12377;&#12427;&#20998;&#26512;&#12434;&#26377;&#21177;&#12395;&#12375;&#12414;&#12377;&#12290;&#12383;&#12384;&#12375;&#12289;&#22810;&#12367;&#12398;&#12513;&#12514;&#12522;&#12540;&#23481;&#37327;&#12434;&#24517;&#35201;&#12392;&#12375;&#12289;&#12414;&#12383;&#12289;&#23436;&#20102;&#12414;&#12391;&#12398;&#26178;&#38291;&#12364;&#22810;&#12367;&#12363;&#12363;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-project</strong></span> <em class="replaceable"><code>project</code></em></span></dt><dd><p>&#20998;&#26512;&#12377;&#12427;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#25351;&#23450;&#12377;&#12427;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12501;&#12449;&#12452;&#12523;&#12395;&#12399;&#12289; GUI &#12434;&#20351;&#12387;&#12390;&#20316;&#25104;&#12375;&#12383;&#12418;&#12398;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12501;&#12449;&#12452;&#12523;&#12398;&#25313;&#24373;&#23376;&#12399;&#12289;&#19968;&#33324;&#30340;&#12395;&#12399; <code class="filename">.fb</code> &#12414;&#12383;&#12399; <code class="filename">.fbp</code> &#12391;&#12377;&#12290;</p></dd></dl></div></div><div class="sect2" title="3.2. GUI &#12458;&#12503;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h3 class="title"><a name="d0e818"></a>3.2. GUI &#12458;&#12503;&#12471;&#12519;&#12531;</h3></div></div></div><p>&#12371;&#12371;&#12391;&#31034;&#12377;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289;&#12464;&#12521;&#12501;&#12451;&#12459;&#12523;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12391;&#12398;&#12415;&#20351;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>-look:</strong></span><em class="replaceable"><code>plastic|gtk|native</code></em></span></dt><dd><p>Swing &#12398;&#12523;&#12483;&#12463;&#12539;&#12450;&#12531;&#12489;&#12539;&#12501;&#12451;&#12540;&#12523;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd></dl></div><p>
-</p></div><div class="sect2" title="3.3. &#12486;&#12461;&#12473;&#12488;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12458;&#12503;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h3 class="title"><a name="d0e834"></a>3.3. &#12486;&#12461;&#12473;&#12488;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12458;&#12503;&#12471;&#12519;&#12531;</h3></div></div></div><p>&#12371;&#12371;&#12391;&#31034;&#12377;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289;&#12486;&#12461;&#12473;&#12488;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12391;&#12398;&#12415;&#20351;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>-sortByClass</strong></span></span></dt><dd><p>&#22577;&#21578;&#12373;&#12428;&#12427;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#12463;&#12521;&#12473;&#21517;&#12391;&#12477;&#12540;&#12488;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-include</strong></span> <em class="replaceable"><code>filterFile.xml</code></em></span></dt><dd><p><em class="replaceable"><code>filterFile.xml</code></em> &#12391;&#25351;&#23450;&#12375;&#12383;&#12501;&#12451;&#12523;&#12479;&#12540;&#12395;&#19968;&#33268;&#12375;&#12383;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12398;&#12415;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;<a class="xref" href="filter.html" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;">8&#31456;<i>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-exclude</strong></span> <em class="replaceable"><code>filterFile.xml</code></em></span></dt><dd><p><em class="replaceable"><code>filterFile.xml</code></em> &#12391;&#25351;&#23450;&#12375;&#12383;&#12501;&#12451;&#12523;&#12479;&#12540;&#12395;&#19968;&#33268;&#12375;&#12383;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12399;&#22577;&#21578;&#12373;&#12428;&#12414;&#12379;&#12435;&#12290;<a class="xref" href="filter.html" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;">8&#31456;<i>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-onlyAnalyze</strong></span> <em class="replaceable"><code>com.foobar.MyClass,com.foobar.mypkg.*</code></em></span></dt><dd><p>&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12391;&#25351;&#23450;&#12375;&#12383;&#12463;&#12521;&#12473;&#12362;&#12424;&#12403;&#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#12415;&#12395;&#38480;&#23450;&#12375;&#12390;&#12289;&#12496;&#12464;&#26908;&#20986;&#12398;&#20998;&#26512;&#12434;&#34892;&#12358;&#12424;&#12358;&#12395;&#12375;&#12414;&#12377;&#12290;&#12501;&#12451;&#12523;&#12479;&#12540;&#12392;&#36949;&#12387;&#12390;&#12289;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#20351;&#12358;&#12392;&#19968;&#33268;&#12375;&#12394;&#12356;&#12463;&#12521;&#12473;&#12362;&#12424;&#12403;&#12497;&#12483;&#12465;&#12540;&#12472;&#12395;&#23550;&#12377;&#12427;&#20998;&#26512;&#12398;&#23455;&#34892;&#12434;&#22238;&#36991;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#22823;&#12365;&#12394;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12395;&#12362;&#12356;&#12390;&#12289;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#27963;&#29992;&#12377;&#12427;&#12392;&#20998;&#26512;&#12395;&#12363;&#12363;&#12427;&#26178;&#38291;&#12434;&#22823;&#12365;&#12367;&#21066;&#28187;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;(&#12375;&#12363;&#12375;&#12394;&#12364;&#12425;&#12289;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12398;&#20840;&#20307;&#12391;&#23455;&#34892;&#12375;&#12390;&#12356;&#12394;&#12356;&#12383;&#12417;&#12395;&#19981;&#27491;&#30906;&#12394;&#32080;&#26524;&#12434;&#20986;&#12375;&#12390;&#12375;&#12414;&#12358;&#12487;&#12451;&#12486;&#12463;&#12479;&#12364;&#12354;&#12427;&#21487;&#33021;&#24615;&#12418;&#12354;&#12426;&#12414;&#12377;&#12290;) &#12463;&#12521;&#12473;&#12399;&#12497;&#12483;&#12465;&#12540;&#12472;&#12418;&#21547;&#12435;&#12384;&#23436;&#20840;&#12394;&#21517;&#21069;&#12434;&#25351;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;&#12497;&#12483;&#12465;&#12540;&#12472;&#12399;&#12289; Java &#12398; <code class="literal">import</code> &#25991;&#12391;&#12497;&#12483;&#12465;&#12540;&#12472;&#19979;&#12398;&#12377;&#12409;&#12390;&#12398;&#12463;&#12521;&#12473;&#12434;&#12452;&#12531;&#12509;&#12540;&#12488;&#12377;&#12427;&#12392;&#12365;&#12392;&#21516;&#12376;&#26041;&#27861;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290; (&#12377;&#12394;&#12431;&#12385;&#12289;&#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#23436;&#20840;&#12394;&#21517;&#21069;&#12395; <code class="literal">.*</code> &#12434;&#20184;&#12369;&#21152;&#12360;&#12383;&#24418;&#12391;&#12377;&#12290;)<code class="literal">.*</code> &#12398;&#20195;&#12431;&#12426;&#12395; <code class="literal">.-</code> &#12434;&#25351;&#23450;&#12377;&#12427;&#12392;&#12289;&#12469;&#12502;&#12497;&#12483;&#12465;&#12540;&#12472;&#12418;&#21547;&#12417;&#12390;&#12377;&#12409;&#12390;&#12364;&#20998;&#26512;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-low</strong></span></span></dt><dd><p>&#12377;&#12409;&#12390;&#12398;&#12496;&#12464;&#12364;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-medium</strong></span></span></dt><dd><p>&#20778;&#20808;&#24230; (&#20013;) &#12362;&#12424;&#12403;&#20778;&#20808;&#24230; (&#39640;) &#12398;&#12496;&#12464;&#12364;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;&#12371;&#12428;&#12399;&#12289;&#12487;&#12501;&#12457;&#12523;&#12488;&#12398;&#35373;&#23450;&#20516;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-high</strong></span></span></dt><dd><p>&#20778;&#20808;&#24230; (&#39640;) &#12398;&#12496;&#12464;&#12398;&#12415;&#12364;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-relaxed</strong></span></span></dt><dd><p>&#25163;&#25244;&#12365;&#22577;&#21578;&#12514;&#12540;&#12489;&#12391;&#12377;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#25351;&#23450;&#12377;&#12427;&#12392;&#12289;&#22810;&#12367;&#12398;&#12487;&#12451;&#12486;&#12463;&#12479;&#12395;&#12362;&#12356;&#12390; &#35492;&#26908;&#20986;&#12434;&#22238;&#36991;&#12377;&#12427;&#12383;&#12417;&#12398;&#12498;&#12517;&#12540;&#12522;&#12473;&#12486;&#12451;&#12483;&#12463;&#27231;&#33021;&#12364;&#25233;&#27490;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-xml</strong></span></span></dt><dd><p>&#12496;&#12464;&#22577;&#21578;&#12364; XML &#12391;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;&#20316;&#25104;&#12373;&#12428;&#12383; XML &#12487;&#12540;&#12479;&#12399; &#12289;&#24460;&#12391; GUI &#12391;&#35211;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399; <span class="command"><strong>-xml:withMessages</strong></span> &#12392;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377;&#12290;&#12371;&#12358;&#12377;&#12427;&#12392; &#20986;&#21147; XML &#12395;&#12399; &#21508;&#12496;&#12464;&#12395;&#38306;&#12375;&#12390;&#20154;&#38291;&#12395;&#35501;&#12416;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#12513;&#12483;&#12475;&#12540;&#12472;&#12364;&#21547;&#12414;&#12428;&#12427;&#12424;&#12358;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12391;&#20316;&#25104;&#12373;&#12428;&#12383; XML &#12501;&#12449;&#12452;&#12523;&#12399; &#22577;&#21578;&#26360;&#12395;&#22793;&#25563;&#12377;&#12427;&#12398;&#12364;&#31777;&#21336;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-html</strong></span></span></dt><dd><p>HTML &#20986;&#21147;&#12364;&#29983;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#12399; <span class="application">FindBugs</span> &#12399; <code class="filename">default.xsl</code> <a class="ulink" href="http://www.w3.org/TR/xslt" target="_top">XSLT</a> &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#20351;&#29992;&#12375;&#12390; HTML &#20986;&#21147;&#12434;&#29983;&#25104;&#12375;&#12414;&#12377;: &#12371;&#12398;&#12501;&#12449;&#12452;&#12523;&#12399;&#12289; <code class="filename">findbugs.jar</code> &#12398;&#20013;&#12289;&#12414;&#12383;&#12399;&#12289; <span class="application">FindBugs</span> &#12398;&#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12418;&#12375;&#12367;&#12399;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12398;&#20013;&#12395;&#12354;&#12426;&#12414;&#12377;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12395;&#12399;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#12496;&#12522;&#12456;&#12540;&#12471;&#12519;&#12531;&#12418;&#23384;&#22312;&#12375;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289; <span class="command"><strong>-html:plain.xsl</strong></span> &#12289; <span class="command"><strong>-html:fancy.xsl</strong></span> &#12362;&#12424;&#12403; <span class="command"><strong>-html:fancy-hist.xsl</strong></span> &#12391;&#12377;&#12290;<code class="filename">plain.xsl</code> &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12399; Javascript &#12420; DOM &#12434;&#21033;&#29992;&#12375;&#12414;&#12379;&#12435;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;&#21476;&#12356;Web &#12502;&#12521;&#12454;&#12470;&#20351;&#29992;&#26178;&#12420;&#21360;&#21047;&#26178;&#12395;&#12418;&#27604;&#36611;&#30340;&#12358;&#12414;&#12367;&#34920;&#31034;&#12373;&#12428;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;<code class="filename">fancy.xsl</code> &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12399; DOM &#12392; Javascript &#12434;&#21033;&#29992;&#12375;&#12390;&#12490;&#12499;&#12466;&#12540;&#12471;&#12519;&#12531;&#12434;&#34892;&#12356;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;&#12499;&#12472;&#12517;&#12450;&#12523;&#34920;&#31034;&#12395; CSS &#12434;&#20351;&#29992;&#12375;&#12414;&#12377;&#12290;<span class="command"><strong>fancy-hist.xsl</strong></span> &#12399; <span class="command"><strong>fancy.xsl</strong></span> &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#26356;&#12395;&#36914;&#21270;&#12373;&#12379;&#12383;&#12418;&#12398;&#12391;&#12377;&#12290;DOM &#12420; Javascript &#12434;&#12405;&#12435;&#12384;&#12435;&#12395;&#39366;&#20351;&#12375;&#12390;&#12289;&#12496;&#12464;&#12398;&#19968;&#35239;&#12434;&#21205;&#30340;&#12395;&#12501;&#12451;&#12523;&#12479;&#12522;&#12531;&#12464;&#12375;&#12414;&#12377;&#12290;</p><p>&#12518;&#12540;&#12470;&#12540;&#33258;&#36523;&#12398; XSLT &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#29992;&#12356;&#12390; HTML &#12408;&#12398;&#22793;&#25563;&#12434;&#34892;&#12356;&#12383;&#12356;&#22580;&#21512;&#12399;&#12289; <span class="command"><strong>-html:<em class="replaceable"><code>myStylesheet.xsl</code></em></strong></span> &#12398;&#12424;&#12358;&#12395;&#25351;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12371;&#12371;&#12391;&#12289; <em class="replaceable"><code>myStylesheet.xsl</code></em> &#12399;&#12518;&#12540;&#12470;&#12540;&#12364;&#20351;&#29992;&#12375;&#12383;&#12356;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12398;&#12501;&#12449;&#12452;&#12523;&#21517;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-emacs</strong></span></span></dt><dd><p>&#12496;&#12464;&#22577;&#21578;&#12364; Emacs &#24418;&#24335;&#12391;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-xdocs</strong></span></span></dt><dd><p>&#12496;&#12464;&#22577;&#21578;&#12364; xdoc XML &#24418;&#24335;&#12391;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;Apache Maven&#12391;&#20351;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-output</strong></span> <em class="replaceable"><code>&#12501;&#12449;&#12452;&#12523;&#21517;</code></em></span></dt><dd><p>&#25351;&#23450;&#12375;&#12383;&#12501;&#12449;&#12452;&#12523;&#12395;&#20986;&#21147;&#32080;&#26524;&#12364;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-outputFile</strong></span> <em class="replaceable"><code>&#12501;&#12449;&#12452;&#12523;&#21517;</code></em></span></dt><dd><p>&#12371;&#12398;&#24341;&#25968;&#12399;&#12289;&#20351;&#29992;&#12377;&#12409;&#12365;&#12391;&#12399;&#12354;&#12426;&#12414;&#12379;&#12435;&#12290;&#20195;&#12431;&#12426;&#12395;&#12289; <span class="command"><strong>-output</strong></span> &#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-nested</strong></span><em class="replaceable"><code>[:true|false]</code></em></span></dt><dd><p>&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289;&#12501;&#12449;&#12452;&#12523;&#12420;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;&#20013;&#12391;&#20837;&#12428;&#23376;&#12395;&#12394;&#12387;&#12383; jar &#12362;&#12424;&#12403; zip &#12501;&#12449;&#12452;&#12523;&#12434;&#20998;&#26512;&#12377;&#12427;&#12363;&#12393;&#12358;&#12363;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#12399;&#12289;&#20837;&#12428;&#23376;&#12395;&#12394;&#12387;&#12383; jar &#12362;&#12424;&#12403; zip &#12501;&#12449;&#12452;&#12523;&#12418;&#20998;&#26512;&#12375;&#12414;&#12377;&#12290;&#20837;&#12428;&#23376;&#12395;&#12394;&#12387;&#12383; jar &#12362;&#12424;&#12403; zip &#12501;&#12449;&#12452;&#12523;&#12398;&#20998;&#26512;&#12377;&#12427;&#12434;&#28961;&#21177;&#12395;&#12377;&#12427;&#22580;&#21512;&#12399;&#12289; <span class="command"><strong>-nested:false</strong></span> &#12434;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#24341;&#25968;&#12395;&#36861;&#21152;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-auxclasspath</strong></span> <em class="replaceable"><code>&#12463;&#12521;&#12473;&#12497;&#12473;</code></em></span></dt><dd><p>&#20998;&#26512;&#26178;&#12395;&#20351;&#29992;&#12377;&#12427;&#35036;&#21161;&#12463;&#12521;&#12473;&#12497;&#12473;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;&#20998;&#26512;&#12377;&#12427;&#12503;&#12525;&#12464;&#12521;&#12512;&#12391;&#20351;&#29992;&#12377;&#12427;jar&#12501;&#12449;&#12452;&#12523;&#12420;&#12463;&#12521;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#12377;&#12409;&#12390;&#25351;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#35036;&#21161;&#12463;&#12521;&#12473;&#12497;&#12473;&#12395;&#25351;&#23450;&#12375;&#12383;&#12463;&#12521;&#12473;&#12399;&#20998;&#26512;&#12398;&#23550;&#35937;&#12395;&#12399;&#12394;&#12426;&#12414;&#12379;&#12435;&#12290;</p></dd></dl></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="building.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="gui.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;3&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;5&#31456; <span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;</td></tr></table></div></body></html>
\ No newline at end of file
+       </p></dd><dt><span class="term"><span class="command"><strong>-javahome <em class="replaceable"><code>&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;</code></em></strong></span></span></dt><dd><p><span class="application">FindBugs</span> &#12398;&#23455;&#34892;&#12395;&#20351;&#29992;&#12377;&#12427; JRE (Java &#12521;&#12531;&#12479;&#12452;&#12512;&#29872;&#22659;) &#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12373;&#12428;&#12390;&#12356;&#12427;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-maxHeap <em class="replaceable"><code>&#12469;&#12452;&#12474;</code></em></strong></span></span></dt><dd><p>Java &#12498;&#12540;&#12503;&#12469;&#12452;&#12474;&#12398;&#26368;&#22823;&#20516;&#12434;&#12513;&#12460;&#12496;&#12452;&#12488;&#21336;&#20301;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12399;&#12289; 256 &#12391;&#12377;&#12290;&#24040;&#22823;&#12394;&#12503;&#12525;&#12464;&#12521;&#12512;&#12420;&#12521;&#12452;&#12502;&#12521;&#12522;&#12434;&#20998;&#26512;&#12377;&#12427;&#12395;&#12399;&#12289;&#12418;&#12387;&#12392;&#22823;&#12365;&#12394;&#12513;&#12514;&#12522;&#12540;&#23481;&#37327;&#12364;&#24517;&#35201;&#12395;&#12394;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-debug</strong></span></span></dt><dd><p>&#12487;&#12451;&#12486;&#12463;&#12479;&#23455;&#34892;&#12362;&#12424;&#12403;&#12463;&#12521;&#12473;&#20998;&#26512;&#12398;&#12488;&#12524;&#12540;&#12473;&#24773;&#22577;&#12364;&#27161;&#28310;&#20986;&#21147;&#12395;&#20986;&#21147;&#12373;&#12428;&#12414;&#12377;&#12290;&#20998;&#26512;&#12364;&#20104;&#26399;&#12379;&#12378;&#22833;&#25943;&#12375;&#12383;&#38555;&#12398;&#12289;&#12488;&#12521;&#12502;&#12523;&#12471;&#12517;&#12540;&#12486;&#12451;&#12531;&#12464;&#12395;&#26377;&#29992;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-property</strong></span> <em class="replaceable"><code>name=value</code></em></span></dt><dd><p>&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#20351;&#29992;&#12375;&#12390;&#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12434;&#35373;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290; <span class="application">FindBugs</span> &#12399;&#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;&#12434;&#20351;&#29992;&#12375;&#12390;&#20998;&#26512;&#29305;&#24615;&#12398;&#35373;&#23450;&#12434;&#34892;&#12356;&#12414;&#12377;&#12290;<a class="xref" href="analysisprops.html" title="&#31532;9&#31456; &#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;">9&#31456;<i>&#20998;&#26512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12540;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#35079;&#25968;&#25351;&#23450;&#12375;&#12390;&#12289;&#35079;&#25968;&#12398;&#12471;&#12473;&#12486;&#12512;&#12503;&#12525;&#12497;&#12486;&#12451;&#12434;&#35373;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12391;&#12377;&#12290;&#27880;:  Windows &#12398;&#22810;&#12367;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12391;&#12399;&#12289; <em class="replaceable"><code>name=value</code></em> &#25991;&#23383;&#21015;&#12434;&#24341;&#29992;&#31526;&#12391;&#22258;&#12416;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></dd></dl></div></div></div></div><div class="sect1" title="3. &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="commandLineOptions"></a>3. &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</h2></div></div></div><p>&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;&#12399;&#12289; <span class="application">FindBugs</span> &#12364;&#12469;&#12509;&#12540;&#12488;&#12377;&#12427;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;&#12395;&#12388;&#12356;&#12390;&#35500;&#26126;&#12375;&#12414;&#12377;&#12290;&#12371;&#12371;&#12391;&#31034;&#12377;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289; <span class="application">FindBugs</span> &#30452;&#25509;&#36215;&#21205;&#12289;&#12414;&#12383;&#12399;&#12289;&#12521;&#12483;&#12503;&#12375;&#12390;&#12356;&#12427;&#12473;&#12463;&#12522;&#12503;&#12488;&#12395;&#12424;&#12427;&#36215;&#21205;&#12391;&#20351;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="sect2" title="3.1. &#20849;&#36890;&#12398;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h3 class="title"><a name="d0e770"></a>3.1. &#20849;&#36890;&#12398;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12458;&#12503;&#12471;&#12519;&#12531;</h3></div></div></div><p>&#12371;&#12371;&#12391;&#31034;&#12377;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289; GUI &#12362;&#12424;&#12403; &#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12398;&#20001;&#26041;&#12391;&#20351;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>-effort:min</strong></span></span></dt><dd><p>&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#25351;&#23450;&#12377;&#12427;&#12392;&#12289;&#31934;&#24230;&#12434;&#19978;&#12370;&#12427;&#12383;&#12417;&#12395;&#22823;&#37327;&#12398;&#12513;&#12514;&#12522;&#12540;&#12434;&#28040;&#36027;&#12377;&#12427;&#20998;&#26512;&#12364;&#28961;&#21177;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;<span class="application">FindBugs</span> &#12398;&#23455;&#34892;&#26178;&#12395;&#12513;&#12514;&#12522;&#12540;&#19981;&#36275;&#12395;&#12394;&#12387;&#12383;&#12426;&#12289;&#20998;&#26512;&#12434;&#23436;&#20102;&#12377;&#12427;&#12414;&#12391;&#12395;&#30064;&#24120;&#12395;&#38263;&#12356;&#26178;&#38291;&#12364;&#12363;&#12363;&#12427;&#22580;&#21512;&#12395;&#35430;&#12375;&#12390;&#12415;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-effort:max</strong></span></span></dt><dd><p>&#31934;&#24230;&#12364;&#39640;&#12367;&#12289;&#12424;&#12426;&#22810;&#12367;&#12398;&#12496;&#12464;&#12434;&#26908;&#20986;&#12377;&#12427;&#20998;&#26512;&#12434;&#26377;&#21177;&#12395;&#12375;&#12414;&#12377;&#12290;&#12383;&#12384;&#12375;&#12289;&#22810;&#12367;&#12398;&#12513;&#12514;&#12522;&#12540;&#23481;&#37327;&#12434;&#24517;&#35201;&#12392;&#12375;&#12289;&#12414;&#12383;&#12289;&#23436;&#20102;&#12414;&#12391;&#12398;&#26178;&#38291;&#12364;&#22810;&#12367;&#12363;&#12363;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-project</strong></span> <em class="replaceable"><code>project</code></em></span></dt><dd><p>&#20998;&#26512;&#12377;&#12427;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#25351;&#23450;&#12377;&#12427;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12501;&#12449;&#12452;&#12523;&#12395;&#12399;&#12289; GUI &#12434;&#20351;&#12387;&#12390;&#20316;&#25104;&#12375;&#12383;&#12418;&#12398;&#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12501;&#12449;&#12452;&#12523;&#12398;&#25313;&#24373;&#23376;&#12399;&#12289;&#19968;&#33324;&#30340;&#12395;&#12399; <code class="filename">.fb</code> &#12414;&#12383;&#12399; <code class="filename">.fbp</code> &#12391;&#12377;&#12290;</p></dd></dl></div></div><div class="sect2" title="3.2. GUI &#12458;&#12503;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h3 class="title"><a name="d0e810"></a>3.2. GUI &#12458;&#12503;&#12471;&#12519;&#12531;</h3></div></div></div><p>&#12371;&#12371;&#12391;&#31034;&#12377;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289;&#12464;&#12521;&#12501;&#12451;&#12459;&#12523;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12391;&#12398;&#12415;&#20351;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>-look:</strong></span><em class="replaceable"><code>plastic|gtk|native</code></em></span></dt><dd><p>Swing &#12398;&#12523;&#12483;&#12463;&#12539;&#12450;&#12531;&#12489;&#12539;&#12501;&#12451;&#12540;&#12523;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;</p></dd></dl></div><p>
+</p></div><div class="sect2" title="3.3. &#12486;&#12461;&#12473;&#12488;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12458;&#12503;&#12471;&#12519;&#12531;"><div class="titlepage"><div><div><h3 class="title"><a name="d0e826"></a>3.3. &#12486;&#12461;&#12473;&#12488;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12458;&#12503;&#12471;&#12519;&#12531;</h3></div></div></div><p>&#12371;&#12371;&#12391;&#31034;&#12377;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289;&#12486;&#12461;&#12473;&#12488;&#12518;&#12540;&#12470;&#12540;&#12452;&#12531;&#12479;&#12501;&#12455;&#12540;&#12473;&#12391;&#12398;&#12415;&#20351;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>-sortByClass</strong></span></span></dt><dd><p>&#22577;&#21578;&#12373;&#12428;&#12427;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12434;&#12463;&#12521;&#12473;&#21517;&#12391;&#12477;&#12540;&#12488;&#12375;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-include</strong></span> <em class="replaceable"><code>filterFile.xml</code></em></span></dt><dd><p><em class="replaceable"><code>filterFile.xml</code></em> &#12391;&#25351;&#23450;&#12375;&#12383;&#12501;&#12451;&#12523;&#12479;&#12540;&#12395;&#19968;&#33268;&#12375;&#12383;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12398;&#12415;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;<a class="xref" href="filter.html" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;">8&#31456;<i>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-exclude</strong></span> <em class="replaceable"><code>filterFile.xml</code></em></span></dt><dd><p><em class="replaceable"><code>filterFile.xml</code></em> &#12391;&#25351;&#23450;&#12375;&#12383;&#12501;&#12451;&#12523;&#12479;&#12540;&#12395;&#19968;&#33268;&#12375;&#12383;&#12496;&#12464;&#26908;&#32034;&#32080;&#26524;&#12399;&#22577;&#21578;&#12373;&#12428;&#12414;&#12379;&#12435;&#12290;<a class="xref" href="filter.html" title="&#31532;8&#31456; &#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;">8&#31456;<i>&#12501;&#12451;&#12523;&#12479;&#12540;&#12501;&#12449;&#12452;&#12523;</i></a> &#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-onlyAnalyze</strong></span> <em class="replaceable"><code>com.foobar.MyClass,com.foobar.mypkg.*</code></em></span></dt><dd><p>&#12467;&#12531;&#12510;&#21306;&#20999;&#12426;&#12391;&#25351;&#23450;&#12375;&#12383;&#12463;&#12521;&#12473;&#12362;&#12424;&#12403;&#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#12415;&#12395;&#38480;&#23450;&#12375;&#12390;&#12289;&#12496;&#12464;&#26908;&#20986;&#12398;&#20998;&#26512;&#12434;&#34892;&#12358;&#12424;&#12358;&#12395;&#12375;&#12414;&#12377;&#12290;&#12501;&#12451;&#12523;&#12479;&#12540;&#12392;&#36949;&#12387;&#12390;&#12289;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#20351;&#12358;&#12392;&#19968;&#33268;&#12375;&#12394;&#12356;&#12463;&#12521;&#12473;&#12362;&#12424;&#12403;&#12497;&#12483;&#12465;&#12540;&#12472;&#12395;&#23550;&#12377;&#12427;&#20998;&#26512;&#12398;&#23455;&#34892;&#12434;&#22238;&#36991;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#22823;&#12365;&#12394;&#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12395;&#12362;&#12356;&#12390;&#12289;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#27963;&#29992;&#12377;&#12427;&#12392;&#20998;&#26512;&#12395;&#12363;&#12363;&#12427;&#26178;&#38291;&#12434;&#22823;&#12365;&#12367;&#21066;&#28187;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;(&#12375;&#12363;&#12375;&#12394;&#12364;&#12425;&#12289;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12398;&#20840;&#20307;&#12391;&#23455;&#34892;&#12375;&#12390;&#12356;&#12394;&#12356;&#12383;&#12417;&#12395;&#19981;&#27491;&#30906;&#12394;&#32080;&#26524;&#12434;&#20986;&#12375;&#12390;&#12375;&#12414;&#12358;&#12487;&#12451;&#12486;&#12463;&#12479;&#12364;&#12354;&#12427;&#21487;&#33021;&#24615;&#12418;&#12354;&#12426;&#12414;&#12377;&#12290;) &#12463;&#12521;&#12473;&#12399;&#12497;&#12483;&#12465;&#12540;&#12472;&#12418;&#21547;&#12435;&#12384;&#23436;&#20840;&#12394;&#21517;&#21069;&#12434;&#25351;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;&#12497;&#12483;&#12465;&#12540;&#12472;&#12399;&#12289; Java &#12398; <code class="literal">import</code> &#25991;&#12391;&#12497;&#12483;&#12465;&#12540;&#12472;&#19979;&#12398;&#12377;&#12409;&#12390;&#12398;&#12463;&#12521;&#12473;&#12434;&#12452;&#12531;&#12509;&#12540;&#12488;&#12377;&#12427;&#12392;&#12365;&#12392;&#21516;&#12376;&#26041;&#27861;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290; (&#12377;&#12394;&#12431;&#12385;&#12289;&#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#23436;&#20840;&#12394;&#21517;&#21069;&#12395; <code class="literal">.*</code> &#12434;&#20184;&#12369;&#21152;&#12360;&#12383;&#24418;&#12391;&#12377;&#12290;)<code class="literal">.*</code> &#12398;&#20195;&#12431;&#12426;&#12395; <code class="literal">.-</code> &#12434;&#25351;&#23450;&#12377;&#12427;&#12392;&#12289;&#12469;&#12502;&#12497;&#12483;&#12465;&#12540;&#12472;&#12418;&#21547;&#12417;&#12390;&#12377;&#12409;&#12390;&#12364;&#20998;&#26512;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-low</strong></span></span></dt><dd><p>&#12377;&#12409;&#12390;&#12398;&#12496;&#12464;&#12364;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-medium</strong></span></span></dt><dd><p>&#20778;&#20808;&#24230; (&#20013;) &#12362;&#12424;&#12403;&#20778;&#20808;&#24230; (&#39640;) &#12398;&#12496;&#12464;&#12364;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;&#12371;&#12428;&#12399;&#12289;&#12487;&#12501;&#12457;&#12523;&#12488;&#12398;&#35373;&#23450;&#20516;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-high</strong></span></span></dt><dd><p>&#20778;&#20808;&#24230; (&#39640;) &#12398;&#12496;&#12464;&#12398;&#12415;&#12364;&#22577;&#21578;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-relaxed</strong></span></span></dt><dd><p>&#25163;&#25244;&#12365;&#22577;&#21578;&#12514;&#12540;&#12489;&#12391;&#12377;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#25351;&#23450;&#12377;&#12427;&#12392;&#12289;&#22810;&#12367;&#12398;&#12487;&#12451;&#12486;&#12463;&#12479;&#12395;&#12362;&#12356;&#12390; &#35492;&#26908;&#20986;&#12434;&#22238;&#36991;&#12377;&#12427;&#12383;&#12417;&#12398;&#12498;&#12517;&#12540;&#12522;&#12473;&#12486;&#12451;&#12483;&#12463;&#27231;&#33021;&#12364;&#25233;&#27490;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-xml</strong></span></span></dt><dd><p>&#12496;&#12464;&#22577;&#21578;&#12364; XML &#12391;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;&#20316;&#25104;&#12373;&#12428;&#12383; XML &#12487;&#12540;&#12479;&#12399; &#12289;&#24460;&#12391; GUI &#12391;&#35211;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399; <span class="command"><strong>-xml:withMessages</strong></span> &#12392;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12418;&#12391;&#12365;&#12414;&#12377;&#12290;&#12371;&#12358;&#12377;&#12427;&#12392; &#20986;&#21147; XML &#12395;&#12399; &#21508;&#12496;&#12464;&#12395;&#38306;&#12375;&#12390;&#20154;&#38291;&#12395;&#35501;&#12416;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#12513;&#12483;&#12475;&#12540;&#12472;&#12364;&#21547;&#12414;&#12428;&#12427;&#12424;&#12358;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12391;&#20316;&#25104;&#12373;&#12428;&#12383; XML &#12501;&#12449;&#12452;&#12523;&#12399; &#22577;&#21578;&#26360;&#12395;&#22793;&#25563;&#12377;&#12427;&#12398;&#12364;&#31777;&#21336;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-html</strong></span></span></dt><dd><p>HTML &#20986;&#21147;&#12364;&#29983;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#12399; <span class="application">FindBugs</span> &#12399; <code class="filename">default.xsl</code> <a class="ulink" href="http://www.w3.org/TR/xslt" target="_top">XSLT</a> &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#20351;&#29992;&#12375;&#12390; HTML &#20986;&#21147;&#12434;&#29983;&#25104;&#12375;&#12414;&#12377;: &#12371;&#12398;&#12501;&#12449;&#12452;&#12523;&#12399;&#12289; <code class="filename">findbugs.jar</code> &#12398;&#20013;&#12289;&#12414;&#12383;&#12399;&#12289; <span class="application">FindBugs</span> &#12398;&#12477;&#12540;&#12473;&#37197;&#24067;&#29289;&#12418;&#12375;&#12367;&#12399;&#12496;&#12452;&#12490;&#12522;&#37197;&#24067;&#29289;&#12398;&#20013;&#12395;&#12354;&#12426;&#12414;&#12377;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12395;&#12399;&#12289;&#27425;&#12398;&#12424;&#12358;&#12394;&#12496;&#12522;&#12456;&#12540;&#12471;&#12519;&#12531;&#12418;&#23384;&#22312;&#12375;&#12414;&#12377;&#12290;&#12377;&#12394;&#12431;&#12385;&#12289; <span class="command"><strong>-html:plain.xsl</strong></span> &#12289; <span class="command"><strong>-html:fancy.xsl</strong></span> &#12362;&#12424;&#12403; <span class="command"><strong>-html:fancy-hist.xsl</strong></span> &#12391;&#12377;&#12290;<code class="filename">plain.xsl</code> &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12399; Javascript &#12420; DOM &#12434;&#21033;&#29992;&#12375;&#12414;&#12379;&#12435;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;&#21476;&#12356;Web &#12502;&#12521;&#12454;&#12470;&#20351;&#29992;&#26178;&#12420;&#21360;&#21047;&#26178;&#12395;&#12418;&#27604;&#36611;&#30340;&#12358;&#12414;&#12367;&#34920;&#31034;&#12373;&#12428;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;<code class="filename">fancy.xsl</code> &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12399; DOM &#12392; Javascript &#12434;&#21033;&#29992;&#12375;&#12390;&#12490;&#12499;&#12466;&#12540;&#12471;&#12519;&#12531;&#12434;&#34892;&#12356;&#12414;&#12377;&#12290;&#12414;&#12383;&#12289;&#12499;&#12472;&#12517;&#12450;&#12523;&#34920;&#31034;&#12395; CSS &#12434;&#20351;&#29992;&#12375;&#12414;&#12377;&#12290;<span class="command"><strong>fancy-hist.xsl</strong></span> &#12399; <span class="command"><strong>fancy.xsl</strong></span> &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#26356;&#12395;&#36914;&#21270;&#12373;&#12379;&#12383;&#12418;&#12398;&#12391;&#12377;&#12290;DOM &#12420; Javascript &#12434;&#12405;&#12435;&#12384;&#12435;&#12395;&#39366;&#20351;&#12375;&#12390;&#12289;&#12496;&#12464;&#12398;&#19968;&#35239;&#12434;&#21205;&#30340;&#12395;&#12501;&#12451;&#12523;&#12479;&#12522;&#12531;&#12464;&#12375;&#12414;&#12377;&#12290;</p><p>&#12518;&#12540;&#12470;&#12540;&#33258;&#36523;&#12398; XSLT &#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12434;&#29992;&#12356;&#12390; HTML &#12408;&#12398;&#22793;&#25563;&#12434;&#34892;&#12356;&#12383;&#12356;&#22580;&#21512;&#12399;&#12289; <span class="command"><strong>-html:<em class="replaceable"><code>myStylesheet.xsl</code></em></strong></span> &#12398;&#12424;&#12358;&#12395;&#25351;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12371;&#12371;&#12391;&#12289; <em class="replaceable"><code>myStylesheet.xsl</code></em> &#12399;&#12518;&#12540;&#12470;&#12540;&#12364;&#20351;&#29992;&#12375;&#12383;&#12356;&#12473;&#12479;&#12452;&#12523;&#12471;&#12540;&#12488;&#12398;&#12501;&#12449;&#12452;&#12523;&#21517;&#12391;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-emacs</strong></span></span></dt><dd><p>&#12496;&#12464;&#22577;&#21578;&#12364; Emacs &#24418;&#24335;&#12391;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-xdocs</strong></span></span></dt><dd><p>&#12496;&#12464;&#22577;&#21578;&#12364; xdoc XML &#24418;&#24335;&#12391;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;Apache Maven&#12391;&#20351;&#29992;&#12391;&#12365;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-output</strong></span> <em class="replaceable"><code>&#12501;&#12449;&#12452;&#12523;&#21517;</code></em></span></dt><dd><p>&#25351;&#23450;&#12375;&#12383;&#12501;&#12449;&#12452;&#12523;&#12395;&#20986;&#21147;&#32080;&#26524;&#12364;&#20316;&#25104;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-outputFile</strong></span> <em class="replaceable"><code>&#12501;&#12449;&#12452;&#12523;&#21517;</code></em></span></dt><dd><p>&#12371;&#12398;&#24341;&#25968;&#12399;&#12289;&#20351;&#29992;&#12377;&#12409;&#12365;&#12391;&#12399;&#12354;&#12426;&#12414;&#12379;&#12435;&#12290;&#20195;&#12431;&#12426;&#12395;&#12289; <span class="command"><strong>-output</strong></span> &#12434;&#20351;&#29992;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-nested</strong></span><em class="replaceable"><code>[:true|false]</code></em></span></dt><dd><p>&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12289;&#12501;&#12449;&#12452;&#12523;&#12420;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12398;&#20013;&#12391;&#20837;&#12428;&#23376;&#12395;&#12394;&#12387;&#12383; jar &#12362;&#12424;&#12403; zip &#12501;&#12449;&#12452;&#12523;&#12434;&#20998;&#26512;&#12377;&#12427;&#12363;&#12393;&#12358;&#12363;&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;&#12290;&#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#12399;&#12289;&#20837;&#12428;&#23376;&#12395;&#12394;&#12387;&#12383; jar &#12362;&#12424;&#12403; zip &#12501;&#12449;&#12452;&#12523;&#12418;&#20998;&#26512;&#12375;&#12414;&#12377;&#12290;&#20837;&#12428;&#23376;&#12395;&#12394;&#12387;&#12383; jar &#12362;&#12424;&#12403; zip &#12501;&#12449;&#12452;&#12523;&#12398;&#20998;&#26512;&#12377;&#12427;&#12434;&#28961;&#21177;&#12395;&#12377;&#12427;&#22580;&#21512;&#12399;&#12289; <span class="command"><strong>-nested:false</strong></span> &#12434;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#24341;&#25968;&#12395;&#36861;&#21152;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-auxclasspath</strong></span> <em class="replaceable"><code>&#12463;&#12521;&#12473;&#12497;&#12473;</code></em></span></dt><dd><p>&#20998;&#26512;&#26178;&#12395;&#20351;&#29992;&#12377;&#12427;&#35036;&#21161;&#12463;&#12521;&#12473;&#12497;&#12473;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;&#20998;&#26512;&#12377;&#12427;&#12503;&#12525;&#12464;&#12521;&#12512;&#12391;&#20351;&#29992;&#12377;&#12427;jar&#12501;&#12449;&#12452;&#12523;&#12420;&#12463;&#12521;&#12473;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12540;&#12434;&#12377;&#12409;&#12390;&#25351;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#35036;&#21161;&#12463;&#12521;&#12473;&#12497;&#12473;&#12395;&#25351;&#23450;&#12375;&#12383;&#12463;&#12521;&#12473;&#12399;&#20998;&#26512;&#12398;&#23550;&#35937;&#12395;&#12399;&#12394;&#12426;&#12414;&#12379;&#12435;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-auxclasspathFromInput</strong></span> </span></dt><dd><p>&#20998;&#26512;&#26178;&#12395;&#20351;&#29992;&#12377;&#12427;&#35036;&#21161;&#12463;&#12521;&#12473;&#12497;&#12473;&#12434;&#27161;&#28310;&#20837;&#21147;&#12363;&#12425;&#35501;&#12415;&#36796;&#12415;&#12414;&#12377;&#12290;&#27161;&#28310;&#20837;&#21147;&#12398;&#21508;&#34892;&#12364;&#20998;&#26512;&#26178;&#12395;&#20351;&#29992;&#12377;&#12427;&#35036;&#21161;&#12463;&#12521;&#12473;&#12497;&#12473;&#12395;&#36861;&#21152;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-auxclasspathFromFile</strong></span> <em class="replaceable"><code>&#12501;&#12449;&#12452;&#12523;&#12497;&#12473;</code></em></span></dt><dd><p>&#20998;&#26512;&#26178;&#12395;&#20351;&#29992;&#12377;&#12427;&#35036;&#21161;&#12463;&#12521;&#12473;&#12497;&#12473;&#12434;&#12501;&#12449;&#12452;&#12523;&#12363;&#12425;&#35501;&#12415;&#36796;&#12415;&#12414;&#12377;&#12290;&#12501;&#12449;&#12452;&#12523;&#12398;&#21508;&#34892;&#12364;&#20998;&#26512;&#26178;&#12395;&#20351;&#29992;&#12377;&#12427;&#35036;&#21161;&#12463;&#12521;&#12473;&#12497;&#12473;&#12395;&#36861;&#21152;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-analyzeFromFile</strong></span> <em class="replaceable"><code>&#12501;&#12449;&#12452;&#12523;&#12497;&#12473;</code></em></span></dt><dd><p>&#20998;&#26512;&#23550;&#35937;&#12501;&#12449;&#12452;&#12523;&#12434;&#12501;&#12449;&#12452;&#12523;&#12363;&#12425;&#35501;&#12415;&#36796;&#12415;&#12414;&#12377;&#12290;&#12501;&#12449;&#12452;&#12523;&#12398;&#21508;&#34892;&#12364;&#20998;&#26512;&#23550;&#35937;&#12463;&#12521;&#12473;&#12497;&#12473;&#12395;&#36861;&#21152;&#12373;&#12428;&#12414;&#12377;&#12290;</p></dd><dt><span class="term"><span class="command"><strong>-userPrefs</strong></span> <em class="replaceable"><code>edu.umd.cs.findbugs.core.prefs</code></em></span></dt><dd><p>&#12518;&#12540;&#12470;&#12540;&#35373;&#23450;&#12501;&#12449;&#12452;&#12523;&#12398;&#12497;&#12473;&#12434;&#35373;&#23450;&#12375;&#12414;&#12377;&#12290;&#12518;&#12540;&#12470;&#12540;&#35373;&#23450;&#12501;&#12449;&#12452;&#12523;&#12398;&#20869;&#23481;&#12391;&#12289;&#20182;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12398;&#19968;&#37096;&#12434;&#19978;&#26360;&#12365;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290; 
+    <code class="literal">userPrefs</code> &#12434;&#19968;&#30058;&#30446;&#12398;&#24341;&#25968;&#12395;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#24460;&#32154;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12398;&#26041;&#12364;&#12518;&#12540;&#12470;&#12540;&#35373;&#23450;&#12501;&#12449;&#12452;&#12523;&#12398;&#20869;&#23481;&#12395;&#20778;&#20808;&#12375;&#12414;&#12377;&#12290;
+    <code class="literal">userPrefs</code> &#12434;&#26368;&#24460;&#12398;&#24341;&#25968;&#12395;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#12399;&#12289;&#12518;&#12540;&#12470;&#12540;&#35373;&#23450;&#12501;&#12449;&#12452;&#12523;&#12398;&#20869;&#23481;&#12398;&#26041;&#12364;&#21069;&#12395;&#25351;&#23450;&#12375;&#12383;&#12458;&#12503;&#12471;&#12519;&#12531;&#12395;&#20778;&#20808;&#12375;&#12414;&#12377;&#12290;
+    &#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#35373;&#12369;&#12383;&#32972;&#26223;&#12539;&#29702;&#30001;&#12399;&#12289; Eclipse &#12503;&#12525;&#12472;&#12455;&#12463;&#12488;&#12398; FindBugs &#12398;&#35373;&#23450;&#12434;&#12467;&#12510;&#12531;&#12489;&#12521;&#12452;&#12531;&#23455;&#34892;&#12391;&#20877;&#21033;&#29992;&#12377;&#12427;&#12383;&#12417;&#12391;&#12377;&#12290;</p></dd></dl></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="building.html">&#25147;&#12427;</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="gui.html">&#27425;&#12408;</a></td></tr><tr><td width="40%" align="left" valign="top">&#31532;3&#31456; <span class="application">FindBugs</span>&#8482; &#12398;&#12477;&#12540;&#12523;&#12363;&#12425;&#12398;&#12499;&#12523;&#12489;&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">&#12507;&#12540;&#12512;</a></td><td width="40%" align="right" valign="top">&nbsp;&#31532;5&#31456; <span class="application">FindBugs</span> GUI &#12398;&#20351;&#29992;&#26041;&#27861;</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/links.html b/doc/links.html
index 87884b8..25af8af 100644
--- a/doc/links.html
+++ b/doc/links.html
@@ -16,18 +16,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -40,15 +42,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
@@ -64,7 +66,10 @@
 <ul>
 <li> <a href="http://fb-contrib.sourceforge.net/">fb-contrib</a>: additional bug detectors for use with
      FindBugs. The lead FindBugs team does not vouch for the relevance, accuracy or wisdom of the warnings
-     generated by any third-party plugin. 
+     generated by any third-party plugin.
+<li> <a href="http://h3xstream.github.io/find-sec-bugs/">Find Security Bugs</a>: additional bug detectors for use with
+     FindBugs. The lead FindBugs team does not vouch for the relevance, accuracy or wisdom of the warnings
+     generated by any third-party plugin.
 <li> <a href="http://www.tobject.de/development/findbugs.html">FindBugs Eclipse plugin</a>.&nbsp;
      This is now included as part of FindBugs.
 <!--<li> <a href="http://maven-plugins.sourceforge.net/maven-findbugs-plugin/index.html">Maven FindBugs plugin</a>.&nbsp;-->
diff --git a/doc/mailingLists.html b/doc/mailingLists.html
index 4c619c9..8bc5e24 100644
--- a/doc/mailingLists.html
+++ b/doc/mailingLists.html
@@ -16,18 +16,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -40,15 +42,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/manual.xml b/doc/manual.xml
index e36db9d..57914ce 100644
--- a/doc/manual.xml
+++ b/doc/manual.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-                    "file:../etc/docbook/docbookx.dtd" [
+                    "../../etc/docbook/docbookx.dtd" [
 <!ENTITY FindBugs "<application>FindBugs</application>">
 <!ENTITY Ant "<application>Ant</application>">
 <!ENTITY Saxon "<application>Saxon</application>">
@@ -44,9 +44,9 @@
 </para>
 </legalnotice>
 
-<edition>2.0.3</edition>
+<edition>3.0.0</edition>
 
-<pubdate>17:16:15 EST, 22 November, 2013</pubdate>
+<pubdate>20:25:27 CDT, 06 July, 2014</pubdate>
 
 </bookinfo>
 
@@ -62,7 +62,7 @@
 <para> &FindBugs;&trade; is a program to find bugs in Java programs.  It looks for instances
 of "bug patterns" --- code instances that are likely to be errors.</para>
 
-<para> This document describes version 2.0.3 of &FindBugs;.We
+<para> This document describes version 3.0.0 of &FindBugs;.We
 are very interested in getting your feedback on &FindBugs;. Please visit
 the <ulink url="http://findbugs.sourceforge.net">&FindBugs; web page</ulink> for
 the latest information on &FindBugs;, contact information, and support resources such
@@ -100,31 +100,31 @@
 <para>
 The easiest way to install &FindBugs; is to download a binary distribution.
 Binary distributions are available in
-<ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download">gzipped tar format</ulink> and
-<ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.zip?download">zip format</ulink>.
+<ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.tar.gz?download">gzipped tar format</ulink> and
+<ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.zip?download">zip format</ulink>.
 Once you have downloaded a binary distribution, extract it into a directory of your choice.
 </para>
 
 <para>
 Extracting a gzipped tar format distribution:
 <screen>
-<prompt>$ </prompt><command>gunzip -c findbugs-2.0.3.tar.gz | tar xvf -</command>
+<prompt>$ </prompt><command>gunzip -c findbugs-3.0.0.tar.gz | tar xvf -</command>
 </screen>
 </para>
 
 <para>
 Extracting a zip format distribution:
 <screen>
-<prompt>C:\Software></prompt><command>unzip findbugs-2.0.3.zip</command>
+<prompt>C:\Software></prompt><command>unzip findbugs-3.0.0.zip</command>
 </screen>
 </para>
 
 <para>
 Usually, extracting a binary distribution will create a directory ending in
-<filename class="directory">findbugs-2.0.3</filename>. For example, if you extracted
+<filename class="directory">findbugs-3.0.0</filename>. For example, if you extracted
 the binary distribution from the <filename class="directory">C:\Software</filename>
 directory, then the &FindBugs; software will be extracted into the directory
-<filename class="directory">C:\Software\findbugs-2.0.3</filename>.
+<filename class="directory">C:\Software\findbugs-3.0.0</filename>.
 This directory is the &FindBugs; home directory.  We'll refer to it as
 &FBHome; (or &FBHomeWin; for Windows) throughout this manual.
 </para>
@@ -155,7 +155,7 @@
 <itemizedlist>
   <listitem>
     <para>
-      The <ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3-source.zip?download"
+      The <ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0-source.zip?download"
       >&FindBugs; source distribution</ulink>
     </para>
   </listitem>
@@ -218,7 +218,7 @@
 a working directory.  A typical command to do this is:
 
 <screen>
-<prompt>$ </prompt><command>unzip findbugs-2.0.3-source.zip</command>
+<prompt>$ </prompt><command>unzip findbugs-3.0.0-source.zip</command>
 </screen>
 
 </para>
@@ -939,6 +939,36 @@
   </varlistentry>
 
   <varlistentry>
+  <term><command>-auxclasspathFromInput</command> </term>
+  <listitem>
+    <para>
+    Read the auxiliary classpath for analysis from standard input, each line adds new
+    entry to the auxiliary classpath for analysis.
+    </para>
+  </listitem>
+  </varlistentry>
+
+  <varlistentry>
+  <term><command>-auxclasspathFromFile</command> <replaceable>filepath</replaceable></term>
+  <listitem>
+    <para>
+    Read the auxiliary classpath for analysis from file, each line adds new
+    entry to the auxiliary classpath for analysis.
+    </para>
+  </listitem>
+  </varlistentry>
+
+  <varlistentry>
+  <term><command>-analyzeFromFile</command> <replaceable>filepath</replaceable></term>
+  <listitem>
+    <para>
+    Read the files to analyze from file, each line adds new
+    entry to the classpath for analysis.
+    </para>
+  </listitem>
+  </varlistentry>
+
+  <varlistentry>
   <term><command>-userPrefs</command> <replaceable>edu.umd.cs.findbugs.core.prefs</replaceable></term>
   <listitem>
     <para>
@@ -1416,13 +1446,24 @@
     <term><literal>omitVisitors</literal></term>
     <listitem>
        <para>
-       Optional attribute.  It is like the <literal>visitors</literal> attribute,
+       Optional attribute. It specifies a comma-separated list of bug detectors.
+       It is like the <literal>visitors</literal> attribute,
        except it specifies detectors which will <emphasis>not</emphasis> be run.
        </para>
     </listitem>
   </varlistentry>
 
   <varlistentry>
+    <term><literal>chooseVisitors</literal></term>
+    <listitem>
+       <para>
+       Optional attribute. It specifies a comma-separated list of bug detectors
+       prefixed with "+" or "-" to selectively enable/disable them.
+       </para>
+    </listitem>
+  </varlistentry>
+
+  <varlistentry>
     <term><literal>excludeFilter</literal></term>
     <listitem>
        <para>
@@ -1539,6 +1580,17 @@
       </listitem>
   </varlistentry>
 
+  <varlistentry>
+      <term><literal>nested</literal></term>
+      <listitem>
+          <para>
+              Optional attribute which enables or disables scanning of nested jar and zip files found in
+                the list of files and directories to be analyzed.
+                By default, scanning of nested jar/zip files is enabled.
+          </para>
+      </listitem>
+  </varlistentry>
+
 </variablelist>
 
 
@@ -1565,7 +1617,7 @@
 The FindBugs Eclipse plugin allows &FindBugs; to be used within
 the <ulink url="http://www.eclipse.org/">Eclipse</ulink> IDE.
 The FindBugs Eclipse plugin was generously contributed by Peter Friese.
-Phil Crosby and Andrei Loskutov contributed major improvements
+Phil Crosby and Andrey Loskutov contributed major improvements
 to the plugin.
 </para>
 
@@ -1617,10 +1669,10 @@
 
 <para>You can also manually
 download the plugin from the following link:
-<ulink url="http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?download"
->http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?download</ulink>.
+<ulink url="http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706.zip?download"
+>http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706.zip?download</ulink>.
 Extract it in Eclipse's "plugins" subdirectory.
-(So &lt;eclipse_install_dir&gt;/plugins/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122/findbugs.png
+(So &lt;eclipse_install_dir&gt;/plugins/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706/findbugs.png
 should be the path to the &FindBugs; logo.)
 
 </para>
@@ -1694,7 +1746,7 @@
 <title>Extending the Eclipse Plugin (since 2.0.0)</title>
 <para>
 Eclipse plugin supports contribution of custom &FindBugs; detectors (see also
-<ulink url="http://code.google.com/p/findbugs/source/browse/trunk/findbugs/src/doc/AddingDetectors.txt">AddingDetectors.txt</ulink>
+<ulink url="http://code.google.com/p/findbugs/source/browse/findbugs/src/doc/AddingDetectors.txt">AddingDetectors.txt</ulink>
 for more information). There are two ways to contribute custom plugins to the Eclipse:
 </para>
 <itemizedlist>
@@ -1705,7 +1757,7 @@
         <guimenu>Window</guimenu>
         <guimenuitem>Preferences</guimenuitem>
         <guimenuitem>Java</guimenuitem>
-        <guimenuitem>&FindBugs;</guimenuitem>
+        <guimenuitem>FindBugs</guimenuitem>
         <guimenuitem>Misc. Settings</guimenuitem>
         <guimenuitem>Custom Detectors</guimenuitem>
     </menuchoice>.
@@ -1727,7 +1779,7 @@
 
     <para>
     Please check the documentation of the
-    <ulink url="http://code.google.com/p/findbugs/source/browse/trunk/eclipsePlugin/schema/detectorPlugins.exsd">
+    <ulink url="http://code.google.com/p/findbugs/source/browse/eclipsePlugin/schema/detectorPlugins.exsd">
     findBugsEclipsePlugin/schema/detectorPlugins.exsd</ulink>
     extension point how to update the plugin.xml. Existing &FindBugs; detector plugins can
     be easily "extended" to be full featured &FindBugs; AND Eclipse detector plugins.
@@ -1743,7 +1795,7 @@
     Eclipse plugin. You can do this even for third-party detector packages.
     Another major differentiator is the ability to extend the default FindBugs
     classpath at runtime with required third party libraries (see
-    <ulink url="http://code.google.com/p/findbugs/source/browse/trunk/findbugs/src/doc/AddingDetectors.txt">AddingDetectors.txt</ulink>
+    <ulink url="http://code.google.com/p/findbugs/source/browse/findbugs/src/doc/AddingDetectors.txt">AddingDetectors.txt</ulink>
     for more information).
     </para>
   </listitem>
@@ -1952,6 +2004,17 @@
  </varlistentry>
 
  <varlistentry>
+   <term><literal>&lt;Source&gt;</literal></term>
+    <listitem>
+        <para>
+            This element matches warnings associated with a particular source file. The
+            <literal>name</literal> attribute is used to specify the exact or regex match pattern
+            for the source file name.
+        </para>
+    </listitem>
+ </varlistentry>
+
+ <varlistentry>
    <term><literal>&lt;Method&gt;</literal></term>
 
    <listitem><para>This element specifies a method.  The <literal>name</literal> is used to specify
@@ -1996,8 +2059,8 @@
    <term><literal>&lt;And&gt;</literal></term>
     <listitem><para>
    This element combines <literal>Match</literal> clauses which both must evaluate to true.  I.e., you can put
-   <literal>Bug</literal> and <literal>Priority</literal> elements in an <literal>And</literal> clause in order
-   to match specific bugs with given priority only.
+   <literal>Bug</literal> and <literal>Confidence</literal> elements in an <literal>And</literal> clause in order
+   to match specific bugs with given confidence only.
    </para></listitem>
  </varlistentry>
  <varlistentry>
@@ -2016,8 +2079,9 @@
 <title>Java element name matching</title>
 
 <para>
-If the <literal>name</literal> attribute of <literal>Class</literal>, <literal>Method</literal> or
-<literal>Field</literal> starts with the ~ character the rest of attribute content is interpreted as
+If the <literal>name</literal> attribute of <literal>Class</literal>, <literal>Source</literal>,
+<literal>Method</literal> or <literal>Field</literal> starts with the ~ character
+the rest of attribute content is interpreted as
 a Java regular expression that is matched against the names of the Java element in question.
 </para>
 
@@ -2259,6 +2323,21 @@
 </programlisting>
 </para>
 
+<para>
+  12. Full exclusion filter file to match all classes generated from Groovy source files.
+
+<programlisting>
+<![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<FindBugsFilter>
+<Match>
+    <Source name="~.*\.groovy" />
+</Match>
+</FindBugsFilter>
+]]>
+</programlisting>
+</para>
+
 </sect1>
 
 <sect1>
@@ -2461,7 +2540,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.CheckForNull</command></term>
     <listitem>
-<command>[Target]</command> Field, Method, Parameter
+    <para>
+        <command>[Target]</command> Field, Method, Parameter
+    </para>
     </listitem>
     <listitem>
       <para>
@@ -2474,7 +2555,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.CheckReturnValue</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Method, Constructor
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -2503,7 +2586,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotation</command></term>
     <listitem>
-      <command>[Target]</command> Type, Package
+      <para>
+        <command>[Target]</command> Type, Package
+      </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -2536,7 +2621,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForFields</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Type, Package
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -2565,7 +2652,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForMethods</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Type, Package
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -2594,7 +2683,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForParameters</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Type, Package
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -2623,7 +2714,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.NonNull</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Field, Method, Parameter
+    </para>
     </listitem>
     <listitem>
       <para>
@@ -2636,7 +2729,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.Nullable</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Field, Method, Parameter
+    </para>
     </listitem>
     <listitem>
       <para>
@@ -2646,7 +2741,7 @@
 treat the annotated items as though they had no annotation.
       </para>
       <para>
-In pratice this annotation is useful only for overriding an overarching NonNull
+In practice this annotation is useful only for overriding an overarching NonNull
 annotation.
       </para>
     </listitem>
@@ -2655,7 +2750,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.OverrideMustInvoke</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Method
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -2693,7 +2790,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.SuppressWarnings</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Type, Field, Method, Parameter, Constructor, Package
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -2728,7 +2827,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.UnknownNullness</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Field, Method, Parameter
+    </para>
     </listitem>
     <listitem>
       <para>
@@ -2740,7 +2841,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.UnknownNullness</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Field, Method, Parameter
+    </para>
     </listitem>
     <listitem>
       <para>
@@ -2753,10 +2856,10 @@
 <para>
  &FindBugs; also supports the following annotations:
 <itemizedlist>
-  <listitem>net.jcip.annotations.GuardedBy</listitem>
-  <listitem>net.jcip.annotations.Immutable</listitem>
-  <listitem>net.jcip.annotations.NotThreadSafe</listitem>
-  <listitem>net.jcip.annotations.ThreadSafe</listitem>
+  <listitem><para>net.jcip.annotations.GuardedBy</para></listitem>
+  <listitem><para>net.jcip.annotations.Immutable</para></listitem>
+  <listitem><para>net.jcip.annotations.NotThreadSafe</para></listitem>
+  <listitem><para>net.jcip.annotations.ThreadSafe</para></listitem>
 </itemizedlist>
 </para>
 <para>
@@ -3766,8 +3869,8 @@
 <para>Thomas Klaeger contributed a number of bug fixes and
 bug detector improvements.</para>
 
-<para>Andrei Loskutov made a number of improvements to the
-Eclipse plugin.</para>
+<para>Andrey Loskutov made a number of bug fixes and
+bug detector improvements. He is maintainer of the Eclipse plugin.</para>
 
 <para>Brian Goetz contributed a major refactoring of the
 visitor classes to improve readability and understandability.</para>
diff --git a/doc/manual/acknowledgments.html b/doc/manual/acknowledgments.html
index c2ac454..90ccef8 100644
--- a/doc/manual/acknowledgments.html
+++ b/doc/manual/acknowledgments.html
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Chapter&nbsp;14.&nbsp;Acknowledgments</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="license.html" title="Chapter&nbsp;13.&nbsp;License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;14.&nbsp;Acknowledgments</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;14.&nbsp;Acknowledgments"><div class="titlepage"><div><div><h2 class="title"><a name="acknowledgments"></a>Chapter&nbsp;14.&nbsp;Acknowledgments</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="acknowledgments.html#d0e3629">1. Contributors</a></span></dt><dt><span class="sect1"><a href="acknowledgments.html#d0e3752">2. Software Used</a></span></dt></dl></div><div class="sect1" title="1.&nbsp;Contributors"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3629"></a>1.&nbsp;Contributors</h2></div></div></div><p><span class="application">FindBugs</span> was originally written by Bill Pugh (<code class="email">&lt;<a class="email" href="mailto:pugh@cs.umd.edu">pugh@cs.umd.edu</a>&gt;</code>).
+   <title>Chapter&nbsp;14.&nbsp;Acknowledgments</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="license.html" title="Chapter&nbsp;13.&nbsp;License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;14.&nbsp;Acknowledgments</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="license.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;14.&nbsp;Acknowledgments"><div class="titlepage"><div><div><h2 class="title"><a name="acknowledgments"></a>Chapter&nbsp;14.&nbsp;Acknowledgments</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="acknowledgments.html#d0e3716">1. Contributors</a></span></dt><dt><span class="sect1"><a href="acknowledgments.html#d0e3839">2. Software Used</a></span></dt></dl></div><div class="sect1" title="1.&nbsp;Contributors"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3716"></a>1.&nbsp;Contributors</h2></div></div></div><p><span class="application">FindBugs</span> was originally written by Bill Pugh (<code class="email">&lt;<a class="email" href="mailto:pugh@cs.umd.edu">pugh@cs.umd.edu</a>&gt;</code>).
 David Hovemeyer (<code class="email">&lt;<a class="email" href="mailto:daveho@cs.umd.edu">daveho@cs.umd.edu</a>&gt;</code>) implemented some of the
 detectors, added the Swing GUI, and is a co-maintainer.</p><p>Mike Fagan (<code class="email">&lt;<a class="email" href="mailto:mfagan@tde.com">mfagan@tde.com</a>&gt;</code>) contributed the <span class="application">Ant</span> build script,
 the <span class="application">Ant</span> task, and several enhancements and bug fixes to the GUI.</p><p>Germano Leichsenring contributed Japanese translations of the bug
@@ -13,8 +13,8 @@
 to display the bug details.</p><p>Dave Brosius fixed a number of bugs, added user preferences
 to the Swing GUI, improved several bug detectors, and
 contributed the string concatenation detector.</p><p>Thomas Klaeger contributed a number of bug fixes and
-bug detector improvements.</p><p>Andrei Loskutov made a number of improvements to the
-Eclipse plugin.</p><p>Brian Goetz contributed a major refactoring of the
+bug detector improvements.</p><p>Andrey Loskutov made a number of bug fixes and
+bug detector improvements. He is maintainer of the Eclipse plugin.</p><p>Brian Goetz contributed a major refactoring of the
 visitor classes to improve readability and understandability.</p><p> Pete Angstadt fixed several problems in the Swing GUI.</p><p>Francis Lalonde provided a task resource file for the
 FindBugs Ant task.</p><p>Garvin LeClaire contributed support for output in
 Xdocs format, for use by Maven.</p><p>Holger Stenzhorn contributed improved German translations of items
@@ -49,11 +49,11 @@
 and fixed a bug related to renaming the Eclipse plugin ID.</p><p>Mark McKay contributed an Ant task to launch the findbugs frame.</p><p>Dieter von Holten (dvholten) contributed
 some German improvements to findbugs_de.properties.</p><p>If you have contributed to <span class="application">FindBugs</span>, but aren't mentioned above,
 please send email to <code class="email">&lt;<a class="email" href="mailto:findbugs@cs.umd.edu">findbugs@cs.umd.edu</a>&gt;</code> (and also accept
-our humble apologies).</p></div><div class="sect1" title="2.&nbsp;Software Used"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3752"></a>2.&nbsp;Software Used</h2></div></div></div><p><span class="application">FindBugs</span> uses several open-source software packages, without which its
-development would have been much more difficult.</p><div class="sect2" title="2.1.&nbsp;BCEL"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3759"></a>2.1.&nbsp;BCEL</h3></div></div></div><p><span class="application">FindBugs</span> includes software developed by the Apache Software Foundation
+our humble apologies).</p></div><div class="sect1" title="2.&nbsp;Software Used"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3839"></a>2.&nbsp;Software Used</h2></div></div></div><p><span class="application">FindBugs</span> uses several open-source software packages, without which its
+development would have been much more difficult.</p><div class="sect2" title="2.1.&nbsp;BCEL"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3846"></a>2.1.&nbsp;BCEL</h3></div></div></div><p><span class="application">FindBugs</span> includes software developed by the Apache Software Foundation
 (<a class="ulink" href="http://www.apache.org/" target="_top">http://www.apache.org/</a>).
 Specifically, it uses the <a class="ulink" href="http://jakarta.apache.org/bcel/" target="_top">Byte Code
-Engineering Library</a>.</p></div><div class="sect2" title="2.2.&nbsp;ASM"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3772"></a>2.2.&nbsp;ASM</h3></div></div></div><p><span class="application">FindBugs</span> uses the <a class="ulink" href="http://asm.objectweb.org/" target="_top">ASM</a>
+Engineering Library</a>.</p></div><div class="sect2" title="2.2.&nbsp;ASM"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3859"></a>2.2.&nbsp;ASM</h3></div></div></div><p><span class="application">FindBugs</span> uses the <a class="ulink" href="http://asm.objectweb.org/" target="_top">ASM</a>
 bytecode framework, which is distributed under the following license:</p><div class="blockquote"><blockquote class="blockquote"><p>
 Copyright (c) 2000-2005 INRIA, France Telecom
 All rights reserved.
@@ -84,7 +84,7 @@
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 THE POSSIBILITY OF SUCH DAMAGE.
-</p></blockquote></div></div><div class="sect2" title="2.3.&nbsp;DOM4J"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3799"></a>2.3.&nbsp;DOM4J</h3></div></div></div><p><span class="application">FindBugs</span> uses <a class="ulink" href="http://dom4j.org" target="_top">DOM4J</a>, which is
+</p></blockquote></div></div><div class="sect2" title="2.3.&nbsp;DOM4J"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3886"></a>2.3.&nbsp;DOM4J</h3></div></div></div><p><span class="application">FindBugs</span> uses <a class="ulink" href="http://dom4j.org" target="_top">DOM4J</a>, which is
 distributed under the following license:</p><div class="blockquote"><blockquote class="blockquote"><p>
 Copyright 2001 (C) MetaStuff, Ltd. All Rights Reserved.
 </p><p>
diff --git a/doc/manual/annotations.html b/doc/manual/annotations.html
index a9909f9..c4645db 100644
--- a/doc/manual/annotations.html
+++ b/doc/manual/annotations.html
@@ -5,19 +5,22 @@
 so that FindBugs can issue warnings more appropriately. You need to use
 Java 5 to use annotations, and must place the annotations.jar and jsr305.jar
 files in the classpath while compiling your program.
-</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckForNull</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
-    <p>
+</p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckForNull</strong></span></span></dt><dd><p>
+        <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
+    </p><p>
 The annotated element might be null, and uses of the element should check for null.
 When this annotation is applied to a method it applies to the method return value.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckReturnValue</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Method, Constructor
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.CheckReturnValue</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Method, Constructor
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>priority:</strong></span>The priority of the warning (HIGH, MEDIUM, LOW, IGNORE). Default value:MEDIUM.
             </p><p>
               <span class="command"><strong>explanation:</strong></span>A textual explaination of why the return value should be checked. Default value:"".
             </p></dd></dl></div><p>
 This annotation is used to denote a method whose return value should always be checked after invoking the method.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotation</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotation</strong></span></span></dt><dd><p>
+        <span class="command"><strong>[Target]</strong></span> Type, Package
+      </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>value:</strong></span>Annotation class objects. More than one class can be specified.
             </p><p>
               <span class="command"><strong>priority:</strong></span>Default priority(HIGH, MEDIUM, LOW, IGNORE). Default value:MEDIUM.
@@ -27,42 +30,48 @@
 such as @NonNull, @CheckForNull, or @CheckReturnValue. In particular, you can use
 @DefaultAnnotation(NonNull.class) on a class or package, and then use @Nullable only
 on those parameters, methods or fields that you want to allow to be null.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForFields</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForFields</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Type, Package
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>value:</strong></span>Annotation class objects. More than one class can be specified.
             </p><p>
               <span class="command"><strong>priority:</strong></span>Default priority(HIGH, MEDIUM, LOW, IGNORE). Default value:MEDIUM.
             </p></dd></dl></div><p>
 This is same as the DefaultAnnotation except it only applys to fields.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForMethods</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForMethods</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Type, Package
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>value:</strong></span>Annotation class objects. More than one class can be specified.
             </p><p>
               <span class="command"><strong>priority:</strong></span>Default priority(HIGH, MEDIUM, LOW, IGNORE). Default value:MEDIUM.
             </p></dd></dl></div><p>
 This is same as the DefaultAnnotation except it only applys to methods.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForParameters</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Package
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.DefaultAnnotationForParameters</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Type, Package
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>value:</strong></span>Annotation class objects. More than one class can be specified.
             </p><p>
               <span class="command"><strong>priority:</strong></span>Default priority(HIGH, MEDIUM, LOW, IGNORE). Default value:MEDIUM.
             </p></dd></dl></div><p>
 This is same as the DefaultAnnotation except it only applys to method parameters.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.NonNull</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
-    <p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.NonNull</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
+    </p><p>
 The annotated element must not be null.
 Annotated fields must not be null after construction has completed. Annotated methods must have non-null return values.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.Nullable</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
-    <p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.Nullable</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
+    </p><p>
 The annotated element could be null under some circumstances. In general, this means
 developers will have to read the documentation to determine when a null value is
 acceptable and whether it is neccessary to check for a null value.  FindBugs will
 treat the annotated items as though they had no annotation.
       </p><p>
-In pratice this annotation is useful only for overriding an overarching NonNull
+In practice this annotation is useful only for overriding an overarching NonNull
 annotation.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.OverrideMustInvoke</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Method
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.OverrideMustInvoke</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Method
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>value:</strong></span>Specify when the super invocation should be
               performed (FIRST, ANYTIME, LAST). Default value:ANYTIME.
             </p></dd></dl></div><p>
@@ -73,8 +82,9 @@
 (This anotation is not implmemented in FindBugs as of September 8, 2006).
       </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.PossiblyNull</strong></span></span></dt><dd><p>
 This annotation is deprecated. Use CheckForNull instead.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.SuppressWarnings</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Type, Field, Method, Parameter, Constructor, Package
-    <div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.SuppressWarnings</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Type, Field, Method, Parameter, Constructor, Package
+    </p><div class="variablelist"><dl><dt><span class="term"><span class="command"><strong>[Parameter]</strong></span></span></dt><dd><p>
               <span class="command"><strong>value:</strong></span>The name of the warning. More than one name can be specified.
             </p><p>
               <span class="command"><strong>justification:</strong></span>Reason why the warning should be ignored. Default value:"".
@@ -86,15 +96,17 @@
 warning if an annotation contains an unrecognized warning name. Compiler vendors should
 document the warning names they support in conjunction with this annotation type. They
 are encouraged to cooperate to ensure that the same names work across multiple compilers.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
-    <p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
+    </p><p>
 Used to indicate that the nullness of the target is unknown, or my vary in unknown ways in subclasses.
-      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
-    <p>
+      </p></dd><dt><span class="term"><span class="command"><strong>edu.umd.cs.findbugs.annotations.UnknownNullness</strong></span></span></dt><dd><p>
+      <span class="command"><strong>[Target]</strong></span> Field, Method, Parameter
+    </p><p>
 Used to indicate that the nullness of the target is unknown, or my vary in unknown ways in subclasses.
       </p></dd></dl></div><p>
  <span class="application">FindBugs</span> also supports the following annotations:
-</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">net.jcip.annotations.GuardedBy</li><li class="listitem">net.jcip.annotations.Immutable</li><li class="listitem">net.jcip.annotations.NotThreadSafe</li><li class="listitem">net.jcip.annotations.ThreadSafe</li></ul></div><p>
+</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>net.jcip.annotations.GuardedBy</p></li><li class="listitem"><p>net.jcip.annotations.Immutable</p></li><li class="listitem"><p>net.jcip.annotations.NotThreadSafe</p></li><li class="listitem"><p>net.jcip.annotations.ThreadSafe</p></li></ul></div><p>
 </p><p>
 You can refer the JCIP annotation <a class="ulink" href="http://jcip.net/annotations/doc/index.html" target="_top">
 API documentation</a> at <a class="ulink" href="http://jcip.net/" target="_top">Java Concurrency in Practice</a>.
diff --git a/doc/manual/anttask.html b/doc/manual/anttask.html
index e601e1f..53a058e 100644
--- a/doc/manual/anttask.html
+++ b/doc/manual/anttask.html
@@ -1,20 +1,20 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Chapter&nbsp;6.&nbsp;Using the FindBugs&#8482; Ant task</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="gui.html" title="Chapter&nbsp;5.&nbsp;Using the FindBugs GUI"><link rel="next" href="eclipse.html" title="Chapter&nbsp;7.&nbsp;Using the FindBugs&#8482; Eclipse plugin"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;6.&nbsp;Using the <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> task</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="gui.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="eclipse.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;6.&nbsp;Using the FindBugs&#8482; Ant task"><div class="titlepage"><div><div><h2 class="title"><a name="anttask"></a>Chapter&nbsp;6.&nbsp;Using the <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> task</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="anttask.html#d0e1205">1. Installing the <span class="application">Ant</span> task</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1243">2. Modifying build.xml</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1314">3. Executing the task</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1339">4. Parameters</a></span></dt></dl></div><p>
+   <title>Chapter&nbsp;6.&nbsp;Using the FindBugs&#8482; Ant task</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="gui.html" title="Chapter&nbsp;5.&nbsp;Using the FindBugs GUI"><link rel="next" href="eclipse.html" title="Chapter&nbsp;7.&nbsp;Using the FindBugs&#8482; Eclipse plugin"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;6.&nbsp;Using the <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> task</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="gui.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="eclipse.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;6.&nbsp;Using the FindBugs&#8482; Ant task"><div class="titlepage"><div><div><h2 class="title"><a name="anttask"></a>Chapter&nbsp;6.&nbsp;Using the <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> task</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="anttask.html#d0e1233">1. Installing the <span class="application">Ant</span> task</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1271">2. Modifying build.xml</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1342">3. Executing the task</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1367">4. Parameters</a></span></dt></dl></div><p>
 This chapter describes how to integrate <span class="application">FindBugs</span> into a build script
 for <a class="ulink" href="http://ant.apache.org/" target="_top"><span class="application">Ant</span></a>, which is a popular Java build
 and deployment tool.  Using the <span class="application">FindBugs</span> <span class="application">Ant</span> task, your build script can
 automatically run <span class="application">FindBugs</span> on your Java code.
 </p><p>
 The <span class="application">Ant</span> task was generously contributed by Mike Fagan.
-</p><div class="sect1" title="1.&nbsp;Installing the Ant task"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1205"></a>1.&nbsp;Installing the <span class="application">Ant</span> task</h2></div></div></div><p>
+</p><div class="sect1" title="1.&nbsp;Installing the Ant task"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1233"></a>1.&nbsp;Installing the <span class="application">Ant</span> task</h2></div></div></div><p>
 To install the <span class="application">Ant</span> task, simply copy <code class="filename"><em class="replaceable"><code>$FINDBUGS_HOME</code></em>/lib/findbugs-ant.jar</code>
 into the <code class="filename">lib</code> subdirectory of your <span class="application">Ant</span> installation.
 
 </p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="note.png"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>It is strongly recommended that you use the <span class="application">Ant</span> task with the version
 of <span class="application">FindBugs</span> it was included with.  We do not guarantee that the <span class="application">Ant</span> task Jar file
 will work with any version of <span class="application">FindBugs</span> other than the one it was included with.</p></td></tr></table></div><p>
-</p></div><div class="sect1" title="2.&nbsp;Modifying build.xml"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1243"></a>2.&nbsp;Modifying build.xml</h2></div></div></div><p>
+</p></div><div class="sect1" title="2.&nbsp;Modifying build.xml"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1271"></a>2.&nbsp;Modifying build.xml</h2></div></div></div><p>
 To incorporate <span class="application">FindBugs</span> into <code class="filename">build.xml</code> (the build script
 for <span class="application">Ant</span>), you first need to add a task definition.  This should appear as follows:
 
@@ -56,7 +56,7 @@
 An auxiliary Jar file, <code class="filename">Regex.jar</code>, is added to the aux classpath,
 because it is referenced by the main BCEL library.  A source path is specified
 so that the saved bug data will have accurate references to the BCEL source code.
-</p></div><div class="sect1" title="3.&nbsp;Executing the task"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1314"></a>3.&nbsp;Executing the task</h2></div></div></div><p>
+</p></div><div class="sect1" title="3.&nbsp;Executing the task"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1342"></a>3.&nbsp;Executing the task</h2></div></div></div><p>
 Here is an example of invoking <span class="application">Ant</span> from the command line, using the <code class="literal">findbugs</code>
 target defined above.
 
@@ -83,7 +83,7 @@
 
 In this case, because we saved the bug results in an XML file, we can
 use the <span class="application">FindBugs</span> GUI to view the results; see <a class="xref" href="running.html" title="Chapter&nbsp;4.&nbsp;Running FindBugs&#8482;">Chapter&nbsp;4, <i>Running <span class="application">FindBugs</span>&#8482;</i></a>.
-</p></div><div class="sect1" title="4.&nbsp;Parameters"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1339"></a>4.&nbsp;Parameters</h2></div></div></div><p>This section describes the parameters that may be specified when
+</p></div><div class="sect1" title="4.&nbsp;Parameters"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1367"></a>4.&nbsp;Parameters</h2></div></div></div><p>This section describes the parameters that may be specified when
 using the <span class="application">FindBugs</span> task.
 
 </p><div class="variablelist"><dl><dt><span class="term"><code class="literal">class</code></span></dt><dd><p>
@@ -159,8 +159,12 @@
        without any package qualification.  By default, all detectors which are
        not disabled by default are run.
        </p></dd><dt><span class="term"><code class="literal">omitVisitors</code></span></dt><dd><p>
-       Optional attribute.  It is like the <code class="literal">visitors</code> attribute,
+       Optional attribute. It specifies a comma-separated list of bug detectors.
+       It is like the <code class="literal">visitors</code> attribute,
        except it specifies detectors which will <span class="emphasis"><em>not</em></span> be run.
+       </p></dd><dt><span class="term"><code class="literal">chooseVisitors</code></span></dt><dd><p>
+       Optional attribute. It specifies a comma-separated list of bug detectors
+       prefixed with "+" or "-" to selectively enable/disable them.
        </p></dd><dt><span class="term"><code class="literal">excludeFilter</code></span></dt><dd><p>
        Optional attribute.  It specifies the filename of a filter specifying bugs
        to exclude from being reported.  See <a class="xref" href="filter.html" title="Chapter&nbsp;8.&nbsp;Filter Files">Chapter&nbsp;8, <i>Filter Files</i></a>.
@@ -208,7 +212,11 @@
               options will override them, as last argument would mean they will override some previous options).
               This rationale behind this option is to reuse FindBugs Eclipse project settings for command
               line execution.
-            </p></dd></dl></div><p>
+            </p></dd><dt><span class="term"><code class="literal">nested</code></span></dt><dd><p>
+              Optional attribute which enables or disables scanning of nested jar and zip files found in
+                the list of files and directories to be analyzed.
+                By default, scanning of nested jar/zip files is enabled.
+          </p></dd></dl></div><p>
 
 
 </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="gui.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="eclipse.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;5.&nbsp;Using the <span class="application">FindBugs</span> GUI&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;7.&nbsp;Using the <span class="application">FindBugs</span>&#8482; Eclipse plugin</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/manual/building.html b/doc/manual/building.html
index ed3fcb2..9c60d48 100644
--- a/doc/manual/building.html
+++ b/doc/manual/building.html
@@ -7,7 +7,7 @@
 </p><div class="sect1" title="1.&nbsp;Prerequisites"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e173"></a>1.&nbsp;Prerequisites</h2></div></div></div><p>
 To compile <span class="application">FindBugs</span> from source, you will need the following:
 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
-      The <a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3-source.zip?download" target="_top"><span class="application">FindBugs</span> source distribution</a>
+      The <a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0-source.zip?download" target="_top"><span class="application">FindBugs</span> source distribution</a>
     </p></li><li class="listitem"><p>
       <a class="ulink" href="http://java.sun.com/j2se/" target="_top">JDK 1.5.0 or later</a>
     </p></li><li class="listitem"><p>
@@ -36,7 +36,7 @@
 a working directory.  A typical command to do this is:
 
 </p><pre class="screen">
-<code class="prompt">$ </code><span class="command"><strong>unzip findbugs-2.0.3-source.zip</strong></span>
+<code class="prompt">$ </code><span class="command"><strong>unzip findbugs-3.0.0-source.zip</strong></span>
 </pre><p>
 
 </p></div><div class="sect1" title="3.&nbsp;Modifying local.properties"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e275"></a>3.&nbsp;Modifying <code class="filename">local.properties</code></h2></div></div></div><p>
diff --git a/doc/manual/eclipse.html b/doc/manual/eclipse.html
index 52ac8e9..872a131 100644
--- a/doc/manual/eclipse.html
+++ b/doc/manual/eclipse.html
@@ -1,15 +1,15 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Chapter&nbsp;7.&nbsp;Using the FindBugs&#8482; Eclipse plugin</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="anttask.html" title="Chapter&nbsp;6.&nbsp;Using the FindBugs&#8482; Ant task"><link rel="next" href="filter.html" title="Chapter&nbsp;8.&nbsp;Filter Files"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;7.&nbsp;Using the <span class="application">FindBugs</span>&#8482; Eclipse plugin</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="anttask.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="filter.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;7.&nbsp;Using the FindBugs&#8482; Eclipse plugin"><div class="titlepage"><div><div><h2 class="title"><a name="eclipse"></a>Chapter&nbsp;7.&nbsp;Using the <span class="application">FindBugs</span>&#8482; Eclipse plugin</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="eclipse.html#d0e1662">1. Requirements</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1670">2. Installation</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1717">3. Using the Plugin</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1748">4. Extending the Eclipse Plugin (since 2.0.0)</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1802">5. Troubleshooting</a></span></dt></dl></div><p>
+   <title>Chapter&nbsp;7.&nbsp;Using the FindBugs&#8482; Eclipse plugin</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="anttask.html" title="Chapter&nbsp;6.&nbsp;Using the FindBugs&#8482; Ant task"><link rel="next" href="filter.html" title="Chapter&nbsp;8.&nbsp;Filter Files"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;7.&nbsp;Using the <span class="application">FindBugs</span>&#8482; Eclipse plugin</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="anttask.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="filter.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;7.&nbsp;Using the FindBugs&#8482; Eclipse plugin"><div class="titlepage"><div><div><h2 class="title"><a name="eclipse"></a>Chapter&nbsp;7.&nbsp;Using the <span class="application">FindBugs</span>&#8482; Eclipse plugin</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="eclipse.html#d0e1704">1. Requirements</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1712">2. Installation</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1759">3. Using the Plugin</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1790">4. Extending the Eclipse Plugin (since 2.0.0)</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1843">5. Troubleshooting</a></span></dt></dl></div><p>
 The FindBugs Eclipse plugin allows <span class="application">FindBugs</span> to be used within
 the <a class="ulink" href="http://www.eclipse.org/" target="_top">Eclipse</a> IDE.
 The FindBugs Eclipse plugin was generously contributed by Peter Friese.
-Phil Crosby and Andrei Loskutov contributed major improvements
+Phil Crosby and Andrey Loskutov contributed major improvements
 to the plugin.
-</p><div class="sect1" title="1.&nbsp;Requirements"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1662"></a>1.&nbsp;Requirements</h2></div></div></div><p>
+</p><div class="sect1" title="1.&nbsp;Requirements"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1704"></a>1.&nbsp;Requirements</h2></div></div></div><p>
 To use the <span class="application">FindBugs</span> Plugin for Eclipse, you need Eclipse 3.3 or later,
 and JRE/JDK 1.5 or later.
-</p></div><div class="sect1" title="2.&nbsp;Installation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1670"></a>2.&nbsp;Installation</h2></div></div></div><p>
+</p></div><div class="sect1" title="2.&nbsp;Installation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1712"></a>2.&nbsp;Installation</h2></div></div></div><p>
   We provide update sites that allow you to automatically install FindBugs into Eclipse and also query and install updates.
   There are three different update sites</p><div class="variablelist" title="FindBugs Eclipse update sites"><p class="title"><b>FindBugs Eclipse update sites</b></p><dl><dt><span class="term"><a class="ulink" href="http://findbugs.cs.umd.edu/eclipse/" target="_top">http://findbugs.cs.umd.edu/eclipse/</a></span></dt><dd><p>
        Only provides official releases of FindBugs.
@@ -19,16 +19,16 @@
          Provides the daily build of FindBugs. No testing other than that it compiles.
         </p></dd></dl></div><p>You can also manually
 download the plugin from the following link:
-<a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?download" target="_top">http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?download</a>.
+<a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706.zip?download" target="_top">http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706.zip?download</a>.
 Extract it in Eclipse's "plugins" subdirectory.
-(So &lt;eclipse_install_dir&gt;/plugins/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122/findbugs.png
+(So &lt;eclipse_install_dir&gt;/plugins/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706/findbugs.png
 should be the path to the <span class="application">FindBugs</span> logo.)
 
 </p><p>
 Once the plugin is extracted, start Eclipse and choose
 <span class="guimenu">Help</span> &#8594; <span class="guimenuitem">About Eclipse Platform</span> &#8594; <span class="guimenuitem">Plug-in Details</span>.
 You should find a plugin called "FindBugs Plug-in" provided by "FindBugs Project".
-</p></div><div class="sect1" title="3.&nbsp;Using the Plugin"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1717"></a>3.&nbsp;Using the Plugin</h2></div></div></div><p>
+</p></div><div class="sect1" title="3.&nbsp;Using the Plugin"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1759"></a>3.&nbsp;Using the Plugin</h2></div></div></div><p>
 To get started, right click on a Java project in Package Explorer,
 and select the option labeled "Find Bugs".
 <span class="application">FindBugs</span> will run, and problem markers (displayed in source
@@ -59,13 +59,13 @@
     </p></li><li class="listitem"><p>
     Select detectors.  The table allows you to select which detectors
     you want to enable for your project.
-    </p></li></ul></div></div><div class="sect1" title="4.&nbsp;Extending the Eclipse Plugin (since 2.0.0)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1748"></a>4.&nbsp;Extending the Eclipse Plugin (since 2.0.0)</h2></div></div></div><p>
+    </p></li></ul></div></div><div class="sect1" title="4.&nbsp;Extending the Eclipse Plugin (since 2.0.0)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1790"></a>4.&nbsp;Extending the Eclipse Plugin (since 2.0.0)</h2></div></div></div><p>
 Eclipse plugin supports contribution of custom <span class="application">FindBugs</span> detectors (see also
-<a class="ulink" href="http://code.google.com/p/findbugs/source/browse/trunk/findbugs/src/doc/AddingDetectors.txt" target="_top">AddingDetectors.txt</a>
+<a class="ulink" href="http://code.google.com/p/findbugs/source/browse/findbugs/src/doc/AddingDetectors.txt" target="_top">AddingDetectors.txt</a>
 for more information). There are two ways to contribute custom plugins to the Eclipse:
 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
     Existing standard <span class="application">FindBugs</span> detector packages can be configured via
-    <span class="guimenu">Window</span> &#8594; <span class="guimenuitem">Preferences</span> &#8594; <span class="guimenuitem">Java</span> &#8594; <span class="guimenuitem"><span class="application">FindBugs</span></span> &#8594; <span class="guimenuitem">Misc. Settings</span> &#8594; <span class="guimenuitem">Custom Detectors</span>.
+    <span class="guimenu">Window</span> &#8594; <span class="guimenuitem">Preferences</span> &#8594; <span class="guimenuitem">Java</span> &#8594; <span class="guimenuitem">FindBugs</span> &#8594; <span class="guimenuitem">Misc. Settings</span> &#8594; <span class="guimenuitem">Custom Detectors</span>.
     Simply specify there locations of any additional plugin libraries.
     </p><p>
     The benefit of this solution is that already existing detector packages can be
@@ -76,7 +76,7 @@
     It is possible to contribute custom detectors via standard Eclipse extensions mechanism.
     </p><p>
     Please check the documentation of the
-    <a class="ulink" href="http://code.google.com/p/findbugs/source/browse/trunk/eclipsePlugin/schema/detectorPlugins.exsd" target="_top">
+    <a class="ulink" href="http://code.google.com/p/findbugs/source/browse/eclipsePlugin/schema/detectorPlugins.exsd" target="_top">
     findBugsEclipsePlugin/schema/detectorPlugins.exsd</a>
     extension point how to update the plugin.xml. Existing <span class="application">FindBugs</span> detector plugins can
     be easily "extended" to be full featured <span class="application">FindBugs</span> AND Eclipse detector plugins.
@@ -90,9 +90,9 @@
     Eclipse plugin. You can do this even for third-party detector packages.
     Another major differentiator is the ability to extend the default FindBugs
     classpath at runtime with required third party libraries (see
-    <a class="ulink" href="http://code.google.com/p/findbugs/source/browse/trunk/findbugs/src/doc/AddingDetectors.txt" target="_top">AddingDetectors.txt</a>
+    <a class="ulink" href="http://code.google.com/p/findbugs/source/browse/findbugs/src/doc/AddingDetectors.txt" target="_top">AddingDetectors.txt</a>
     for more information).
-    </p></li></ul></div></div><div class="sect1" title="5.&nbsp;Troubleshooting"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1802"></a>5.&nbsp;Troubleshooting</h2></div></div></div><p>
+    </p></li></ul></div></div><div class="sect1" title="5.&nbsp;Troubleshooting"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1843"></a>5.&nbsp;Troubleshooting</h2></div></div></div><p>
 This section lists common problems with the plugin and (if known) how to resolve them.
 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
     If you see OutOfMemory error dialogs after starting <span class="application">FindBugs</span> analysis in Eclipse,
diff --git a/doc/manual/filter.html b/doc/manual/filter.html
index 98b264f..0483ef4 100644
--- a/doc/manual/filter.html
+++ b/doc/manual/filter.html
@@ -1,6 +1,6 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Chapter&nbsp;8.&nbsp;Filter Files</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="eclipse.html" title="Chapter&nbsp;7.&nbsp;Using the FindBugs&#8482; Eclipse plugin"><link rel="next" href="analysisprops.html" title="Chapter&nbsp;9.&nbsp;Analysis Properties"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;8.&nbsp;Filter Files</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="eclipse.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="analysisprops.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;8.&nbsp;Filter Files"><div class="titlepage"><div><div><h2 class="title"><a name="filter"></a>Chapter&nbsp;8.&nbsp;Filter Files</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="filter.html#d0e1838">1. Introduction to Filter Files</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1888">2. Types of Match clauses</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2136">3. Java element name matching</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2161">4. Caveats</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2191">5. Examples</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2249">6. Complete Example</a></span></dt></dl></div><p>
+   <title>Chapter&nbsp;8.&nbsp;Filter Files</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="eclipse.html" title="Chapter&nbsp;7.&nbsp;Using the FindBugs&#8482; Eclipse plugin"><link rel="next" href="analysisprops.html" title="Chapter&nbsp;9.&nbsp;Analysis Properties"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;8.&nbsp;Filter Files</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="eclipse.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="analysisprops.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;8.&nbsp;Filter Files"><div class="titlepage"><div><div><h2 class="title"><a name="filter"></a>Chapter&nbsp;8.&nbsp;Filter Files</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="filter.html#d0e1879">1. Introduction to Filter Files</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1929">2. Types of Match clauses</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2187">3. Java element name matching</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2215">4. Caveats</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2245">5. Examples</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2308">6. Complete Example</a></span></dt></dl></div><p>
 Filter files may be used to include or exclude bug reports for particular classes
 and methods.  This chapter explains how to use filter files.
 
@@ -8,7 +8,7 @@
   Filters are currently only supported by the Command Line interface.
   Eventually, filter support will be added to the GUI.
 </p></td></tr></table></div><p>
-</p><div class="sect1" title="1.&nbsp;Introduction to Filter Files"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1838"></a>1.&nbsp;Introduction to Filter Files</h2></div></div></div><p>
+</p><div class="sect1" title="1.&nbsp;Introduction to Filter Files"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1879"></a>1.&nbsp;Introduction to Filter Files</h2></div></div></div><p>
 Conceptually, a filter matches bug instances against a set of criteria.
 By defining a filter, you can select bug instances for special treatment;
 for example, to exclude or include them in a report.
@@ -31,7 +31,7 @@
 </p><p>
 <code class="literal">Match</code> elements contain children, which are conjuncts of the predicate.
 In other words, each of the children must be true for the predicate to be true.
-</p></div><div class="sect1" title="2.&nbsp;Types of Match clauses"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1888"></a>2.&nbsp;Types of Match clauses</h2></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="literal">&lt;Bug&gt;</code></span></dt><dd><p>
+</p></div><div class="sect1" title="2.&nbsp;Types of Match clauses"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1929"></a>2.&nbsp;Types of Match clauses</h2></div></div></div><div class="variablelist"><dl><dt><span class="term"><code class="literal">&lt;Bug&gt;</code></span></dt><dd><p>
             This element specifies a particular bug pattern or patterns to match.
             The <code class="literal">pattern</code> attribute is a comma-separated list of
             bug pattern types.  You can find the bug pattern types for particular
@@ -87,6 +87,10 @@
             nor a <code class="literal">class</code> / <code class="literal">classregex</code> attribute, the predicate will apply
             to all classes. Such predicate is likely to match more bug instances than you want, unless it is
             refined further down with apropriate method or field predicates.
+        </p></dd><dt><span class="term"><code class="literal">&lt;Source&gt;</code></span></dt><dd><p>
+            This element matches warnings associated with a particular source file. The
+            <code class="literal">name</code> attribute is used to specify the exact or regex match pattern
+            for the source file name.
         </p></dd><dt><span class="term"><code class="literal">&lt;Method&gt;</code></span></dt><dd><p>This element specifies a method.  The <code class="literal">name</code> is used to specify
    the exact or regex match pattern for the method name.
    The <code class="literal">params</code> attribute is a comma-separated list
@@ -108,15 +112,16 @@
    <code class="literal">Method</code> elements in an <code class="literal">Or</code> clause in order to match either method.
    </p></dd><dt><span class="term"><code class="literal">&lt;And&gt;</code></span></dt><dd><p>
    This element combines <code class="literal">Match</code> clauses which both must evaluate to true.  I.e., you can put
-   <code class="literal">Bug</code> and <code class="literal">Priority</code> elements in an <code class="literal">And</code> clause in order
-   to match specific bugs with given priority only.
+   <code class="literal">Bug</code> and <code class="literal">Confidence</code> elements in an <code class="literal">And</code> clause in order
+   to match specific bugs with given confidence only.
    </p></dd><dt><span class="term"><code class="literal">&lt;Not&gt;</code></span></dt><dd><p>
    This element inverts the included child <code class="literal">Match</code>. I.e., you can put a
    <code class="literal">Bug</code> element in a <code class="literal">Not</code> clause in order to match any bug
    excluding the given one.
-   </p></dd></dl></div></div><div class="sect1" title="3.&nbsp;Java element name matching"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2136"></a>3.&nbsp;Java element name matching</h2></div></div></div><p>
-If the <code class="literal">name</code> attribute of <code class="literal">Class</code>, <code class="literal">Method</code> or
-<code class="literal">Field</code> starts with the ~ character the rest of attribute content is interpreted as
+   </p></dd></dl></div></div><div class="sect1" title="3.&nbsp;Java element name matching"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2187"></a>3.&nbsp;Java element name matching</h2></div></div></div><p>
+If the <code class="literal">name</code> attribute of <code class="literal">Class</code>, <code class="literal">Source</code>,
+<code class="literal">Method</code> or <code class="literal">Field</code> starts with the ~ character
+the rest of attribute content is interpreted as
 a Java regular expression that is matched against the names of the Java element in question.
 </p><p>
 Note that the pattern is matched against whole element name and therefore .* clauses need to be used
@@ -124,7 +129,7 @@
 </p><p>
 See <a class="ulink" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html" target="_top"><code class="literal">java.util.regex.Pattern</code></a>
 documentation for pattern syntax.
-</p></div><div class="sect1" title="4.&nbsp;Caveats"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2161"></a>4.&nbsp;Caveats</h2></div></div></div><p>
+</p></div><div class="sect1" title="4.&nbsp;Caveats"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2215"></a>4.&nbsp;Caveats</h2></div></div></div><p>
 <code class="literal">Match</code> clauses can only match information that is actually contained in the
 bug instances.  Every bug instance has a class, so in general, excluding
 bugs by class will work.
@@ -158,7 +163,7 @@
 Many kinds of bugs report what method they occur in.  For those bug instances,
 you can put <code class="literal">Method</code> clauses in the <code class="literal">Match</code> element and they should work
 as expected.
-</p></div><div class="sect1" title="5.&nbsp;Examples"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2191"></a>5.&nbsp;Examples</h2></div></div></div><p>
+</p></div><div class="sect1" title="5.&nbsp;Examples"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2245"></a>5.&nbsp;Examples</h2></div></div></div><p>
   1. Match all bug reports for a class.
 
 </p><pre class="programlisting">
@@ -314,7 +319,20 @@
 &lt;/Match&gt;
 
 </pre><p>
-</p></div><div class="sect1" title="6.&nbsp;Complete Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2249"></a>6.&nbsp;Complete Example</h2></div></div></div><pre class="programlisting">
+</p><p>
+  12. Full exclusion filter file to match all classes generated from Groovy source files.
+
+</p><pre class="programlisting">
+
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;FindBugsFilter&gt;
+&lt;Match&gt;
+    &lt;Source name="~.*\.groovy" /&gt;
+&lt;/Match&gt;
+&lt;/FindBugsFilter&gt;
+
+</pre><p>
+</p></div><div class="sect1" title="6.&nbsp;Complete Example"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2308"></a>6.&nbsp;Complete Example</h2></div></div></div><pre class="programlisting">
 
 &lt;FindBugsFilter&gt;
      &lt;Match&gt;
diff --git a/doc/manual/gui.html b/doc/manual/gui.html
index 122b074..8f7c74e 100644
--- a/doc/manual/gui.html
+++ b/doc/manual/gui.html
@@ -1,8 +1,8 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>Chapter&nbsp;5.&nbsp;Using the FindBugs GUI</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="running.html" title="Chapter&nbsp;4.&nbsp;Running FindBugs&#8482;"><link rel="next" href="anttask.html" title="Chapter&nbsp;6.&nbsp;Using the FindBugs&#8482; Ant task"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;5.&nbsp;Using the <span class="application">FindBugs</span> GUI</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="running.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="anttask.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;5.&nbsp;Using the FindBugs GUI"><div class="titlepage"><div><div><h2 class="title"><a name="gui"></a>Chapter&nbsp;5.&nbsp;Using the <span class="application">FindBugs</span> GUI</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="gui.html#d0e1092">1. Creating a Project</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1134">2. Running the Analysis</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1139">3. Browsing Results</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1154">4. Saving and Opening</a></span></dt></dl></div><p>
+   <title>Chapter&nbsp;5.&nbsp;Using the FindBugs GUI</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="running.html" title="Chapter&nbsp;4.&nbsp;Running FindBugs&#8482;"><link rel="next" href="anttask.html" title="Chapter&nbsp;6.&nbsp;Using the FindBugs&#8482; Ant task"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;5.&nbsp;Using the <span class="application">FindBugs</span> GUI</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="running.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="anttask.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;5.&nbsp;Using the FindBugs GUI"><div class="titlepage"><div><div><h2 class="title"><a name="gui"></a>Chapter&nbsp;5.&nbsp;Using the <span class="application">FindBugs</span> GUI</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="gui.html#d0e1120">1. Creating a Project</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1162">2. Running the Analysis</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1167">3. Browsing Results</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1182">4. Saving and Opening</a></span></dt></dl></div><p>
         This chapter describes how to use the <span class="application">FindBugs</span> graphical user interface (GUI).
-    </p><div class="sect1" title="1.&nbsp;Creating a Project"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1092"></a>1.&nbsp;Creating a Project</h2></div></div></div><p>
+    </p><div class="sect1" title="1.&nbsp;Creating a Project"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1120"></a>1.&nbsp;Creating a Project</h2></div></div></div><p>
 After you have started <span class="application">FindBugs</span> using the <span class="command"><strong>findbugs</strong></span> command,
 choose the <span class="guimenu">File</span> &#8594; <span class="guimenuitem">New Project</span>
 menu item.  You will see a dialog which looks like this:
@@ -28,14 +28,14 @@
 pattern detectors in <span class="application">FindBugs</span> make use of class hierarchy information,
 so you will get more accurate results if the entire class hierarchy is
 available which <span class="application">FindBugs</span> performs its analysis.
-</p></div><div class="sect1" title="2.&nbsp;Running the Analysis"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1134"></a>2.&nbsp;Running the Analysis</h2></div></div></div><p>
+</p></div><div class="sect1" title="2.&nbsp;Running the Analysis"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1162"></a>2.&nbsp;Running the Analysis</h2></div></div></div><p>
 Once you have added all of the archives, directories, and source directories,
 click the "Analyze" button to analyze the classes contained in the
 Jar files.  Note that for a very large program on an older computer,
 this may take quite a while (tens of minutes).  A recent computer with
 ample memory will typically be able to analyze a large program in only a
 few minutes.
-</p></div><div class="sect1" title="3.&nbsp;Browsing Results"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1139"></a>3.&nbsp;Browsing Results</h2></div></div></div><p>
+</p></div><div class="sect1" title="3.&nbsp;Browsing Results"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1167"></a>3.&nbsp;Browsing Results</h2></div></div></div><p>
 When the analysis completes, you will see a screen like the following:
 </p><div class="mediaobject"><img src="example-details.png"></div><p>
 </p><p>
@@ -54,7 +54,7 @@
 into the text box just below the hierarchical view.  You can type any
 information which you would like to record.  When you load and save bug
 results files, the annotations are preserved.
-</p></div><div class="sect1" title="4.&nbsp;Saving and Opening"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1154"></a>4.&nbsp;Saving and Opening</h2></div></div></div><p>
+</p></div><div class="sect1" title="4.&nbsp;Saving and Opening"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1182"></a>4.&nbsp;Saving and Opening</h2></div></div></div><p>
 You may use the <span class="guimenu">File</span> &#8594; <span class="guimenuitem">Save as...</span>
 menu option to save your work.  To save your work, including the jar
 file lists you specified and all bug results, choose
diff --git a/doc/manual/index.html b/doc/manual/index.html
index 42924a6..3f8a487 100644
--- a/doc/manual/index.html
+++ b/doc/manual/index.html
@@ -7,4 +7,4 @@
 or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
 </p><p>
 The name FindBugs and the FindBugs logo are trademarked by the University of Maryland.
-</p></div></div><div><p class="pubdate">17:16:15 EST, 22 November, 2013</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="introduction.html">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="introduction.html#d0e67">1. Requirements</a></span></dt></dl></dd><dt><span class="chapter"><a href="installing.html">2. Installing <span class="application">FindBugs</span>&#8482;</a></span></dt><dd><dl><dt><span class="sect1"><a href="installing.html#d0e98">1. Extracting the Distribution</a></span></dt></dl></dd><dt><span class="chapter"><a href="building.html">3. Building <span class="application">FindBugs</span>&#8482; from Source</a></span></dt><dd><dl><dt><span class="sect1"><a href="building.html#d0e173">1. Prerequisites</a></span></dt><dt><span class="sect1"><a href="building.html#d0e262">2. Extracting the Source Distribution</a></span></dt><dt><span class="sect1"><a href="building.html#d0e275">3. Modifying <code class="filename">local.properties</code></a></span></dt><dt><span class="sect1"><a href="building.html#d0e333">4. Running <span class="application">Ant</span></a></span></dt><dt><span class="sect1"><a href="building.html#d0e427">5. Running <span class="application">FindBugs</span>&#8482; from a source directory</a></span></dt></dl></dd><dt><span class="chapter"><a href="running.html">4. Running <span class="application">FindBugs</span>&#8482;</a></span></dt><dd><dl><dt><span class="sect1"><a href="running.html#d0e465">1. Quick Start</a></span></dt><dt><span class="sect1"><a href="running.html#d0e503">2. Executing <span class="application">FindBugs</span></a></span></dt><dt><span class="sect1"><a href="running.html#commandLineOptions">3. Command-line Options</a></span></dt></dl></dd><dt><span class="chapter"><a href="gui.html">5. Using the <span class="application">FindBugs</span> GUI</a></span></dt><dd><dl><dt><span class="sect1"><a href="gui.html#d0e1092">1. Creating a Project</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1134">2. Running the Analysis</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1139">3. Browsing Results</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1154">4. Saving and Opening</a></span></dt></dl></dd><dt><span class="chapter"><a href="anttask.html">6. Using the <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> task</a></span></dt><dd><dl><dt><span class="sect1"><a href="anttask.html#d0e1205">1. Installing the <span class="application">Ant</span> task</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1243">2. Modifying build.xml</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1314">3. Executing the task</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1339">4. Parameters</a></span></dt></dl></dd><dt><span class="chapter"><a href="eclipse.html">7. Using the <span class="application">FindBugs</span>&#8482; Eclipse plugin</a></span></dt><dd><dl><dt><span class="sect1"><a href="eclipse.html#d0e1662">1. Requirements</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1670">2. Installation</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1717">3. Using the Plugin</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1748">4. Extending the Eclipse Plugin (since 2.0.0)</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1802">5. Troubleshooting</a></span></dt></dl></dd><dt><span class="chapter"><a href="filter.html">8. Filter Files</a></span></dt><dd><dl><dt><span class="sect1"><a href="filter.html#d0e1838">1. Introduction to Filter Files</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1888">2. Types of Match clauses</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2136">3. Java element name matching</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2161">4. Caveats</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2191">5. Examples</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2249">6. Complete Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="analysisprops.html">9. Analysis Properties</a></span></dt><dt><span class="chapter"><a href="annotations.html">10. Annotations</a></span></dt><dt><span class="chapter"><a href="rejarForAnalysis.html">11. Using rejarForAnalysis</a></span></dt><dt><span class="chapter"><a href="datamining.html">12. Data mining of bugs with <span class="application">FindBugs</span>&#8482;</a></span></dt><dd><dl><dt><span class="sect1"><a href="datamining.html#commands">1. Commands</a></span></dt><dt><span class="sect1"><a href="datamining.html#examples">2. Examples</a></span></dt><dt><span class="sect1"><a href="datamining.html#antexample">3. Ant example</a></span></dt></dl></dd><dt><span class="chapter"><a href="license.html">13. License</a></span></dt><dt><span class="chapter"><a href="acknowledgments.html">14. Acknowledgments</a></span></dt><dd><dl><dt><span class="sect1"><a href="acknowledgments.html#d0e3629">1. Contributors</a></span></dt><dt><span class="sect1"><a href="acknowledgments.html#d0e3752">2. Software Used</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>9.1. <a href="analysisprops.html#analysisproptable">Configurable Analysis Properties</a></dt><dt>12.1. <a href="datamining.html#computeBugHistoryTable">Options for computeBugHistory command</a></dt><dt>12.2. <a href="datamining.html#filterOptionsTable">Options for filterBugs command</a></dt><dt>12.3. <a href="datamining.html#mineBugHistoryOptionsTable">Options for mineBugHistory command</a></dt><dt>12.4. <a href="datamining.html#mineBugHistoryColumns">Columns in mineBugHistory output</a></dt><dt>12.5. <a href="datamining.html#defectDensityColumns">Columns in defectDensity output</a></dt><dt>12.6. <a href="datamining.html#convertXmlToTextTable">Options for convertXmlToText command</a></dt><dt>12.7. <a href="datamining.html#setBugDatabaseInfoOptions">setBugDatabaseInfo Options</a></dt><dt>12.8. <a href="datamining.html#listBugDatabaseInfoColumns">listBugDatabaseInfo Columns</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="introduction.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;1.&nbsp;Introduction</td></tr></table></div></body></html>
\ No newline at end of file
+</p></div></div><div><p class="pubdate">20:25:27 CDT, 06 July, 2014</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="introduction.html">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="introduction.html#d0e67">1. Requirements</a></span></dt></dl></dd><dt><span class="chapter"><a href="installing.html">2. Installing <span class="application">FindBugs</span>&#8482;</a></span></dt><dd><dl><dt><span class="sect1"><a href="installing.html#d0e98">1. Extracting the Distribution</a></span></dt></dl></dd><dt><span class="chapter"><a href="building.html">3. Building <span class="application">FindBugs</span>&#8482; from Source</a></span></dt><dd><dl><dt><span class="sect1"><a href="building.html#d0e173">1. Prerequisites</a></span></dt><dt><span class="sect1"><a href="building.html#d0e262">2. Extracting the Source Distribution</a></span></dt><dt><span class="sect1"><a href="building.html#d0e275">3. Modifying <code class="filename">local.properties</code></a></span></dt><dt><span class="sect1"><a href="building.html#d0e333">4. Running <span class="application">Ant</span></a></span></dt><dt><span class="sect1"><a href="building.html#d0e427">5. Running <span class="application">FindBugs</span>&#8482; from a source directory</a></span></dt></dl></dd><dt><span class="chapter"><a href="running.html">4. Running <span class="application">FindBugs</span>&#8482;</a></span></dt><dd><dl><dt><span class="sect1"><a href="running.html#d0e465">1. Quick Start</a></span></dt><dt><span class="sect1"><a href="running.html#d0e503">2. Executing <span class="application">FindBugs</span></a></span></dt><dt><span class="sect1"><a href="running.html#commandLineOptions">3. Command-line Options</a></span></dt></dl></dd><dt><span class="chapter"><a href="gui.html">5. Using the <span class="application">FindBugs</span> GUI</a></span></dt><dd><dl><dt><span class="sect1"><a href="gui.html#d0e1120">1. Creating a Project</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1162">2. Running the Analysis</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1167">3. Browsing Results</a></span></dt><dt><span class="sect1"><a href="gui.html#d0e1182">4. Saving and Opening</a></span></dt></dl></dd><dt><span class="chapter"><a href="anttask.html">6. Using the <span class="application">FindBugs</span>&#8482; <span class="application">Ant</span> task</a></span></dt><dd><dl><dt><span class="sect1"><a href="anttask.html#d0e1233">1. Installing the <span class="application">Ant</span> task</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1271">2. Modifying build.xml</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1342">3. Executing the task</a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1367">4. Parameters</a></span></dt></dl></dd><dt><span class="chapter"><a href="eclipse.html">7. Using the <span class="application">FindBugs</span>&#8482; Eclipse plugin</a></span></dt><dd><dl><dt><span class="sect1"><a href="eclipse.html#d0e1704">1. Requirements</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1712">2. Installation</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1759">3. Using the Plugin</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1790">4. Extending the Eclipse Plugin (since 2.0.0)</a></span></dt><dt><span class="sect1"><a href="eclipse.html#d0e1843">5. Troubleshooting</a></span></dt></dl></dd><dt><span class="chapter"><a href="filter.html">8. Filter Files</a></span></dt><dd><dl><dt><span class="sect1"><a href="filter.html#d0e1879">1. Introduction to Filter Files</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e1929">2. Types of Match clauses</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2187">3. Java element name matching</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2215">4. Caveats</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2245">5. Examples</a></span></dt><dt><span class="sect1"><a href="filter.html#d0e2308">6. Complete Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="analysisprops.html">9. Analysis Properties</a></span></dt><dt><span class="chapter"><a href="annotations.html">10. Annotations</a></span></dt><dt><span class="chapter"><a href="rejarForAnalysis.html">11. Using rejarForAnalysis</a></span></dt><dt><span class="chapter"><a href="datamining.html">12. Data mining of bugs with <span class="application">FindBugs</span>&#8482;</a></span></dt><dd><dl><dt><span class="sect1"><a href="datamining.html#commands">1. Commands</a></span></dt><dt><span class="sect1"><a href="datamining.html#examples">2. Examples</a></span></dt><dt><span class="sect1"><a href="datamining.html#antexample">3. Ant example</a></span></dt></dl></dd><dt><span class="chapter"><a href="license.html">13. License</a></span></dt><dt><span class="chapter"><a href="acknowledgments.html">14. Acknowledgments</a></span></dt><dd><dl><dt><span class="sect1"><a href="acknowledgments.html#d0e3716">1. Contributors</a></span></dt><dt><span class="sect1"><a href="acknowledgments.html#d0e3839">2. Software Used</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>9.1. <a href="analysisprops.html#analysisproptable">Configurable Analysis Properties</a></dt><dt>12.1. <a href="datamining.html#computeBugHistoryTable">Options for computeBugHistory command</a></dt><dt>12.2. <a href="datamining.html#filterOptionsTable">Options for filterBugs command</a></dt><dt>12.3. <a href="datamining.html#mineBugHistoryOptionsTable">Options for mineBugHistory command</a></dt><dt>12.4. <a href="datamining.html#mineBugHistoryColumns">Columns in mineBugHistory output</a></dt><dt>12.5. <a href="datamining.html#defectDensityColumns">Columns in defectDensity output</a></dt><dt>12.6. <a href="datamining.html#convertXmlToTextTable">Options for convertXmlToText command</a></dt><dt>12.7. <a href="datamining.html#setBugDatabaseInfoOptions">setBugDatabaseInfo Options</a></dt><dt>12.8. <a href="datamining.html#listBugDatabaseInfoColumns">listBugDatabaseInfo Columns</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="introduction.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;1.&nbsp;Introduction</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/manual/installing.html b/doc/manual/installing.html
index b14a6eb..91cace1 100644
--- a/doc/manual/installing.html
+++ b/doc/manual/installing.html
@@ -5,25 +5,25 @@
 </p><div class="sect1" title="1.&nbsp;Extracting the Distribution"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e98"></a>1.&nbsp;Extracting the Distribution</h2></div></div></div><p>
 The easiest way to install <span class="application">FindBugs</span> is to download a binary distribution.
 Binary distributions are available in
-<a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download" target="_top">gzipped tar format</a> and
-<a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.zip?download" target="_top">zip format</a>.
+<a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.tar.gz?download" target="_top">gzipped tar format</a> and
+<a class="ulink" href="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.zip?download" target="_top">zip format</a>.
 Once you have downloaded a binary distribution, extract it into a directory of your choice.
 </p><p>
 Extracting a gzipped tar format distribution:
 </p><pre class="screen">
-<code class="prompt">$ </code><span class="command"><strong>gunzip -c findbugs-2.0.3.tar.gz | tar xvf -</strong></span>
+<code class="prompt">$ </code><span class="command"><strong>gunzip -c findbugs-3.0.0.tar.gz | tar xvf -</strong></span>
 </pre><p>
 </p><p>
 Extracting a zip format distribution:
 </p><pre class="screen">
-<code class="prompt">C:\Software&gt;</code><span class="command"><strong>unzip findbugs-2.0.3.zip</strong></span>
+<code class="prompt">C:\Software&gt;</code><span class="command"><strong>unzip findbugs-3.0.0.zip</strong></span>
 </pre><p>
 </p><p>
 Usually, extracting a binary distribution will create a directory ending in
-<code class="filename">findbugs-2.0.3</code>. For example, if you extracted
+<code class="filename">findbugs-3.0.0</code>. For example, if you extracted
 the binary distribution from the <code class="filename">C:\Software</code>
 directory, then the <span class="application">FindBugs</span> software will be extracted into the directory
-<code class="filename">C:\Software\findbugs-2.0.3</code>.
+<code class="filename">C:\Software\findbugs-3.0.0</code>.
 This directory is the <span class="application">FindBugs</span> home directory.  We'll refer to it as
 <em class="replaceable"><code>$FINDBUGS_HOME</code></em> (or <em class="replaceable"><code>%FINDBUGS_HOME%</code></em> for Windows) throughout this manual.
 </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="introduction.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="building.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;1.&nbsp;Introduction&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;3.&nbsp;Building <span class="application">FindBugs</span>&#8482; from Source</td></tr></table></div></body></html>
\ No newline at end of file
diff --git a/doc/manual/introduction.html b/doc/manual/introduction.html
index a65b499..1992953 100644
--- a/doc/manual/introduction.html
+++ b/doc/manual/introduction.html
@@ -1,7 +1,7 @@
 <html><head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Chapter&nbsp;1.&nbsp;Introduction</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="index.html" title="FindBugs&#8482; Manual"><link rel="next" href="installing.html" title="Chapter&nbsp;2.&nbsp;Installing FindBugs&#8482;"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;1.&nbsp;Introduction</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="installing.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter&nbsp;1.&nbsp;Introduction"><div class="titlepage"><div><div><h2 class="title"><a name="introduction"></a>Chapter&nbsp;1.&nbsp;Introduction</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="introduction.html#d0e67">1. Requirements</a></span></dt></dl></div><p> <span class="application">FindBugs</span>&#8482; is a program to find bugs in Java programs.  It looks for instances
-of "bug patterns" --- code instances that are likely to be errors.</p><p> This document describes version 2.0.3 of <span class="application">FindBugs</span>.We
+of "bug patterns" --- code instances that are likely to be errors.</p><p> This document describes version 3.0.0 of <span class="application">FindBugs</span>.We
 are very interested in getting your feedback on <span class="application">FindBugs</span>. Please visit
 the <a class="ulink" href="http://findbugs.sourceforge.net" target="_top"><span class="application">FindBugs</span> web page</a> for
 the latest information on <span class="application">FindBugs</span>, contact information, and support resources such
diff --git a/doc/manual/running.html b/doc/manual/running.html
index cf83c85..7a0e81b 100644
--- a/doc/manual/running.html
+++ b/doc/manual/running.html
@@ -200,6 +200,15 @@
     Set the auxiliary classpath for analysis.  This classpath should include all
     jar files and directories containing classes that are part of the program
     being analyzed but you do not want to have analyzed for bugs.
+    </p></dd><dt><span class="term"><span class="command"><strong>-auxclasspathFromInput</strong></span> </span></dt><dd><p>
+    Read the auxiliary classpath for analysis from standard input, each line adds new
+    entry to the auxiliary classpath for analysis.
+    </p></dd><dt><span class="term"><span class="command"><strong>-auxclasspathFromFile</strong></span> <em class="replaceable"><code>filepath</code></em></span></dt><dd><p>
+    Read the auxiliary classpath for analysis from file, each line adds new
+    entry to the auxiliary classpath for analysis.
+    </p></dd><dt><span class="term"><span class="command"><strong>-analyzeFromFile</strong></span> <em class="replaceable"><code>filepath</code></em></span></dt><dd><p>
+    Read the files to analyze from file, each line adds new
+    entry to the classpath for analysis.
     </p></dd><dt><span class="term"><span class="command"><strong>-userPrefs</strong></span> <em class="replaceable"><code>edu.umd.cs.findbugs.core.prefs</code></em></span></dt><dd><p>
     Set the path of the user preferences file to use, which might override some of the options abobe.
     Specifying <code class="literal">userPrefs</code> as first argument would mean some later
diff --git a/doc/manual_ja.xml b/doc/manual_ja.xml
index 966b6b4..e77efb1 100644
--- a/doc/manual_ja.xml
+++ b/doc/manual_ja.xml
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://findbugs.googlecode.com/svn/trunk/findbugs/etc/docbook/docbookx.dtd"
-[
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+                    "../../etc/docbook/docbookx.dtd" [
 <!ENTITY FindBugs "<application>FindBugs</application>">
 <!ENTITY Ant "<application>Ant</application>">
 <!ENTITY Saxon "<application>Saxon</application>">
@@ -13,7 +13,7 @@
 <bookinfo>
 <title>&FindBugs;&trade; マニュアル</title>
 
-<authorgroup>
+<authorgroup lang="en">
   <author>
     <firstname>David</firstname>
     <othername>H.</othername>
@@ -26,12 +26,8 @@
     </author>
 </authorgroup>
 
-<copyright>
-  <year>2003</year>
-  <year>2004</year>
-  <year>2005</year>
-  <year>2006</year>
-  <year>2008</year>
+<copyright lang="en">
+  <year>2003 - 2012</year>
   <holder>University of Maryland</holder>
 </copyright>
 
@@ -40,9 +36,9 @@
 <para>名称「FindBugs」および FindBugs のロゴは、メリーランド大学の登録商標です。</para>
 </legalnotice>
 
-<edition>2.0.3</edition>
+<edition>3.0.0</edition>
 
-<pubdate>17:16:15 EST, 22 November, 2013</pubdate>
+<pubdate>20:25:27 CDT, 06 July, 2014 (翻訳 2014年7月)</pubdate>
 
 </bookinfo>
 
@@ -57,7 +53,7 @@
 
 <para>&FindBugs;&trade; は、Java プログラムの中のバグを見つけるプログラムです。このプログラムは、「バグ パターン」の実例を探します。「バグ パターン」とは、エラーとなる可能性の高いコードの事例です。</para>
 
-<para>この文書は、&FindBugs; バージョン 2.0.3 について説明してます。私たちは、 &FindBugs; に対するフィードバックを心待ちにしています。どうぞ、 <ulink url="http://findbugs.sourceforge.net">&FindBugs; Web ページ</ulink> にアクセスしてください。&FindBugs; についての最新情報、連絡先および &FindBugs; メーリングリストなどのサポート情報を入手することができます。</para>
+<para>この文書は、&FindBugs; バージョン 3.0.0 について説明してます。私たちは、 &FindBugs; に対するフィードバックを心待ちにしています。どうぞ、 <ulink url="http://findbugs.sourceforge.net">&FindBugs; Web ページ</ulink> にアクセスしてください。&FindBugs; についての最新情報、連絡先および &FindBugs; メーリングリストなどのサポート情報を入手することができます。</para>
 
 <sect1>
 <title>必要条件</title>
@@ -82,19 +78,19 @@
 <sect1>
 <title>配布物の展開</title>
 
-<para>&FindBugs; をインストールする最も簡単な方法は、バイナリ配布物をダウンロードすることです。 バイナリ配布物は、 <ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download">gzipped tar 形式</ulink> および <ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.zip?download">zip 形式</ulink> がそれぞれ入手可能です。バイナリ配布物をダウンロードしてきたら、それを任意のディレクトリーに展開します。</para>
+<para>&FindBugs; をインストールする最も簡単な方法は、バイナリ配布物をダウンロードすることです。 バイナリ配布物は、 <ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.tar.gz?download">gzipped tar 形式</ulink> および <ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.zip?download">zip 形式</ulink> がそれぞれ入手可能です。バイナリ配布物をダウンロードしてきたら、それを任意のディレクトリーに展開します。</para>
 
 <para>gzipped tar 形式配布物の展開方法例:<screen>
-<prompt>$ </prompt><command>gunzip -c findbugs-2.0.3.tar.gz | tar xvf -</command>
+<prompt>$ </prompt><command>gunzip -c findbugs-3.0.0.tar.gz | tar xvf -</command>
 </screen>
 </para>
 
 <para>zip 形式配布物の展開方法例:<screen>
-<prompt>C:\Software&gt;</prompt><command>unzip findbugs-2.0.3.zip</command>
+<prompt>C:\Software&gt;</prompt><command>unzip findbugs-3.0.0.zip</command>
 </screen>
 </para>
 
-<para>バイナリ配布物の展開すると、通常は <filename class="directory">findbugs-2.0.3</filename> ディレクトリーが作成されます。例えば、ディレクトリー <filename class="directory">C:\Software</filename> でバイナリ配布物を展開すると、ディレクトリー <filename class="directory">C:\Software\findbugs-2.0.3</filename> に &FindBugs; は展開されます。このディレクトリーが &FindBugs; のホームディレクトリーになります。このマニュアルでは、このホームディレクトリーを &FBHome; (Windowsでは &FBHomeWin;) を用いて参照します。</para>
+<para>バイナリ配布物の展開すると、通常は <filename class="directory">findbugs-3.0.0</filename> ディレクトリーが作成されます。例えば、ディレクトリー <filename class="directory">C:\Software</filename> でバイナリ配布物を展開すると、ディレクトリー <filename class="directory">C:\Software\findbugs-3.0.0</filename> に &FindBugs; は展開されます。このディレクトリーが &FindBugs; のホームディレクトリーになります。このマニュアルでは、このホームディレクトリーを &FBHome; (Windowsでは &FBHomeWin;) を用いて参照します。</para>
 </sect1>
 
 </chapter>
@@ -115,12 +111,12 @@
 
 <para>ソースから &FindBugs; をコンパイルするためには、以下のものが必要です。<itemizedlist>
   <listitem>
-    <para><ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3-source.zip?download">&FindBugs; のソース配布物</ulink>
+    <para><ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0-source.zip?download">&FindBugs; のソース配布物</ulink>
     </para>
   </listitem>
   <listitem>
     <para>
-      <ulink url="http://java.sun.com/j2se/">JDK 1.5.0 ベータ またはそれ以降</ulink>
+      <ulink url="http://java.sun.com/j2se/">JDK 1.5.0 またはそれ以降</ulink>
     </para>
   </listitem>
   <listitem>
@@ -155,7 +151,7 @@
 <sect1>
 <title>ソース配布物の展開</title>
 <para>ソース配布物をダウンロードした後に、それを作業用ディレクトリーに展開する必要があります。通常は、次のようなコマンドで展開を行います:<screen>
-<prompt>$ </prompt><command>unzip findbugs-2.0.3-source.zip</command>
+<prompt>$ </prompt><command>unzip findbugs-3.0.0-source.zip</command>
 </screen>
 
 </para>
@@ -636,6 +632,37 @@
   </listitem>
   </varlistentry>
 
+  <varlistentry>
+  <term><command>-auxclasspathFromInput</command> </term>
+  <listitem>
+    <para>分析時に使用する補助クラスパスを標準入力から読み込みます。標準入力の各行が分析時に使用する補助クラスパスに追加されます。</para>
+  </listitem>
+  </varlistentry>
+
+  <varlistentry>
+  <term><command>-auxclasspathFromFile</command> <replaceable>ファイルパス</replaceable></term>
+  <listitem>
+    <para>分析時に使用する補助クラスパスをファイルから読み込みます。ファイルの各行が分析時に使用する補助クラスパスに追加されます。</para>
+  </listitem>
+  </varlistentry>
+
+  <varlistentry>
+  <term><command>-analyzeFromFile</command> <replaceable>ファイルパス</replaceable></term>
+  <listitem>
+    <para>分析対象ファイルをファイルから読み込みます。ファイルの各行が分析対象クラスパスに追加されます。</para>
+  </listitem>
+  </varlistentry>
+
+  <varlistentry>
+  <term><command>-userPrefs</command> <replaceable>edu.umd.cs.findbugs.core.prefs</replaceable></term>
+  <listitem>
+    <para>ユーザー設定ファイルのパスを設定します。ユーザー設定ファイルの内容で、他のオプションの一部を上書きすることができます。 
+    <literal>userPrefs</literal> を一番目の引数に指定した場合は、後続のオプションの方がユーザー設定ファイルの内容に優先します。
+    <literal>userPrefs</literal> を最後の引数に指定した場合は、ユーザー設定ファイルの内容の方が前に指定したオプションに優先します。
+    このオプションを設けた背景・理由は、 Eclipse プロジェクトの FindBugs の設定をコマンドライン実行で再利用するためです。</para>
+  </listitem>
+  </varlistentry>
+
 <!--
   <varlistentry>
   <term><command></command> <replaceable></replaceable></term>
@@ -668,7 +695,7 @@
 </mediaobject>
 </para>
 
-<para>「Class archives and directories to analyze」テキストフィールドの横にある 「Add」ボタンを押すと、バグを分析する java クラスを含んでいる Java アーカイブファイル (zip, jar, ear, or war file) を選択して指定できます。複数の アーカイブ/ディレクトリーを追加することが可能です。</para>
+<para>「Classpath to analyze」の横にある 「Add」ボタンを押すと、バグを分析する java クラスを含んでいる Java アーカイブファイル (zip, jar, ear, or war file) を選択して指定できます。複数の アーカイブ/ディレクトリーを追加することが可能です。</para>
 
 <para>また、分析を行う Java アーカイブのソースコードを含んだソースディレクトリーを指定することもできます。そうすると、バグの可能性があるソースコードの場所が、&FindBugs; 上でハイライトして表示されます。ソースディレクトリーは、Java パッケージ階層のルートディレクトリーを指定する必要があります。例えば、ユーザのアプリケーションが <varname>org.foobar.myapp</varname> パッケージの中にある場合は、 <filename class="directory">org</filename> ディレクトリーの親ディレクトリーをソースディレクトリーリストに指定する必要があります。</para>
 
@@ -678,7 +705,7 @@
 
 <sect1>
 <title>分析の実行</title>
-<para>アーカイブ、ディレクトリーおよびソースディレクトリーの指定ができれば、「Finish」ボタンを押して Jar ファイルに含まれるクラスに対する分析を実行します。巨大なプロジェクトを古いコンピュータ上で実行すると、かなりの時間(数十分)がかかることに注意してください。大容量メモリである最近のコンピュータなら、大きなプログラムであっても数分程度で分析できます。</para>
+<para>アーカイブ、ディレクトリーおよびソースディレクトリーの指定ができれば、「Analyze」ボタンを押して Jar ファイルに含まれるクラスに対する分析を実行します。巨大なプロジェクトを古いコンピュータ上で実行すると、かなりの時間(数十分)がかかることに注意してください。大容量メモリである最近のコンピュータなら、大きなプログラムであっても数分程度で分析できます。</para>
 </sect1>
 
 <sect1>
@@ -803,9 +830,22 @@
 <sect1>
 <title>パラメーター</title>
 
-<para>このセクションでは、 &FindBugs; タスクを使用する際に、指定することができるパラメーターについて説明します。<variablelist> <varlistentry> <term><literal>class</literal></term>
+<para>このセクションでは、 &FindBugs; タスクを使用する際に、指定することができるパラメーターについて説明します。
+
+<variablelist>
+
+  <varlistentry>
+    <term><literal>class</literal></term>
     <listitem>
-       <para>分析の対象となるクラス群を指定するためのネストされる要素です。<literal>class</literal> 要素には <literal>location</literal> 属性の指定が必須です。分析対象となるアーカイブファイル (jar, zip, 他)、ディレクトリーまたはクラスファイルの名前を記述します。1 つの <literal>findbugs</literal> 要素に対して、複数の <literal>class</literal> 子要素を指定することができます。</para>
+       <para>任意指定のネストされる要素です。分析の対象となるクラス群を指定します。
+       <literal>class</literal> 要素には <literal>location</literal> 属性の指定が必須です。
+       分析対象となるアーカイブファイル (jar, zip, 他)、ディレクトリーまたはクラスファイルの名前を記述します。
+       1 つの <literal>findbugs</literal> 要素に対して、複数の <literal>class</literal> 子要素を指定することができます。
+       </para>
+       <para><literal>class</literal> 要素の指定を置き換えるまたは追加する形で、 &FindBugs; タスクに1個以上の <literal>fileset</literal> 要素を記述することで
+       分析するファイル群を指定することができます。
+       例えば、 fileset において特定のディレクトリにある全ての jar ファイルを分析対象に指定することができます。
+       </para>
     </listitem>
   </varlistentry>
 
@@ -840,7 +880,12 @@
   <varlistentry>
     <term><literal>reportLevel</literal></term>
     <listitem>
-       <para>任意指定の属性です。報告されるバグの優先度のしきい値を指定します。「low」に設定すると、すべてのバグが報告されます。「medium」 (デフォルト) に設定すると、優先度 (中)および優先度 (高)のバグが報告されます。「high」に設定すると、優先度 (高) のバグのみが報告されます。</para>
+       <para>
+       任意指定の属性です。報告される問題の信頼度・優先度のしきい値を指定します。
+       「low」に設定すると、バグ報告が信頼度により除外されることはありません。
+       「medium」 (デフォルト) に設定すると、信頼度(低)の問題が除外されます。
+       「high」に設定すると、信頼度(高) のバグのみが報告されます。
+       </para>
     </listitem>
   </varlistentry>
 
@@ -909,7 +954,22 @@
   <varlistentry>
     <term><literal>omitVisitors</literal></term>
     <listitem>
-       <para>任意指定の属性です。<literal>visitors</literal> 属性と似ていますが、こちらは <emphasis>実行されない</emphasis> ディテクタを指定します。</para>
+       <para>
+       任意指定の属性です。
+       バグディテクタをコンマ区切りのリストで指定します。
+       <literal>visitors</literal> 属性と似ていますが、こちらは <emphasis>実行されない</emphasis> ディテクタを指定します。
+       </para>
+    </listitem>
+  </varlistentry>
+
+  <varlistentry>
+    <term><literal>chooseVisitors</literal></term>
+    <listitem>
+       <para>
+       任意指定の属性です。
+       頭に「+」または「-」を付け加えたバグディテクタをコンマ区切りのリストで指定します。
+       「+」を付け加えたバグディテクタは有効に、「-」を付け加えたバグディテクタは無効になります。
+       </para>
     </listitem>
   </varlistentry>
 
@@ -976,6 +1036,29 @@
       </listitem>
   </varlistentry>
 
+  <varlistentry>
+      <term><literal>userPreferencesFile</literal></term>
+      <listitem>
+          <para>
+              任意指定の属性です。
+              ユーザー設定ファイルのパスを設定します。ユーザー設定ファイルの内容で、他のオプションの一部を上書きすることができます。 
+              <literal>userPreferencesFile</literal> を一番目の引数に指定した場合は、後続のオプションの方がユーザー設定ファイルの内容に優先します。
+              <literal>userPreferencesFile</literal> を最後の引数に指定した場合は、ユーザー設定ファイルの内容の方が前に指定したオプションに優先します。
+              このオプションを設けた背景・理由は、 Eclipse プロジェクトの FindBugs の設定をコマンドライン実行で再利用するためです。
+            </para>
+      </listitem>
+  </varlistentry>
+
+  <varlistentry>
+      <term><literal>nested</literal></term>
+      <listitem>
+          <para>
+              任意指定の属性です。分析対象のファイル・ディレクトリーリストにあるファイル内にネストされた jar および zip ファイルに対する分析を有効化・無効化します。
+              デフォルトでは、ネストされた jar/zip の分析は有効です。
+          </para>
+      </listitem>
+  </varlistentry>
+
 </variablelist>
 
 
@@ -998,7 +1081,11 @@
 <chapter id="eclipse">
 <title>&FindBugs;&trade; Eclipse プラグインの使用方法</title>
 
-<para>FindBugs Eclipse プラグインを使用することによって、 &FindBugs; を <ulink url="http://www.eclipse.org/">Eclipse</ulink> IDE で使用することができるようになります。このFindBugs Eclipse プラグインは、 Peter Friese 氏の多大な貢献によるものです。Phil Crosby 氏 と Andrei Loskutov 氏は、プラグインの重要な改良に貢献しました。</para>
+<para>
+FindBugs Eclipse プラグインを使用することによって、 &FindBugs; を <ulink url="http://www.eclipse.org/">Eclipse</ulink> IDE で使用することができるようになります。
+このFindBugs Eclipse プラグインは、 Peter Friese 氏の多大な貢献によるものです。
+Phil Crosby 氏 と Andrey Loskutov 氏は、プラグインの重要な改良に貢献しました。
+</para>
 
 <sect1>
 <title>必要条件</title>
@@ -1020,7 +1107,7 @@
     </listitem>
     </varlistentry>
 
-    <varlistentry><term><ulink url="http://findbugs.cs.umd.edu/eclipse-candidate/">http://findbugs.cs.umd.edu/eclips-candidate/</ulink></term>
+    <varlistentry><term><ulink url="http://findbugs.cs.umd.edu/eclipse-candidate/">http://findbugs.cs.umd.edu/eclipse-candidate/</ulink></term>
 
       <listitem>
         <para>FindBugsの公式リリース物に加えて、公式リリース候補版を提供します。</para>
@@ -1035,7 +1122,7 @@
     </varlistentry>
     </variablelist>
 
-<para>また、次に示すリンクから手動でプラグインをダウンロードすることもできます : <ulink url="http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?download">http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?download</ulink>. 展開して Eclipse の「plugins」サブディレクトリーに入れてください。(そうすると、 &lt;eclipse インストールディレクトリー &gt;/plugins/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122/findbugs.png が &FindBugs; のロゴファイルへのパスになるはずです。)</para>
+<para>また、次に示すリンクから手動でプラグインをダウンロードすることもできます : <ulink url="http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706.zip?download">http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706.zip?download</ulink>. 展開して Eclipse の「plugins」サブディレクトリーに入れてください。(そうすると、 &lt;eclipse インストールディレクトリー &gt;/plugins/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706/findbugs.png が &FindBugs; のロゴファイルへのパスになるはずです。)</para>
 
 <para>プラグインの展開ができたら、 Eclipse を起動して <menuchoice> <guimenu>Help</guimenu> <guimenuitem>About Eclipse Platform</guimenuitem> <guimenuitem>Plug-in Details</guimenuitem> </menuchoice> を選択してください。「FindBugs Project」から提供された「FindBugs Plug-in」というプラグインがあることを確認してください。</para>
 </sect1>
@@ -1064,13 +1151,86 @@
 </sect1>
 
 <sect1>
+<title>Eclipse プラグインの拡張方法 (2.0.0 以降)</title>
+<para>
+Eclipse プラグインでは、 独自の &FindBugs; ディテクタを追加することができます。
+(詳しく知りたい方は、
+<ulink url="http://code.google.com/p/findbugs/source/browse/findbugs/src/doc/AddingDetectors.txt">AddingDetectors.txt</ulink>
+もご覧ください)。 
+独自のプラグインを Eclipse に追加するには以下の2通りの方法があります。
+</para>
+<itemizedlist>
+  <listitem>
+    <para>
+    既存の標準 &FindBugs; ディテクタパッケージは以下で設定できます。 
+    <menuchoice>
+        <guimenu>Window</guimenu>
+        <guimenuitem>Preferences</guimenuitem>
+        <guimenuitem>Java</guimenuitem>
+        <guimenuitem>FindBugs</guimenuitem>
+        <guimenuitem>Misc. Settings</guimenuitem>
+        <guimenuitem>Custom Detectors</guimenuitem>
+    </menuchoice>。
+    ここで追加するプラグインライブラリの場所を指定するだけです。
+    </para>
+
+    <para>
+    この方法の利点は、既存のディテクタパッケージは「そのまま」で、サードパーティーディテクタの品質をすばやく検証できることです。
+    欠点としては、この設定は Eclipse ワークスペース毎に適用する必要があり、この設定をチームメンバー間で共有することができないことです。
+    </para>
+  </listitem>
+
+  <listitem>
+    <para>
+    Eclipse 標準の拡張機構を使って独自のディテクタを追加することができます。
+    </para>
+
+    <para>
+    <ulink url="http://code.google.com/p/findbugs/source/browse/eclipsePlugin/schema/detectorPlugins.exsd">
+    findBugsEclipsePlugin/schema/detectorPlugins.exsd</ulink> の documentation で plugin.xml の更新方法を確認してください。
+    既存の &FindBugs; ディテクタプラグイン を簡単に「拡張」して強力な &FindBugs; Eclipse ディテクタプラグイン にすることができます。
+    通常必要なのは、 META-INF/MANIFEST.MF および plugin.xml を jar に追加してかつ、 MANIFEST.MF がビルド時に上書きされないようにビルドスクリプトを更新するだけです。
+    </para>
+
+    <para>
+    この方法の利点は、  Eclipse インストールを共有しさえすれば、チームメンバー同士で正確に同じディテクタ設定を使用できることです。
+    前提条件は現在使用しているディテクタパッケージを Eclipse プラグインに変換しておくことです。
+    これはサードパーティのディテクタパッケージも同様です。
+    もうひとつの主な差別化要因は、 FindBugs のデフォルト実行時クラスパス に当該サードパーティライブラリーを追加することが必要なことです(くわしくは
+    <ulink url="http://code.google.com/p/findbugs/source/browse/findbugs/src/doc/AddingDetectors.txt">AddingDetectors.txt</ulink>
+    をご覧ください)。
+    </para>
+  </listitem>
+
+</itemizedlist>
+
+</sect1>
+
+<sect1>
 <title>トラブルシューティング</title>
 
-<para>&FindBugs; Eclipse プラグインは、まだ実験段階です。このセクションでは、プラグインに関する一般的な問題と (判明していれば) それらの問題の解決方法を記述します。</para>
+<para>
+このセクションでは、プラグインに関する一般的な問題と (判明していれば) それらの問題の解決方法を記述します。
+</para>
 
 <itemizedlist>
   <listitem>
-    <para>&FindBugs; 問題マーカーが (ソース画面および問題ビューに) 表示されない場合は、問題ビューのフィルター設定を変更してください。詳細情報は <ulink url="http://findbugs.sourceforge.net/FAQ.html#q7">http://findbugs.sourceforge.net/FAQ.html#q7</ulink> を参照してください。</para>
+    <para>
+    Eclipse において &FindBugs; の分析開始後に OutOfMemory エラーダイアログが 出た場合は、
+    JVM の使用メモリを増やしてください。すなわち、 eclipse.ini の末尾に以下の記述を追加してください。
+    <programlisting>
+    -vmargs
+    -Xmx1000m
+    </programlisting>
+    重要:「-vmargs」で始まる設定引数は  eclipse.ini ファイルの末尾に記述する必要があります。
+    また、各行には引数を一つだけしか書くことができません!
+    </para>
+  </listitem>
+  <listitem>
+    <para>
+    &FindBugs; 問題マーカーが (ソース画面および問題ビューに) 表示されない場合は、問題ビューのフィルター設定を変更してください。
+    詳細情報は <ulink url="http://findbugs.sourceforge.net/FAQ.html#q7">http://findbugs.sourceforge.net/FAQ.html#q7</ulink> を参照してください。
+    </para>
   </listitem>
 
 </itemizedlist>
@@ -1124,12 +1284,36 @@
  </varlistentry>
 
  <varlistentry>
-    <term><literal>&lt;Priority&gt;</literal></term>
+    <term><literal>&lt;Confidence&gt;</literal></term>
     <listitem>
-        <para>この要素は、特定の優先度をもつ警告を照合します。<literal>value</literal> 属性には、整数値を指定します : 1 は優先度(高)、また、 2  は優先度(中) 、 3 は優先度(低) を示します。</para>
+        <para>
+            この要素は、特定のバグ信頼度をもつ警告を照合します。
+            <literal>value</literal> 属性には、整数値を指定します。すなわち 1 は信頼度(高) 、また、 2 は信頼度(中) 、 3 は信頼度(低) を示します。
+            &lt;Confidence&gt; は 2.0.0 リリースから &lt;Priority&gt; の後継として取って代わりました。
+        </para>
     </listitem>
  </varlistentry>
 
+ <varlistentry>
+    <term><literal>&lt;Priority&gt;</literal></term>
+    <listitem>
+        <para>
+            <literal>&lt;Confidence&gt;</literal> と同一です。下位互換性を保つため残されています。
+        </para>
+    </listitem>
+ </varlistentry>
+
+ <varlistentry>
+    <term><literal>&lt;Rank&gt;</literal></term>
+    <listitem>
+        <para>
+            この要素は、特定のバグランクをもつ警告を照合します。
+            <literal>value</literal> 属性には、 1 から 20 の整数値を指定します。
+            1 から 4 は最も恐ろしいバグ、 5 から 9 は恐ろしいバグ、 10 から 14 は厄介なバグ,
+            そして 15 から 20 は不安なバグを示します。
+        </para>
+    </listitem>
+ </varlistentry>
 
  <varlistentry>
    <term><literal>&lt;Package&gt;</literal></term>
@@ -1150,6 +1334,16 @@
  </varlistentry>
 
  <varlistentry>
+   <term><literal>&lt;Source&gt;</literal></term>
+    <listitem>
+        <para>
+            この要素は、特定のソースファイルに関連した警告を照合します。
+            <literal>name</literal> 属性を使用して、照合するソースファイル名をソースファイル名そのものか、または、正規表現で指定します。
+        </para>
+    </listitem>
+ </varlistentry>
+
+ <varlistentry>
    <term><literal>&lt;Method&gt;</literal></term>
 
    <listitem><para>この要素は、メソッドを指定します。<literal>name</literal> 属性を使用して、照合するメソッド名をメソッド名そのものか、または、正規表現で指定します。<literal>params</literal> 属性には、コンマ区切りでメソッド引数の型のリストを指定します。<literal>returns</literal> 属性にはメソッドの戻り値の型を指定します。<literal>params</literal> および <literal>returns</literal> においては、クラス名は完全修飾名である必要があります。(例えば、単に &quot;String&quot; ではなく &quot;java.lang.String&quot; としてください。) <literal>params</literal> <literal>returns</literal> のどちらか一方を指定した場合は、もう一方の属性の指定も必須です。なぜならば、メソッドシグニチャーを構築のために必要だからです。<literal>name</literal> 属性、<literal>params</literal> 属性 および <literal>returns</literal> 属性または 3 つの 属性すべて、のどれかを条件とすることできることを意味しています。このように、名前とシグニチャーに基づく様々な種類の条件を規定できます。</para></listitem>
@@ -1171,6 +1365,21 @@
    <term><literal>&lt;Or&gt;</literal></term>
     <listitem><para>この要素は、論理和として <literal>Match</literal> 条項を結合します。すなわち、2つの <literal>Method</literal> 要素を <literal>Or</literal> 条項に入れることで、どちらか一方のメソッドでマッチさせることができます。</para></listitem>
  </varlistentry>
+ <varlistentry>
+   <term><literal>&lt;And&gt;</literal></term>
+    <listitem><para>
+   この要素は、論理積として <literal>Match</literal> 条項を結合します。 
+   すなわち、  <literal>Bug</literal> および <literal>Confidence</literal> 要素を <literal>And</literal> 条項内に指定することで
+   特定の信頼度の特定のバグのみ照合することができます。
+   </para></listitem>
+ </varlistentry>
+ <varlistentry>
+   <term><literal>&lt;Not&gt;</literal></term>
+    <listitem><para>
+   この要素は、内包する子 <literal>Match</literal> を反転します。
+   すなわち、 <literal>Bug</literal> 要素を <literal>Not</literal> 条項内に指定することで指定したバグ以外のすべてのバグと照合します。
+   </para></listitem>
+ </varlistentry>
 </variablelist>
 
 </sect1>
@@ -1178,7 +1387,11 @@
 <sect1>
 <title>Java 要素名マッチング</title>
 
-<para><literal>Class</literal> 、 <literal>Method</literal> または <literal>Field</literal> の <literal>name</literal> 属性が文字 ~ で始まっている場合は、属性値の残りの部分を Java の正規表現として解釈します。そうして、当該 Java 要素の名前に対しての照合が行われます。</para>
+<para>
+<literal>Class</literal> 、 <literal>Source</literal> 、 <literal>Method</literal> または <literal>Field</literal> の <literal>name</literal> 属性が文字 ~ で始まっている場合は、
+属性値の残りの部分を Java の正規表現として解釈します。
+そうして、当該 Java 要素の名前に対しての照合が行われます。
+</para>
 
 <para>パターンの照合は要素の名前全体に対して行われることに注意してください。そのため、部分一致照合を行いたい場合はパターン文字列の前後に .* を付加して使用する必要があります。</para>
 
@@ -1337,7 +1550,42 @@
     </Match>
 ]]>
 </programlisting>
+</para>
 
+
+<para>
+    11. Not フィルター演算子を使用してバグに一致させます。
+<programlisting>
+<![CDATA[
+<!-- テストクラスのバグは無視する。ただし、 JUnit テスト特有のバグは例外とする。 -->
+<!-- i.e. filter bug if ( classIsJUnitTest && ! bugIsRelatedToJUnit ) -->
+<Match>
+  <!-- Match フィルタは論理和と同等 -->
+
+  <Class name="~.*\.*Test" />
+  <!-- テストクラスは末尾に「Test」 -->
+
+  <Not>
+      <Bug code="IJU" /> <!-- 「IJU」は JUnit テストコード関連のバグコード -->
+  </Not>
+</Match>
+]]>
+</programlisting>
+</para>
+
+<para>
+  12. 完全な除外フィルター。 Groovy ソースファイルから生成された全クラスを除外します。
+
+<programlisting>
+<![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<FindBugsFilter>
+<Match>
+    <Source name="~.*\.groovy" />
+</Match>
+</FindBugsFilter>
+]]>
+</programlisting>
 </para>
 
 </sect1>
@@ -1380,6 +1628,15 @@
        <Bug pattern="DLS_DEAD_LOCAL_STORE" />
        <Priority value="2" />
      </Match>
+
+     <!-- テストクラスのバグすべて。 JUnit 特有のバグは除く。 -->
+     <Match>
+      <Class name="~.*\.*Test" />
+      <Not>
+          <Bug code="IJU" />
+      </Not>
+     </Match>
+
 </FindBugsFilter>
 ]]>
 </programlisting>
@@ -1489,7 +1746,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.CheckForNull</command></term>
     <listitem>
-<command>[Target]</command> Field, Method, Parameter
+    <para>
+        <command>[Target]</command> Field, Method, Parameter
+    </para>
     </listitem>
     <listitem>
       <para>アノテーションをつけた要素は、 null である可能性があります。したがって、当該要素を使用する際は null チェックをするべきです。このアノテーションをメソッドに適用すると、メソッドの戻り値に適用されます。</para>
@@ -1499,7 +1758,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.CheckReturnValue</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Method, Constructor
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -1524,7 +1785,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotation</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Type, Package
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -1543,11 +1806,10 @@
     </listitem>
     <listitem>
       <para>
-Indicates that all members of the class or package should be annotated with the default
-value of the supplied annotation classes. This would be used for behavior annotations
-such as @NonNull, @CheckForNull, or @CheckReturnValue. In particular, you can use
-@DefaultAnnotation(NonNull.class) on a class or package, and then use @Nullable only
-on those parameters, methods or fields that you want to allow to be null.
+クラスまたはパッケージのすべてのメンバーが指定されたアノテーションクラスのデフォルト値でアノテートされることを指定することができます。
+この指定は @NonNull 、 @CheckForNull 、または @CheckReturnValueなどに使用する想定です。
+具体的には、 クラスまたはパッケージに @DefaultAnnotation(NonNull.class) を指定した上で、 
+null を許容したいパラメーター、メソッドまたはフィールドにのみ @Nullable を指定するという使用方法があります。
       </para>
     </listitem>
   </varlistentry>
@@ -1555,7 +1817,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForFields</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Type, Package
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -1574,7 +1838,7 @@
     </listitem>
     <listitem>
       <para>
-This is same as the DefaultAnnotation except it only applys to fields.
+フィールドのみに適用されること以外は DefaultAnnotation と同様です。
       </para>
     </listitem>
   </varlistentry>
@@ -1582,7 +1846,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForMethods</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Type, Package
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -1601,7 +1867,7 @@
     </listitem>
     <listitem>
       <para>
-This is same as the DefaultAnnotation except it only applys to methods.
+メソッドのみに適用されること以外は DefaultAnnotation と同様です。
       </para>
     </listitem>
   </varlistentry>
@@ -1609,7 +1875,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForParameters</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Type, Package
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -1628,7 +1896,7 @@
     </listitem>
     <listitem>
       <para>
-This is same as the DefaultAnnotation except it only applys to method parameters.
+パラメーターのみに適用されること以外は DefaultAnnotation と同様です。
       </para>
     </listitem>
   </varlistentry>
@@ -1636,7 +1904,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.NonNull</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Field, Method, Parameter
+    </para>
     </listitem>
     <listitem>
       <para>アノテーションをつけた要素は、 null であってはいけません。アノテーションをつけたフィールドは、構築完了後 null であってはいけません。アノテーションをつけたメソッドは、 null ではない値を戻り値としなければなりません。</para>
@@ -1646,13 +1916,18 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.Nullable</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Field, Method, Parameter
+    </para>
     </listitem>
     <listitem>
-      <para>アノテーションをつけた要素は、 null であってはいけません。In general, this means developers will have to read the documentation to determine when a null value is acceptable and whether it is neccessary to check for a null value. FindBugs will treat the annotated items as though they had no annotation.</para>
       <para>
-In pratice this annotation is useful only for overriding an overarching NonNull
-annotation.
+アノテーションをつけた要素は、 条件により null である可能性があります。
+一般に、開発者はドキュメントを読んで null 値を許容するかどうかまたは null 値をチェックするかどうかを決定する必要があります。
+FindBugs はこのアノテーションをつけた要素を、アノテーションがついていないものと同様に扱います。
+      </para>
+      <para>
+実際には、このアノテーションは NonNull をつけた要素をオーバーライドする場合に有用です。
       </para>
     </listitem>
   </varlistentry>
@@ -1660,7 +1935,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.OverrideMustInvoke</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Method
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -1668,8 +1945,7 @@
           <term><command>[Parameter]</command></term>
           <listitem>
             <para>
-              <command>value:</command>Specify when the super invocation should be
-              performed (FIRST, ANYTIME, LAST). Default value:ANYTIME.
+              <command>value:</command>super の呼び出し箇所を指定します (FIRST, ANYTIME, LAST)。 デフォルト値 :ANYTIME。
             </para>
           </listitem>
         </varlistentry>
@@ -1677,11 +1953,9 @@
     </listitem>
     <listitem>
       <para>
-Used to annotate a method that, if overridden, must (or should) be invoke super
-in the overriding method. Examples of such methods include finalize() and clone().
-The argument to the method indicates when the super invocation should occur:
-at any time, at the beginning of the overriding method, or at the end of the overriding method.
-(This anotation is not implmemented in FindBugs as of September 8, 2006).
+オーバーライドされた場合にオーバーライドメソッド内で super を呼び出すべきメソッドにアノテートします。
+例えば、 finalize() や clone() がそのようなメソッドに該当します。
+引数は、 super の呼び出し箇所を指定します。すなわち、随時、メソッドの最初またはメソッドの最後です。
       </para>
     </listitem>
   </varlistentry>
@@ -1690,7 +1964,7 @@
     <term><command>edu.umd.cs.findbugs.annotations.PossiblyNull</command></term>
     <listitem>
       <para>
-This annotation is deprecated. Use CheckForNull instead.
+非推奨です。 CheckForNull を使用してください。
       </para>
     </listitem>
   </varlistentry>
@@ -1698,7 +1972,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.SuppressWarnings</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Type, Field, Method, Parameter, Constructor, Package
+    </para>
     </listitem>
     <listitem>
       <variablelist>
@@ -1706,12 +1982,12 @@
           <term><command>[Parameter]</command></term>
           <listitem>
             <para>
-              <command>value:</command>The name of the warning. More than one name can be specified.
+              <command>value:</command>警告の名称。複数の名称を指定することができます。
             </para>
           </listitem>
           <listitem>
             <para>
-              <command>justification:</command>Reason why the warning should be ignored. デフォルト値 :&quot;&quot;。</para>
+              <command>justification:</command>警告を無視する理由。 デフォルト値 :&quot;&quot;。</para>
           </listitem>
         </varlistentry>
       </variablelist>
@@ -1732,7 +2008,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.UnknownNullness</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Field, Method, Parameter
+    </para>
     </listitem>
     <listitem>
       <para>
@@ -1744,7 +2022,9 @@
   <varlistentry>
     <term><command>edu.umd.cs.findbugs.annotations.UnknownNullness</command></term>
     <listitem>
+    <para>
       <command>[Target]</command> Field, Method, Parameter
+    </para>
     </listitem>
     <listitem>
       <para>
@@ -1755,10 +2035,10 @@
 </variablelist>
 
 <para>また、 &FindBugs; 次に示すアノテーションもサポートしています。 :<itemizedlist>
-  <listitem>net.jcip.annotations.GuardedBy</listitem>
-  <listitem>net.jcip.annotations.Immutable</listitem>
-  <listitem>net.jcip.annotations.NotThreadSafe</listitem>
-  <listitem>net.jcip.annotations.ThreadSafe</listitem>
+  <listitem><para>net.jcip.annotations.GuardedBy</para></listitem>
+  <listitem><para>net.jcip.annotations.Immutable</para></listitem>
+  <listitem><para>net.jcip.annotations.NotThreadSafe</para></listitem>
+  <listitem><para>net.jcip.annotations.ThreadSafe</para></listitem>
 </itemizedlist>
 </para>
 <para><ulink url="http://jcip.net/">Java Concurrency in Practice</ulink> の <ulink url="http://jcip.net/annotations/doc/index.html"> API ドキュメント</ulink> を参照してください。</para>
@@ -2016,6 +2296,7 @@
 <row><entry>-newCode[:truth]</entry>            <entry>newCode=&quot;[true|false]&quot;</entry>           <entry>新クラスの追加によってもたらされた警告のみ出力されます。</entry></row>
 <row><entry>-removedCode[:truth]</entry>        <entry>removedCode=&quot;[true|false]&quot;</entry>       <entry>クラスの削除によって除去された警告のみ出力されます。</entry></row>
 <row><entry>-priority &lt;level&gt;</entry>     <entry>priority=&quot;&lt;level&gt;&quot;</entry>         <entry>指定した優先度以上の優先度をもつ警告のみ出力されます。</entry></row>
+<row><entry>-maxRank &lt;rank&gt;</entry>       <entry>rank="[1..20]"</entry>                   <entry>allow only warnings with this rank or lower</entry></row>
 <row><entry>-class &lt;pattern&gt;</entry>      <entry>class=&quot;&lt;class&gt;&quot;</entry>            <entry>指定したパターンに一致する主クラスをもつ警告のみ出力されます。</entry></row>
 <row><entry>-bugPattern &lt;pattern&gt;</entry> <entry>bugPattern=&quot;&lt;pattern&gt;&quot;</entry>     <entry>指定したパターンに一致するバグ種別をもつ警告のみ出力されます。</entry></row>
 <row><entry>-category &lt;category&gt;</entry>  <entry>category=&quot;&lt;category&gt;&quot;</entry>      <entry>指定した文字列で始まるカテゴリーの警告のみ出力されます。</entry></row>
@@ -2583,8 +2864,8 @@
 <para>Thomas Klaeger contributed a number of bug fixes and
 bug detector improvements.</para>
 
-<para>Andrei Loskutov made a number of improvements to the
-Eclipse plugin.</para>
+<para>Andrey Loskutov made a number of bug fixes and
+bug detector improvements. He is maintainer of the Eclipse plugin.</para>
 
 <para>Brian Goetz contributed a major refactoring of the
 visitor classes to improve readability and understandability.</para>
diff --git a/doc/performance.html b/doc/performance.html
index 12718f0..6f85d0d 100644
--- a/doc/performance.html
+++ b/doc/performance.html
@@ -17,18 +17,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -41,15 +43,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/publications.html b/doc/publications.html
index 2a06a19..91f3a16 100644
--- a/doc/publications.html
+++ b/doc/publications.html
@@ -16,18 +16,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -40,15 +42,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/reportingBugs.html b/doc/reportingBugs.html
index c2bd70b..6ccb600 100644
--- a/doc/reportingBugs.html
+++ b/doc/reportingBugs.html
@@ -16,18 +16,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -40,15 +42,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/sourceInfo.html b/doc/sourceInfo.html
index 3b847d0..81c1efd 100644
--- a/doc/sourceInfo.html
+++ b/doc/sourceInfo.html
@@ -15,18 +15,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -39,15 +41,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/sysprops.html b/doc/sysprops.html
index ad55622..01259f2 100644
--- a/doc/sysprops.html
+++ b/doc/sysprops.html
@@ -15,18 +15,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -39,15 +41,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/team.html b/doc/team.html
index a97f46c..5fae41e 100644
--- a/doc/team.html
+++ b/doc/team.html
@@ -16,18 +16,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -40,15 +42,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/updateChecking.html b/doc/updateChecking.html
index 85384c3..cf2b975 100644
--- a/doc/updateChecking.html
+++ b/doc/updateChecking.html
@@ -18,18 +18,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -42,15 +44,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/doc/users.html b/doc/users.html
index 37efe15..4417ad3 100644
--- a/doc/users.html
+++ b/doc/users.html
@@ -18,18 +18,20 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Docs and Info</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="demo.html">Demo and data</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="users.html">Users and supporters</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="manual/index.html">Manual</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_ja.html">Bug descriptions(ja/&#26085;&#26412;&#35486;)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="bugDescriptions_fr.html">Bug descriptions(fr)</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="links.html">Links</a></font></td></tr> 
 
 <tr><td>&nbsp;</td></tr>
 
@@ -42,15 +44,15 @@
 <tr><td>&nbsp;</td></tr>
 
 <tr><td><b>Development</b></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
-<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="contributing.html">Contributing</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="team.html">Dev team</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="Changes.html">Change log</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr> 
+<tr><td><font size="-1">&nbsp;<a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr> 
 </table> 
 </td>
 
diff --git a/lib/annotations.jar b/lib/annotations.jar
index 3641ad6..a2f68fe 100644
--- a/lib/annotations.jar
+++ b/lib/annotations.jar
Binary files differ
diff --git a/lib/asm-3.3.jar b/lib/asm-3.3.jar
deleted file mode 100644
index 7638ae0..0000000
--- a/lib/asm-3.3.jar
+++ /dev/null
Binary files differ
diff --git a/lib/asm-analysis-3.3.jar b/lib/asm-analysis-3.3.jar
deleted file mode 100644
index 852d981..0000000
--- a/lib/asm-analysis-3.3.jar
+++ /dev/null
Binary files differ
diff --git a/lib/asm-commons-3.3.jar b/lib/asm-commons-3.3.jar
deleted file mode 100644
index 6f9d40f..0000000
--- a/lib/asm-commons-3.3.jar
+++ /dev/null
Binary files differ
diff --git a/lib/asm-debug-all-5.0.2.jar b/lib/asm-debug-all-5.0.2.jar
new file mode 100644
index 0000000..834c9d0
--- /dev/null
+++ b/lib/asm-debug-all-5.0.2.jar
Binary files differ
diff --git a/lib/asm-tree-3.3.jar b/lib/asm-tree-3.3.jar
deleted file mode 100644
index 4a5daa6..0000000
--- a/lib/asm-tree-3.3.jar
+++ /dev/null
Binary files differ
diff --git a/lib/asm-util-3.3.jar b/lib/asm-util-3.3.jar
deleted file mode 100644
index 115bcc7..0000000
--- a/lib/asm-util-3.3.jar
+++ /dev/null
Binary files differ
diff --git a/lib/asm-xml-3.3.jar b/lib/asm-xml-3.3.jar
deleted file mode 100644
index 61d6a8c..0000000
--- a/lib/asm-xml-3.3.jar
+++ /dev/null
Binary files differ
diff --git a/lib/bcel-6.0-SNAPSHOT.jar b/lib/bcel-6.0-SNAPSHOT.jar
new file mode 100644
index 0000000..11a974b
--- /dev/null
+++ b/lib/bcel-6.0-SNAPSHOT.jar
Binary files differ
diff --git a/lib/bcel.jar b/lib/bcel.jar
deleted file mode 100644
index fef26b1..0000000
--- a/lib/bcel.jar
+++ /dev/null
Binary files differ
diff --git a/lib/commons-lang-2.4.jar b/lib/commons-lang-2.4.jar
deleted file mode 100644
index 532939e..0000000
--- a/lib/commons-lang-2.4.jar
+++ /dev/null
Binary files differ
diff --git a/lib/findbugs-ant.jar b/lib/findbugs-ant.jar
index 239aaeb..e143099 100644
--- a/lib/findbugs-ant.jar
+++ b/lib/findbugs-ant.jar
Binary files differ
diff --git a/lib/findbugs.jar b/lib/findbugs.jar
index 4434bd4..af7db78 100644
--- a/lib/findbugs.jar
+++ b/lib/findbugs.jar
Binary files differ
diff --git a/lib/jaxen-1.1.1.jar b/lib/jaxen-1.1.1.jar
deleted file mode 100644
index b633631..0000000
--- a/lib/jaxen-1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/optionalPlugin/bugCollectionCloud.jar b/optionalPlugin/bugCollectionCloud.jar
index 19e5fcb..fa457ab 100644
--- a/optionalPlugin/bugCollectionCloud.jar
+++ b/optionalPlugin/bugCollectionCloud.jar
Binary files differ
diff --git a/optionalPlugin/noUpdateChecks.jar b/optionalPlugin/noUpdateChecks.jar
deleted file mode 100644
index 33aaf7a..0000000
--- a/optionalPlugin/noUpdateChecks.jar
+++ /dev/null
Binary files differ
diff --git a/optionalPlugin/poweruser.jar b/optionalPlugin/poweruser.jar
index 84e89dc..b1de9d6 100644
--- a/optionalPlugin/poweruser.jar
+++ b/optionalPlugin/poweruser.jar
Binary files differ
diff --git a/plugin/findbugsCommunalCloud.jar b/plugin/findbugsCommunalCloud.jar
deleted file mode 100644
index 6a2b7b9..0000000
--- a/plugin/findbugsCommunalCloud.jar
+++ /dev/null
Binary files differ
diff --git a/plugin/noUpdateChecks.jar b/plugin/noUpdateChecks.jar
new file mode 100644
index 0000000..07b1c5c
--- /dev/null
+++ b/plugin/noUpdateChecks.jar
Binary files differ
diff --git a/plugin/webCloudClient.jar b/plugin/webCloudClient.jar
deleted file mode 100644
index ec92caf..0000000
--- a/plugin/webCloudClient.jar
+++ /dev/null
Binary files differ