Display LocalVariables along with Locations in the html report.
[cfb.git] / test / net / jaekl / cfb / xml / messages / MessagesData.java
1 package net.jaekl.cfb.xml.messages;
2
3 public class MessagesData
4 {
5     private static final String DATA =  "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
6             + "\n"
7             + "<MessageCollection xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
8             + "  xsi:noNamespaceSchemaLocation=\"messagecollection.xsd\">\n"
9             + "  <!--\n"
10             + "  **********************************************************************\n"
11             + "  Plugin information\n"
12             + "  **********************************************************************\n"
13             + "  -->\n"
14             + "  <Plugin>\n"
15             + "    <ShortDescription>Core FindBugs plugin</ShortDescription>\n"
16             + "    <Details>\n"
17             + "<![CDATA[\n"
18             + "<p>\n"
19             + "This plugin contains all of the standard FindBugs detectors.\n"
20             + "</p>\n"
21             + "]]>\n"
22             + "    </Details>\n"
23             + "    <BugsUrl>http://findbugs.sourceforge.net/bugDescriptions.html</BugsUrl>\n"
24             + "    <AllBugsUrl>http://findbugs.sourceforge.net/allBugDescriptions.html</AllBugsUrl>\n"
25             + "  </Plugin>\n"
26             + "  <FindBugsMain cmd=\"addMessages\" class=\"edu.umd.cs.findbugs.AddMessages\">\n"
27             + "    <Description>Add msgs (e.g., textual descriptions of bugs) to analysis results</Description>\n"
28             + "  </FindBugsMain>\n"
29             + "  <FindBugsMain cmd=\"analyze\" class=\"edu.umd.cs.findbugs.FindBugs2\">\n"
30             + "    <Description>Perform FindBugs Analysis</Description>\n"
31             + "  </FindBugsMain>\n"
32             + "  <FindBugsMain cmd=\"gui\" class=\"edu.umd.cs.findbugs.gui2.Driver\">\n"
33             + "    <Description>Launch FindBugs GUI</Description>\n"
34             + "  </FindBugsMain>\n"
35             + "  <FindBugsMain cmd=\"list\" class=\"edu.umd.cs.findbugs.PrintingBugReporter\">\n"
36             + "    <Description>Convert analysis results to textual form</Description>\n"
37             + "  </FindBugsMain>\n"
38             + "  <FindBugsMain cmd=\"help\" class=\"edu.umd.cs.findbugs.ShowHelp\">\n"
39             + "    <Description>Provide help for commands</Description>\n"
40             + "  </FindBugsMain>\n"
41             + "  <FindBugsMain cmd=\"version\" class=\"edu.umd.cs.findbugs.Version\">\n"
42             + "    <Description>List FindBugs version</Description>\n"
43             + "  </FindBugsMain>\n"
44             + "  <FindBugsMain cmd=\"filter\" class=\"edu.umd.cs.findbugs.workflow.Filter\">\n"
45             + "    <Description>Filter analysis results</Description>\n"
46             + "  </FindBugsMain>\n"
47             + "  <FindBugsMain cmd=\"set\" class=\"edu.umd.cs.findbugs.workflow.SetBugDatabaseInfo\">\n"
48             + "    <Description>Set project configuration/options</Description>\n"
49             + "  </FindBugsMain>\n"
50             + "  <FindBugsMain cmd=\"history\" class=\"edu.umd.cs.findbugs.workflow.MineBugHistory\">\n"
51             + "    <Description>List details from multi-version analysis results</Description>\n"
52             + "  </FindBugsMain>\n"
53             + "  <FindBugsMain cmd=\"union\" class=\"edu.umd.cs.findbugs.workflow.UnionResults\">\n"
54             + "    <Description>Merge analysis results from disjoint components</Description>\n"
55             + "  </FindBugsMain>\n"
56             + "  <FindBugsMain cmd=\"merge\" class=\"edu.umd.cs.findbugs.workflow.Update\">\n"
57             + "    <Description>Combine analysis results from different versions of software to produce multi-version analysis results</Description>\n"
58             + "  </FindBugsMain>\n"
59             + "\n"
60             + "  <FindBugsMain cmd=\"dis\" class=\"edu.umd.cs.findbugs.workflow.PrintClass\">\n"
61             + "    <Description>Disassemble a class file</Description>\n"
62             + "  </FindBugsMain>\n"
63             + "  <FindBugsMain cmd=\"errors\" class=\"edu.umd.cs.findbugs.workflowListErrors\">\n"
64             + "    <Description>List analysis errors stored in results file</Description>\n"
65             + "  </FindBugsMain>\n"
66             + "\n"
67             + "  <!-- On changing this, please also update default cloud id in FindbugsPlugin -->\n"
68             + "  <Cloud id=\"edu.umd.cs.findbugs.cloud.doNothingCloud\">\n"
69             + "    <Description>(cloud disabled)</Description>\n"
70             + "    <Details>Bug reviews are disabled when using this plugin.</Details>\n"
71             + "  </Cloud>\n"
72             + "  <PluginComponent id=\"edu.umd.cs.findbugs.bugReporter.SuppressMultithreaded\">\n"
73             + "    <Description>Suppress multithreaded correctness issues</Description>\n"
74             + "    <Details>Suppress all multithreaded correctness issues</Details>\n"
75             + "  </PluginComponent>\n"
76             + "  <PluginComponent id=\"edu.umd.cs.findbugs.bugReporter.SuppressI18N\">\n"
77             + "    <Description>Suppress internationalization issues</Description>\n"
78             + "    <Details>Suppress all internationalization issues</Details>\n"
79             + "  </PluginComponent>\n"
80             + "  <PluginComponent id=\"edu.umd.cs.findbugs.bugReporter.SelectivelySuppressI18N\">\n"
81             + "    <Description>Suppress internationalization issues in all but selected packages</Description>\n"
82             + "    <Details>Suppress all internationalization issues except those specified in the i18n.properties resource</Details>\n"
83             + "  </PluginComponent>\n"
84             + "  <PluginComponent id=\"edu.umd.cs.findbugs.bugReporter.MaxRank14\">\n"
85             + "    <Description>Suppress all issues with rank higher than 14</Description>\n"
86             + "    <Details>Suppress all issues with rank higher than 14</Details>\n"
87             + "  </PluginComponent>\n"
88             + "  <PluginComponent id=\"edu.umd.cs.findbugs.bugReporter.SuppressMalicious\">\n"
89             + "    <Description>Suppress warnings about vulnerabilities to malicious code</Description>\n"
90             + "    <Details>Suppress warnings about vulnerabilities to malicious code</Details>\n"
91             + "  </PluginComponent>\n"
92             + "  <!--\n"
93             + "  **********************************************************************\n"
94             + "  Categories (replacing the BugCategoryDescriptions.properties file)\n"
95             + "  **********************************************************************\n"
96             + "   -->\n"
97             + "  <BugCategory category=\"CORRECTNESS\">\n"
98             + "    <Description>Correctness</Description>\n"
99             + "    <Abbreviation>C</Abbreviation>\n"
100             + "    <Details>Probable bug - an apparent coding mistake\n"
101             + "            resulting in code that was probably not what the\n"
102             + "            developer intended. We strive for a low false positive rate.</Details>\n"
103             + "  </BugCategory>\n"
104             + "  <BugCategory category=\"NOISE\">\n"
105             + "    <Description>Bogus random noise</Description>\n"
106             + "    <Abbreviation>N</Abbreviation>\n"
107             + "    <Details>Bogus random noise: intended to be useful\n"
108             + "    as a control in data mining experiments, not in finding actual bugs in software\n"
109             + "            </Details>\n"
110             + "  </BugCategory>\n"
111             + "  <BugCategory category=\"SECURITY\">\n"
112             + "    <Description>Security</Description>\n"
113             + "    <Abbreviation>S</Abbreviation>\n"
114             + "    <Details>A use of untrusted input in a way that could create a remotely exploitable security vulnerability.\n"
115             + "    </Details>\n"
116             + "  </BugCategory>\n"
117             + "  <BugCategory category=\"BAD_PRACTICE\">\n"
118             + "    <Description>Bad practice</Description>\n"
119             + "    <Abbreviation>B</Abbreviation>\n"
120             + "    <Details>Violations of recommended and essential\n"
121             + "            coding practice. Examples include hash code and equals\n"
122             + "            problems, cloneable idiom, dropped exceptions,\n"
123             + "            Serializable problems, and misuse of finalize.\n"
124             + "            We strive to make this analysis accurate,\n"
125             + "            although some groups may\n"
126             + "            not care about some of the bad practices.</Details>\n"
127             + "  </BugCategory>\n"
128             + "  <BugCategory category=\"STYLE\">\n"
129             + "    <Description>Dodgy code</Description>\n"
130             + "    <Abbreviation>D</Abbreviation>\n"
131             + "    <Details>code that is confusing, anomalous, or\n"
132             + "            written in a way that leads itself to errors.\n"
133             + "            Examples include dead local stores, switch fall through,\n"
134             + "            unconfirmed casts, and redundant null check of value\n"
135             + "            known to be null.\n"
136             + "            More false positives accepted.\n"
137             + "            In previous versions of FindBugs, this category was known as Style.\n"
138             + "</Details>\n"
139             + "  </BugCategory>\n"
140             + "  <BugCategory category=\"PERFORMANCE\">\n"
141             + "    <Description>Performance</Description>\n"
142             + "    <Abbreviation>P</Abbreviation>\n"
143             + "    <Details>code that is not necessarily incorrect but may be inefficient</Details>\n"
144             + "  </BugCategory>\n"
145             + "  <BugCategory category=\"MALICIOUS_CODE\">\n"
146             + "    <Description>Malicious code vulnerability</Description>\n"
147             + "    <Abbreviation>V</Abbreviation>\n"
148             + "    <Details>code that is vulnerable to attacks from untrusted code</Details>\n"
149             + "  </BugCategory>\n"
150             + "  <BugCategory category=\"MT_CORRECTNESS\">\n"
151             + "    <Description>Multithreaded correctness</Description>\n"
152             + "    <Abbreviation>M</Abbreviation>\n"
153             + "    <Details>code flaws having to do with threads, locks, and volatiles</Details>\n"
154             + "  </BugCategory>\n"
155             + "  <BugCategory category=\"I18N\">\n"
156             + "    <Description>Internationalization</Description>\n"
157             + "    <Abbreviation>I</Abbreviation>\n"
158             + "    <Details>code flaws having to do with internationalization and locale</Details>\n"
159             + "    <!-- DM_CONVERT_CASE is the only core bug pattern in this category -->\n"
160             + "  </BugCategory>\n"
161             + "  <BugCategory category=\"EXPERIMENTAL\">\n"
162             + "    <Description>Experimental</Description>\n"
163             + "    <Abbreviation>X</Abbreviation>\n"
164             + "    <Details>Experimental and not fully vetted bug patterns</Details>\n"
165             + "    <!-- DM_CONVERT_CASE is the only core bug pattern in this category -->\n"
166             + "  </BugCategory>\n"
167             + "  <!--\n"
168             + "  **********************************************************************\n"
169             + "  Detectors\n"
170             + "  **********************************************************************\n"
171             + "   -->\n"
172             + "  <Detector class=\"edu.umd.cs.findbugs.detect.FindRoughConstants\">\n"
173             + "    <Details>\n"
174             + "<![CDATA[\n"
175             + "<p> Finds constants which roughly (but not precisely) equal to known values like Math.PI.\n"
176             + "</p>\n"
177             + "]]>\n"
178             + "     </Details>\n"
179             + "  </Detector>\n"
180             + "  <!--\n"
181             + "  **********************************************************************\n"
182             + "  BugPatterns\n"
183             + "  **********************************************************************\n"
184             + "   -->\n"
185             + "  <BugPattern type=\"DM_DEFAULT_ENCODING\">\n"
186             + "    <ShortDescription>Reliance on default encoding</ShortDescription>\n"
187             + "    <LongDescription>Found reliance on default encoding in {1}: {2}</LongDescription>\n"
188             + "    <Details>\n"
189             + "<![CDATA[\n"
190             + "<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>\n"
191             + "]]>\n"
192             + "      </Details>\n"
193             + "  </BugPattern>\n"
194             + "  <BugPattern type=\"RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE\">\n"
195             + "    <ShortDescription>Nullcheck of value previously dereferenced</ShortDescription>\n"
196             + "    <LongDescription>Nullcheck of {2.givenClass} at {4.lineNumber} of value previously dereferenced in {1}</LongDescription>\n"
197             + "    <Details>\n"
198             + "<![CDATA[\n"
199             + "<p> A value is checked here to see whether it is null, but this value can't\n"
200             + "be null because it was previously dereferenced and if it were null a null pointer\n"
201             + "exception would have occurred at the earlier dereference.\n"
202             + "Essentially, this code and the previous dereference\n"
203             + "disagree as to whether this value is allowed to be null. Either the check is redundant\n"
204             + "or the previous dereference is erroneous.</p>\n"
205             + "]]>\n"
206             + "    </Details>\n"
207             + "  </BugPattern>\n"
208             + "  <BugPattern type=\"RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE\">\n"
209             + "    <ShortDescription>Redundant nullcheck of value known to be null</ShortDescription>\n"
210             + "    <LongDescription>Redundant nullcheck of {2} which is known to be null in {1}</LongDescription>\n"
211             + "    <Details>\n"
212             + "<![CDATA[\n"
213             + "<p> This method contains a redundant check of a known null value against\n"
214             + "the constant null.</p>\n"
215             + "]]>\n"
216             + "    </Details>\n"
217             + "  </BugPattern>\n"
218             + "  <BugPattern type=\"RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE\">\n"
219             + "    <ShortDescription>Redundant nullcheck of value known to be non-null</ShortDescription>\n"
220             + "    <LongDescription>Redundant nullcheck of {2}, which is known to be non-null in {1}</LongDescription>\n"
221             + "    <Details>\n"
222             + "<![CDATA[\n"
223             + "<p> This method contains a redundant check of a known non-null value against\n"
224             + "the constant null.</p>\n"
225             + "]]>\n"
226             + "    </Details>\n"
227             + "  </BugPattern>\n"
228             + "  <BugPattern type=\"RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES\">\n"
229             + "    <ShortDescription>Redundant comparison of two null values</ShortDescription>\n"
230             + "    <LongDescription>Redundant comparison of two null values in {1}</LongDescription>\n"
231             + "    <Details>\n"
232             + "<![CDATA[\n"
233             + "<p> This method contains a redundant comparison of two references known to\n"
234             + "both be definitely null.</p>\n"
235             + "]]>\n"
236             + "    </Details>\n"
237             + "  </BugPattern>\n"
238             + "  <BugPattern type=\"RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE\">\n"
239             + "    <ShortDescription>Redundant comparison of non-null value to null</ShortDescription>\n"
240             + "    <LongDescription>Redundant comparison of non-null value to null in {1}</LongDescription>\n"
241             + "    <Details>\n"
242             + "<![CDATA[\n"
243             + "<p> This method contains a reference known to be non-null with another reference\n"
244             + "known to be null.</p>\n"
245             + "]]>\n"
246             + "    </Details>\n"
247             + "  </BugPattern>\n"
248             + "  <BugPattern type=\"RCN_REDUNDANT_CHECKED_NULL_COMPARISON\" deprecated=\"true\">\n"
249             + "    <!-- deprecated in favor of two separate RCN_ patterns -->\n"
250             + "    <ShortDescription>Redundant comparison to null of previously checked value</ShortDescription>\n"
251             + "    <LongDescription>Redundant comparison to null of previously checked {2} in {1}</LongDescription>\n"
252             + "    <Details>\n"
253             + "<![CDATA[\n"
254             + "<p> This method contains a redundant comparison of a reference value\n"
255             + "to null. Two types of redundant comparison are reported:\n"
256             + "</p>\n"
257             + "<ul>\n"
258             + "<li> Both values compared are definitely null</li>\n"
259             + "<li> One value is definitely null and the other is definitely not null</li>\n"
260             + "</ul>\n"
261             + "\n"
262             + "<p> This particular warning generally indicates that a\n"
263             + "value known not to be null was checked against null.\n"
264             + "While the check is not necessary, it may simply be a case\n"
265             + "of defensive programming.</p>\n"
266             + "]]>\n"
267             + "    </Details>\n"
268             + "  </BugPattern>\n"
269             + "  <BugPattern type=\"VO_VOLATILE_INCREMENT\">\n"
270             + "    <ShortDescription>An increment to a volatile field isn't atomic</ShortDescription>\n"
271             + "    <LongDescription>Increment of volatile field {2} in {1}</LongDescription>\n"
272             + "    <Details>\n"
273             + "<![CDATA[\n"
274             + "<p>This code increments a volatile field. Increments of volatile fields aren't\n"
275             + "atomic. If more than one thread is incrementing the field at the same time,\n"
276             + "increments could be lost.\n"
277             + "</p>\n"
278             + "]]>\n"
279             + "    </Details>\n"
280             + "  </BugPattern>\n"
281             + "  <BugPattern type=\"DM_NUMBER_CTOR\">\n"
282             + "    <ShortDescription>Method invokes inefficient Number constructor; use static valueOf instead</ShortDescription>\n"
283             + "    <LongDescription>{1} invokes inefficient {2} constructor; use {3} instead</LongDescription>\n"
284             + "    <Details>\n"
285             + "      <![CDATA[\n"
286             + "      <p>\n"
287             + "      Using <code>new Integer(int)</code> is guaranteed to always result in a new object whereas\n"
288             + "      <code>Integer.valueOf(int)</code> allows caching of values to be done by the compiler, class library, or JVM.\n"
289             + "      Using of cached values avoids object allocation and the code will be faster.\n"
290             + "      </p>\n"
291             + "      <p>\n"
292             + "      Values between -128 and 127 are guaranteed to have corresponding cached instances\n"
293             + "      and using <code>valueOf</code> is approximately 3.5 times faster than using constructor.\n"
294             + "      For values outside the constant range the performance of both styles is the same.\n"
295             + "      </p>\n"
296             + "      <p>\n"
297             + "      Unless the class must be compatible with JVMs predating Java 1.5,\n"
298             + "      use either autoboxing or the <code>valueOf()</code> method when creating instances of\n"
299             + "      <code>Long</code>, <code>Integer</code>, <code>Short</code>, <code>Character</code>, and <code>Byte</code>.\n"
300             + "      </p>\n"
301             + "      ]]>\n"
302             + "    </Details>\n"
303             + "  </BugPattern>\n"
304             + "  <!--\n"
305             + "  **********************************************************************\n"
306             + "   BugCodes\n"
307             + "  **********************************************************************\n"
308             + "   -->\n"
309             + "  <BugCode abbrev=\"FS\">Format string problem</BugCode>\n"
310             + "  <BugCode abbrev=\"SKIPPED\">Analysis skipped</BugCode>\n"
311             + "  <BugCode abbrev=\"IL\">Infinite Loop</BugCode>\n"
312             + "  <BugCode abbrev=\"VO\">Use of volatile</BugCode>\n"
313             + "  <BugCode abbrev=\"UI\">Unsafe inheritance</BugCode>\n"
314             + "  <BugCode abbrev=\"FL\">Use of floating point precision</BugCode>\n"
315             + "  <BugCode abbrev=\"TEST\">Testing prototype and incomplete bug pattern</BugCode>\n"
316             + "  <BugCode abbrev=\"IMSE\">Dubious catching of IllegalMonitorStateException</BugCode>\n"
317             + "  <BugCode abbrev=\"CN\">Bad implementation of cloneable idiom</BugCode>\n"
318             + "  <BugCode abbrev=\"CAA\">Covariant array assignment</BugCode>\n"
319             + "  <BugCode abbrev=\"AT\">Possible atomicity violation</BugCode>\n"
320             + "  <BugCode abbrev=\"FI\">Incorrect use of finalizers</BugCode>\n"
321             + "  <BugCode abbrev=\"ES\">Checking String equality using == or !=</BugCode>\n"
322             + "  <BugCode abbrev=\"ML\">Synchronization on updated field (Mutable Lock)</BugCode>\n"
323             + "  <BugCode abbrev=\"UG\">Unsynchronized get method, synchronized set method</BugCode>\n"
324             + "  <BugCode abbrev=\"IO\">Input/Output problem</BugCode>\n"
325             + "  <BugCode abbrev=\"IC\">Initialization circularity</BugCode>\n"
326             + "  <BugCode abbrev=\"SI\">Suspicious static initializer</BugCode>\n"
327             + "  <BugCode abbrev=\"MSF\">Mutable servlet field</BugCode>\n"
328             + "  <BugCode abbrev=\"IS\">Inconsistent synchronization</BugCode>\n"
329             + "  <BugCode abbrev=\"Eq\">Problems with implementation of equals()</BugCode>\n"
330             + "  <BugCode abbrev=\"Co\">Problems with implementation of compareTo()</BugCode>\n"
331             + "  <BugCode abbrev=\"HE\">Equal objects must have equal hashcodes</BugCode>\n"
332             + "  <BugCode abbrev=\"AM\">API misuse</BugCode>\n"
333             + "  <BugCode abbrev=\"Dm\">Dubious method used</BugCode>\n"
334             + "  <BugCode abbrev=\"Bx\">Questionable Boxing of primitive value</BugCode>\n"
335             + "  <BugCode abbrev=\"UR\">Uninitialized read of field in constructor</BugCode>\n"
336             + "  <BugCode abbrev=\"RR\">Method ignores results of InputStream.read()</BugCode>\n"
337             + "  <BugCode abbrev=\"NN\">Naked notify</BugCode>\n"
338             + "  <BugCode abbrev=\"UW\">Unconditional wait</BugCode>\n"
339             + "  <BugCode abbrev=\"SP\">Method spins on field</BugCode>\n"
340             + "  <BugCode abbrev=\"DC\">Double check pattern</BugCode>\n"
341             + "  <BugCode abbrev=\"Wa\">Wait not in loop</BugCode>\n"
342             + "  <BugCode abbrev=\"No\">Using notify() rather than notifyAll()</BugCode>\n"
343             + "  <BugCode abbrev=\"DE\">Dropped or ignored exception</BugCode>\n"
344             + "  <BugCode abbrev=\"Ru\">Method invokes run()</BugCode>\n"
345             + "  <BugCode abbrev=\"It\">Incorrect definition of Iterator</BugCode>\n"
346             + "  <BugCode abbrev=\"SnVI\">Serializable class with no Version ID</BugCode>\n"
347             + "  <BugCode abbrev=\"Se\">Incorrect definition of Serializable class</BugCode>\n"
348             + "  <BugCode abbrev=\"WS\">Class's writeObject() method is synchronized but nothing else is</BugCode>\n"
349             + "  <BugCode abbrev=\"RS\">Class's readObject() method is synchronized</BugCode>\n"
350             + "  <BugCode abbrev=\"SC\">Constructor invokes Thread.start()</BugCode>\n"
351             + "  <BugCode abbrev=\"MS\">Mutable static field</BugCode>\n"
352             + "  <BugCode abbrev=\"ME\">Mutable enum field</BugCode>\n"
353             + "  <BugCode abbrev=\"EI\">Method returning array may expose internal representation</BugCode>\n"
354             + "  <BugCode abbrev=\"Nm\">Confusing method name</BugCode>\n"
355             + "  <BugCode abbrev=\"SS\">Unread field should be static</BugCode>\n"
356             + "  <BugCode abbrev=\"UuF\">Unused field</BugCode>\n"
357             + "  <BugCode abbrev=\"UrF\">Unread field</BugCode>\n"
358             + "  <BugCode abbrev=\"UwF\">Unwritten field</BugCode>\n"
359             + "  <BugCode abbrev=\"SIC\">Inner class could be made static</BugCode>\n"
360             + "  <BugCode abbrev=\"TLW\">Wait with two locks held</BugCode>\n"
361             + "  <BugCode abbrev=\"RANGE\">Range checks</BugCode>\n"
362             + "  <BugCode abbrev=\"RV\">Bad use of return value from method</BugCode>\n"
363             + "  <BugCode abbrev=\"LG\">Logger problem</BugCode>\n"
364             + "  <BugCode abbrev=\"IA\">Ambiguous invocation</BugCode>\n"
365             + "  <BugCode abbrev=\"HSC\">Huge String constants</BugCode>\n"
366             + "  <BugCode abbrev=\"HRS\">HTTP Response splitting vulnerability</BugCode>\n"
367             + "  <BugCode abbrev=\"PT\">Path traversal</BugCode>\n"
368             + "  <BugCode abbrev=\"XSS\">Cross site scripting vulnerability</BugCode>\n"
369             + "  <BugCode abbrev=\"NP\">Null pointer dereference</BugCode>\n"
370             + "  <BugCode abbrev=\"NOISE\">Bogus random warning</BugCode>\n"
371             + "  <BugCode abbrev=\"RpC\">Repeated conditional test</BugCode>\n"
372             + "  <BugCode abbrev=\"OS\">Stream not closed on all paths</BugCode>\n"
373             + "  <BugCode abbrev=\"PZLA\">Prefer zero length arrays to null to indicate no results</BugCode>\n"
374             + "  <BugCode abbrev=\"UCF\">Useless control flow</BugCode>\n"
375             + "  <BugCode abbrev=\"RCN\">Redundant comparison to null</BugCode>\n"
376             + "  <BugCode abbrev=\"UL\">Lock not released on all paths</BugCode>\n"
377             + "  <BugCode abbrev=\"RC\">Questionable use of reference equality rather than calling equals</BugCode>\n"
378             + "  <BugCode abbrev=\"EC\">Comparing incompatible types for equality</BugCode>\n"
379             + "  <BugCode abbrev=\"MWN\">Mismatched wait() or notify()</BugCode>\n"
380             + "  <BugCode abbrev=\"SA\">Useless self-operation</BugCode>\n"
381             + "  <BugCode abbrev=\"INT\">Suspicious integer expression</BugCode>\n"
382             + "  <BugCode abbrev=\"BIT\">Suspicious bitwise logical expression</BugCode>\n"
383             + "  <BugCode abbrev=\"LI\">Unsynchronized Lazy Initialization</BugCode>\n"
384             + "  <BugCode abbrev=\"JLM\">Synchronization on java.util.concurrent objects</BugCode>\n"
385             + "  <BugCode abbrev=\"UPM\">Private method is never called</BugCode>\n"
386             + "  <BugCode abbrev=\"UMAC\">Uncallable method of anonymous class</BugCode>\n"
387             + "  <BugCode abbrev=\"EI2\">Storing reference to mutable object</BugCode>\n"
388             + "  <BugCode abbrev=\"NS\">Suspicious use of non-short-circuit boolean operator</BugCode>\n"
389             + "  <BugCode abbrev=\"ODR\">Database resource not closed on all paths</BugCode>\n"
390             + "  <BugCode abbrev=\"SBSC\">String concatenation in loop using + operator</BugCode>\n"
391             + "  <BugCode abbrev=\"IIL\">Inefficient code which can be moved outside of the loop</BugCode>\n"
392             + "  <BugCode abbrev=\"IIO\">Inefficient use of String.indexOf(String) or String.lastIndexOf(String)</BugCode>\n"
393             + "  <BugCode abbrev=\"ITA\">Inefficient use of collection.toArray(new Foo[0])</BugCode>\n"
394             + "  <BugCode abbrev=\"SW\">Swing coding rules</BugCode>\n"
395             + "  <BugCode abbrev=\"IJU\">Improperly implemented JUnit TestCase</BugCode>\n"
396             + "  <BugCode abbrev=\"BOA\">Badly Overridden Adapter</BugCode>\n"
397             + "  <BugCode abbrev=\"SF\">Switch case falls through</BugCode>\n"
398             + "  <BugCode abbrev=\"SIO\">Superfluous instanceof</BugCode>\n"
399             + "  <BugCode abbrev=\"BAC\">Bad Applet Constructor</BugCode>\n"
400             + "  <BugCode abbrev=\"UOE\">Use Object Equals</BugCode>\n"
401             + "  <BugCode abbrev=\"STI\">Suspicious Thread Interrupted</BugCode>\n"
402             + "  <BugCode abbrev=\"DLS\">Dead local store</BugCode>\n"
403             + "  <BugCode abbrev=\"IP\">Ignored parameter</BugCode>\n"
404             + "  <BugCode abbrev=\"MF\">Masked Field</BugCode>\n"
405             + "  <BugCode abbrev=\"WMI\">Inefficient Map Iterator</BugCode>\n"
406             + "  <BugCode abbrev=\"ISC\">Instantiated Static Class</BugCode>\n"
407             + "  <BugCode abbrev=\"REC\">RuntimeException capture</BugCode>\n"
408             + "  <BugCode abbrev=\"FE\">Test for floating point equality</BugCode>\n"
409             + "  <BugCode abbrev=\"UM\">Unnecessary Math on constants</BugCode>\n"
410             + "  <BugCode abbrev=\"UC\">Useless code</BugCode>\n"
411             + "  <BugCode abbrev=\"CNT\">Rough value of known constant</BugCode>\n"
412             + "  <BugCode abbrev=\"CD\">Circular Dependencies</BugCode>\n"
413             + "  <BugCode abbrev=\"RI\">Redundant Interfaces</BugCode>\n"
414             + "  <BugCode abbrev=\"MTIA\">Multithreaded Instance Access</BugCode>\n"
415             + "  <BugCode abbrev=\"PS\">Public Semaphores</BugCode>\n"
416             + "  <BugCode abbrev=\"BSHIFT\">Bad shift</BugCode>\n"
417             + "  <BugCode abbrev=\"ICAST\">Casting from integer values</BugCode>\n"
418             + "  <BugCode abbrev=\"RE\">Regular expressions</BugCode>\n"
419             + "  <BugCode abbrev=\"SQL\">Potential SQL Problem</BugCode>\n"
420             + "  <BugCode abbrev=\"WL\">Possible locking on wrong object</BugCode>\n"
421             + "  <BugCode abbrev=\"ESync\">Empty Synchronized blocks</BugCode>\n"
422             + "  <BugCode abbrev=\"QF\">Questionable for loops</BugCode>\n"
423             + "  <BugCode abbrev=\"VA\">Var arg problems</BugCode>\n"
424             + "  <BugCode abbrev=\"BC\">Bad casts of object references</BugCode>\n"
425             + "  <BugCode abbrev=\"IM\">Questionable integer math</BugCode>\n"
426             + "  <BugCode abbrev=\"ST\">Misuse of static fields</BugCode>\n"
427             + "  <BugCode abbrev=\"JCIP\">Violation of net.jcip annotations</BugCode>\n"
428             + "  <BugCode abbrev=\"USELESS_STRING\">Useless/non-informative string generated</BugCode>\n"
429             + "  <BugCode abbrev=\"DMI\">Dubious method invocation</BugCode>\n"
430             + "  <BugCode abbrev=\"PZ\">Warning inspired by Josh Bloch's and Neal Gafter's Programming Puzzlers</BugCode>\n"
431             + "  <BugCode abbrev=\"SWL\">Sleep with lock held</BugCode>\n"
432             + "  <BugCode abbrev=\"J2EE\">J2EE error</BugCode>\n"
433             + "  <BugCode abbrev=\"DB\">Duplicate Branches</BugCode>\n"
434             + "  <BugCode abbrev=\"IMA\">Inefficient Member Access</BugCode>\n"
435             + "  <BugCode abbrev=\"XFB\">XML Factory Bypass</BugCode>\n"
436             + "  <BugCode abbrev=\"USM\">Useless Subclass Method</BugCode>\n"
437             + "  <BugCode abbrev=\"CI\">Confused Inheritance</BugCode>\n"
438             + "  <BugCode abbrev=\"QBA\">Questionable Boolean Assignment</BugCode>\n"
439             + "  <BugCode abbrev=\"VR\">Version compatibility issue</BugCode>\n"
440             + "  <BugCode abbrev=\"DP\">Use doPrivileged</BugCode>\n"
441             + "  <BugCode abbrev=\"GC\">Suspicious calls to generic collection methods</BugCode>\n"
442             + "  <BugCode abbrev=\"STCAL\">Static use of type Calendar or DateFormat</BugCode>\n"
443             + "  <BugCode abbrev=\"TQ\">Inconsistent use of type qualifier annotations</BugCode>\n"
444             + "  <BugCode abbrev=\"OBL\">Unsatisfied obligation to clean up stream or resource</BugCode>\n"
445             + "  <BugCode abbrev=\"FB\">FindBugs did not produce the expected warnings on a method</BugCode>\n"
446             + "  <BugCode abbrev=\"DL\">Unintended contention or possible deadlock due to locking on shared objects</BugCode>\n"
447             + "</MessageCollection>\n";
448     
449     public static String getData() { return DATA; }
450 }