type,rule,count,l1,l2,l3,l4,l5,l6,severity 5591,Field names should comply with a naming convention,36,13,4,4,1,5,9,MINOR 5112,"Classes from ""sun.*"" packages should not be used",7,0,0,1,1,0,5,MAJOR 5195,Local variables should not shadow class fields,28,2,2,6,3,3,12,MAJOR 5113,String literals should not be duplicated,80,2,3,7,11,17,40,CRITICAL 5532,Cognitive Complexity of methods should not be too high,57,2,7,7,13,17,11,CRITICAL 5595,Constant names should comply with a naming convention,80,6,26,4,8,11,25,CRITICAL 5356,"""entrySet()"" should be iterated when both the key and value are needed",10,1,1,2,0,5,1,MAJOR 5430,Methods should not be empty,56,3,13,5,4,11,20,CRITICAL 5340,Using Sockets is security-sensitive,7,0,4,2,0,0,1,CRITICAL 5391,Method names should comply with a naming convention,22,3,4,0,0,8,7,MINOR 5266,"""for"" loop stop conditions should be invariant",12,4,2,1,0,2,3,MAJOR 5153,Standard outputs should not be used directly to log anything,111,9,7,20,9,15,51,MAJOR 5579,Local variable and method parameter names should comply with a naming convention,45,26,1,0,0,5,13,MINOR 5328,Sections of code should not be commented out,69,8,8,8,4,12,29,MAJOR 5076,Modifiers should be declared in the correct order,40,0,6,1,6,20,7,MINOR 5418,Throwable and Error should not be caught,15,0,3,2,2,2,6,MAJOR 5353,"""Preconditions"" and logging arguments should not require evaluation",72,0,2,2,1,12,55,MAJOR 5117,Static fields should not be updated in constructors,4,0,0,1,1,1,1,MAJOR 5207,"""toString()"" should never be called on a String object",2,0,0,0,0,2,0,MINOR 5497,"Return of boolean expressions should not be wrapped into an ""if-then-else"" statement",12,2,0,1,1,4,4,MINOR 5536,"Synchronized classes Vector, Hashtable, Stack and StringBuffer should not be used",13,1,7,2,1,1,1,MAJOR 5109,String function use should be optimized for single characters,4,0,0,1,0,3,0,MAJOR 5550,Nested blocks of code should not be left empty,33,1,3,0,5,1,23,MAJOR 5474,Ternary operators should not be nested,3,0,0,2,1,0,0,MAJOR 5354,Assignments should not be made from within sub-expressions,31,0,4,1,0,0,26,MAJOR 5402,Collection.isEmpty() should be used to test for emptiness,20,4,3,3,2,5,3,MINOR 5127,"Array designators ""[]"" should be on the type, not the variable",12,2,5,1,1,1,2,MINOR 5081,Methods should not have identical implementations,6,1,0,1,1,1,2,MAJOR 5233,Jump statements should not be redundant,7,0,4,1,0,1,1,MINOR 5590,"Track uses of ""TODO"" tags",43,2,8,5,15,10,3,INFO 5577,Conditionally executed blocks should be reachable,2,0,1,0,0,0,1,MAJOR 5230,"""equals(Object obj)"" and ""hashCode()"" should be overridden in pairs",4,0,0,4,0,0,0,MINOR 5325,Strings should not be concatenated using '+' in a loop,4,0,4,0,0,0,0,MINOR 5563,Throwable.printStackTrace(...) should not be called,36,3,6,6,1,9,11,MINOR 5336,"""@NonNull"" values should not be set to null",2,0,0,0,0,0,2,MINOR 5390,Class names should comply with a naming convention,6,0,0,1,0,0,5,MINOR 5584,Deprecated code should be removed,13,0,1,2,9,0,1,INFO 5413,Printf-style format strings should be used correctly,27,2,1,8,1,10,5,MAJOR 5310,Constants should not be defined in interfaces,9,0,0,1,1,1,6,CRITICAL 5088,Assignments should not be redundant,1,0,0,0,0,0,1,MAJOR 5496,Tests should include assertions,94,33,2,14,3,19,23,BLOCKER 5502,Unnecessary imports should be removed,43,6,4,12,2,17,2,MINOR 5553,"""BigDecimal(double)"" should not be used",3,0,0,0,0,3,0,MAJOR 5540,Methods should not have too many parameters,14,0,1,0,0,1,12,MAJOR 524,Source files should not have any duplicated blocks,43,1,3,3,3,18,15,MAJOR 5359,"""@Override"" should be used on overriding and implementing methods",24,2,3,2,3,14,0,MAJOR 5090,"Non-primitive fields should not be ""volatile""",4,0,1,0,0,1,2,MINOR 5182,Anonymous inner classes containing only one method should become lambdas,9,0,1,2,1,3,2,MAJOR 5343,"""switch"" statements should have at least 3 ""case"" clauses",6,0,0,0,0,0,6,MINOR 5221,A field should not duplicate the name of its containing class,10,0,2,0,0,1,7,MAJOR 5535,Generic exceptions should never be thrown,71,2,4,4,17,32,12,MAJOR 5534,Optional value should only be accessed after calling isPresent(),7,1,0,2,0,3,1,MAJOR 5213,"""@Deprecated"" code should not be used",71,1,6,28,13,15,8,MINOR 5179,Lambdas containing only one statement should not nest this statement in a block,16,1,0,0,0,2,13,MINOR 5217,Redundant casts should not be used,14,4,2,2,0,5,1,MINOR 5132,Nested code blocks should not be used,15,1,2,0,3,4,5,MINOR 5115,"Subclasses that add fields should override ""equals""",6,0,2,1,0,1,2,MINOR 5435,"Collapsible ""if"" statements should be merged",27,2,8,2,1,3,11,MAJOR 5093,"The diamond operator (""<>"") should be used",44,6,3,2,2,20,11,MINOR 5192,"""Thread.sleep"" should not be used in tests",14,0,1,2,1,2,8,MAJOR 5384,Empty arrays and collections should be returned instead of null,4,0,2,0,0,1,1,MAJOR 5475,Unused local variables should be removed,29,4,1,4,1,16,3,MINOR 5114,"Exception types should not be tested using ""instanceof"" in catch blocks",2,0,0,1,0,0,1,MAJOR 5464,"""InterruptedException"" should not be ignored",19,0,0,4,4,6,5,MAJOR 5583,Type parameter names should comply with a naming convention,11,0,0,0,0,3,8,MINOR 5122,URIs should not be hardcoded,6,0,0,1,0,1,4,MINOR 5514,"""static"" members should be accessed statically",2,0,0,0,0,2,0,MAJOR 1861,Sections of code should not be commented out,45,3,6,2,0,34,0,MAJOR 5510,Assertion arguments should be passed in the correct order,71,1,8,2,0,20,40,MAJOR 5511,Utility classes should not have public constructors,38,8,2,3,3,17,5,MAJOR 5278,"Strings and Boxed types should be compared using ""equals()""",1,0,0,0,0,1,0,MAJOR 5249,Inheritance tree of classes should not be too deep,7,0,1,0,0,2,4,MAJOR 5074,Functional Interfaces should be as specialised as possible,4,0,0,0,0,3,1,MINOR 4027,Dead stores should be removed,3,0,0,0,0,2,1,MAJOR 4531,""""" and """" tags should be used",1,0,0,0,0,0,1,MINOR 5596,"""toString()"" and ""clone()"" methods should not return null",1,0,0,1,0,0,0,MAJOR 5292,Private fields only used as local variables in methods should become local variables,8,0,0,1,1,4,2,MINOR 5375,Exception classes should be immutable,3,0,1,0,0,1,1,MINOR 5212,"""switch"" statements should have ""default"" clauses",8,3,0,2,0,0,3,CRITICAL 5177,"Loops should not contain more than a single ""break"" or ""continue"" statement",15,0,2,1,1,4,7,MINOR 5424,Static non-final field names should comply with a naming convention,13,1,1,1,0,1,9,MINOR 5494,Local variables should not be declared and then immediately returned or thrown,11,2,0,2,1,3,3,MINOR 5137,"""write(byte[],int,int)"" should be overridden",3,0,2,1,0,0,0,MINOR 5092,"""throws"" declarations should not be superfluous",69,0,5,12,14,18,20,MINOR 5469,Catches should be combined,4,0,1,1,1,1,0,MINOR 5465,Child class fields should not shadow parent class fields,7,0,1,3,2,0,1,BLOCKER 5286,"""Thread.run()"" should not be called directly",2,0,2,0,0,0,0,MAJOR 5396,Using regular expressions is security-sensitive,12,0,1,2,0,4,5,CRITICAL 5166,"Fields in non-serializable classes should not be ""transient""",3,0,0,2,0,1,0,MINOR 5168,"JUnit assertions should not be used in ""run"" methods",2,0,0,0,0,0,2,CRITICAL 5369,Exceptions should not be thrown in finally blocks,1,0,0,0,0,1,0,CRITICAL 5259,A conditionally executed single line should be denoted by indentation,4,1,0,0,0,1,2,CRITICAL 5296,Generic wildcard types should not be used in return parameters,20,0,0,7,1,8,4,CRITICAL 5067,"""String#replace"" should be preferred to ""String#replaceAll""",9,1,0,1,0,6,1,CRITICAL 5060,Resources should be closed,18,2,3,5,2,3,3,BLOCKER 5059,Return values should not be ignored when they contain the operation status code,5,0,0,1,2,2,0,MINOR 5406,Case insensitive string comparisons should be made without intermediate upper or lower casing,1,0,0,0,0,1,0,MINOR 5461,"Boxed ""Boolean"" should be avoided in boolean expressions",14,0,0,0,4,3,7,MINOR 5426,Overriding methods should do more than simply call the same method in the super class,4,1,1,0,0,2,0,MINOR 5098,Class variable fields should not have public accessibility,45,8,5,5,6,7,14,MINOR 5504,Loggers should be named for their enclosing classes,9,5,2,0,0,0,2,MINOR 5062,Classes should not be empty,9,0,0,0,0,2,7,MINOR 5347,Multiple variables should not be declared on the same line,51,5,6,2,1,11,26,MINOR 5064,Enabling Cross-Origin Resource Sharing is security-sensitive,2,0,0,0,0,0,2,MINOR 5245,"""public static"" fields should be constant",9,0,4,3,1,0,1,MINOR 5171,"""private"" methods called only by inner classes should be moved to those classes",5,0,0,0,1,3,1,MINOR 5155,Ints and longs should not be shifted by zero or more than their number of bits-1,4,4,0,0,0,0,0,MINOR 5184,Tests should not be ignored,4,1,2,0,0,0,1,MAJOR 5209,Abstract classes without fields should be converted to interfaces,6,1,0,1,1,0,3,MINOR 5587,"Track uses of ""FIXME"" tags",3,0,1,0,1,1,0,MAJOR 5450,"Public constants and fields initialized at declaration should be ""static final"" rather than merely ""final""",3,0,0,0,1,1,1,MINOR 5165,TestCases should contain tests,1,1,0,0,0,0,0,BLOCKER 5145,Empty statements should be removed,5,1,0,2,0,1,1,MINOR 5167,"Composed ""@RequestMapping"" variants should be preferred",6,1,0,0,3,1,1,MINOR 5453,Unused method parameters should be removed,16,1,2,2,2,3,6,MAJOR 5361,"Parsing should be used to convert ""Strings"" to primitives",3,0,1,0,0,1,1,MINOR 5285,Arrays should not be created for varargs parameters,1,0,0,0,0,0,1,MINOR 5568,Package names should comply with a naming convention,20,1,2,3,0,2,12,MINOR 5472,'List.remove()' should not be used in ascending 'for' loops,2,0,0,1,0,0,1,MAJOR 5365,Hashing data is security-sensitive,2,1,0,0,0,0,1,CRITICAL 5326,Identical expressions should not be used on both sides of a binary operator,2,1,1,0,0,0,0,MAJOR 5206,Unused assignments should be removed,40,2,0,2,1,21,14,MAJOR 5057,Try-with-resources should be used,6,0,0,5,1,0,0,CRITICAL 5444,Neither DES (Data Encryption Standard) nor DESede (3DES) should be used,1,0,0,0,0,0,1,BLOCKER 5118,"""static"" base class members should not be accessed via derived types",6,1,0,0,0,1,4,CRITICAL 5126,Changing or bypassing accessibility is security-sensitive,5,0,0,0,1,0,4,CRITICAL 5451,Only static class initializers should be used,2,1,0,0,0,0,1,MAJOR 5169,Hard-coded credentials are security-sensitive,7,0,0,0,0,1,6,BLOCKER 5411,Weak SSL/TLS protocols should not be used,1,0,0,0,0,0,1,MAJOR 5367,Exceptions should be either logged or rethrown but not both,6,0,0,1,1,3,1,MAJOR 5205,Lambdas should be replaced with method references,17,5,1,1,1,7,2,MINOR 5069,"Packages containing only ""package-info.java"" should be removed",2,0,0,0,0,0,2,MINOR 5161,Math operands should be cast before assignment,18,0,0,0,0,11,7,MINOR 5394,"Constructors should not be used to instantiate ""String"", ""BigInteger"", ""BigDecimal"" and primitive-wrapper classes",11,0,1,3,0,7,0,MAJOR 5256,"Declarations should use Java collection interfaces such as ""List"" rather than specific implementation classes such as ""LinkedList""",20,0,1,15,0,4,0,MINOR 5186,"Switch cases should end with an unconditional ""break"" statement",2,1,0,0,0,0,1,BLOCKER 5252,Using command line arguments is security-sensitive,29,3,2,2,0,1,21,CRITICAL 5501,"Unused ""private"" methods should be removed",5,4,0,0,0,1,0,MAJOR 5178,Deprecated elements should have both the annotation and the Javadoc tag,8,0,1,2,1,2,2,MAJOR 5407,Using pseudorandom number generators (PRNGs) is security-sensitive,3,1,0,0,0,0,2,CRITICAL 5333,Loops with at most one iteration should be refactored,1,0,0,1,0,0,0,MAJOR 5272,The default unnamed package should not be used,2,1,0,0,1,0,0,MINOR 5386,Null pointers should not be dereferenced,7,1,1,0,2,0,3,MAJOR 5541,Try-catch blocks should not be nested,4,0,0,0,1,2,1,MAJOR 5493,Boolean literals should not be redundant,6,0,3,1,0,2,0,MINOR 5331,Two branches in a conditional structure should not have exactly the same implementation,6,0,0,0,0,3,3,MAJOR 5236,"""StandardCharsets"" constants should be preferred",6,1,0,1,1,3,0,MINOR 5226,"Fields in a ""Serializable"" class should either be transient or serializable",12,0,3,2,1,5,1,CRITICAL 5288,Methods returns should not be invariant,2,0,0,0,0,1,1,BLOCKER 5277,Methods should not return constants,3,0,0,0,0,0,3,MINOR 5467,"Mutable fields should not be ""public static""",4,0,0,3,0,1,0,MINOR 5417,Classes should not access their own subclasses during initialization,2,0,0,0,1,0,1,CRITICAL 5447,Silly equality checks should not be made,1,0,0,1,0,0,0,MAJOR 5480,"""indexOf"" checks should not be for positive numbers",1,0,0,1,0,0,0,CRITICAL 5295,"""equals(Object obj)"" should be overridden along with the ""compareTo(T obj)"" method",1,1,0,0,0,0,0,MINOR 5125,Arrays should not be copied using loops,2,0,1,0,0,1,0,MINOR 5443,"Unused ""private"" fields should be removed",7,1,1,2,0,3,0,MAJOR 5211,"""ThreadLocal"" variables should be cleaned up when no longer used",1,0,0,1,0,0,0,MAJOR 4545,""""" element should have a language attribute",12,0,0,0,2,10,0,MAJOR 5537,Non-serializable classes should not be written,1,0,0,0,0,1,0,MAJOR 5516,Deserializing objects from an untrusted source is security-sensitive,1,0,0,1,0,0,0,CRITICAL 5594,Boolean expressions should not be gratuitous,6,0,2,0,0,4,0,MAJOR 5264,Non-thread-safe fields should not be static,1,0,0,0,0,0,1,MAJOR 4052,Variables should not be shadowed,4,0,0,0,0,4,0,MAJOR 3970,Calls should not be made to non-callable values,1,0,0,0,0,1,0,MAJOR 3999,Using regular expressions is security-sensitive,2,0,0,0,0,2,0,CRITICAL 3988,Variables and functions should not be redeclared,1,0,0,0,0,1,0,MAJOR 5210,Expanding archive files is security-sensitive,2,0,0,0,0,0,2,CRITICAL 5203,Parentheses should be removed from a single lambda input parameter when its type is inferred,1,0,0,0,0,1,0,MINOR 5431,Unused labels should be removed,1,0,0,0,0,0,1,MAJOR 5104,Short-circuit logic should be used in boolean contexts,1,0,0,1,0,0,0,BLOCKER 5101,Class names should not shadow interfaces or superclasses,3,0,1,1,0,1,0,CRITICAL 5228,Boolean checks should not be inverted,1,0,1,0,0,0,0,MINOR 5490,"Instance methods should not write to ""static"" fields",13,0,0,1,0,7,5,CRITICAL 5305,"""@RequestMapping"" methods should specify HTTP method",2,0,0,0,1,0,1,CRITICAL 5135,Double-checked locking should not be used,1,0,0,1,0,0,0,BLOCKER 5244,"""equals"" method overrides should accept ""Object"" parameters",1,0,1,0,0,0,0,MAJOR 5138,"""SecureRandom"" seeds should not be predictable",1,0,0,0,0,1,0,CRITICAL 5061,Asserts should not be used to check the parameters of a public method,2,0,0,0,0,2,0,MAJOR 5150,"""wait"" should not be called when multiple locks are held",1,1,0,0,0,0,0,BLOCKER 5181,Methods and field names should not be the same or differ only by capitalization,5,0,0,0,0,2,3,BLOCKER 5518,"Classes with only ""static"" methods should not be instantiated",4,0,0,0,0,3,1,MAJOR 5506,Unused type parameters should be removed,6,0,0,0,0,6,0,MAJOR 5319,"""catch"" clauses should do more than rethrow",1,0,0,0,0,1,0,MINOR 4541,""""" declarations should appear before """" tags",3,0,0,0,0,3,0,MAJOR 5522,"Non-serializable objects should not be stored in ""HttpSession"" objects",1,0,1,0,0,0,0,MAJOR 5231,Controlling permissions is security-sensitive,1,0,0,0,1,0,0,CRITICAL 5415,Encrypting data is security-sensitive,1,0,0,0,1,0,0,CRITICAL 5414,TrustManagers should not blindly accept any certificates,1,0,0,0,0,0,1,MAJOR 5321,Maps with keys that are enum values should be replaced with EnumMap,1,0,0,0,0,1,0,MINOR 5312,"Nested ""enum""s should not be declared static",1,0,0,0,0,1,0,MINOR 5460,"Null checks should not be used with ""instanceof""",1,0,0,0,1,0,0,MINOR 5538,"""Random"" objects should be reused",1,0,0,0,0,0,1,CRITICAL 5448,Using environment variables is security-sensitive,2,0,0,0,0,0,2,CRITICAL 5255,Reading the Standard Input is security-sensitive,1,0,0,0,0,0,1,CRITICAL 5146,Formatting SQL queries is security-sensitive,2,0,0,0,1,1,0,CRITICAL 5197,Exceptions should not be thrown from servlet methods,1,0,0,0,0,1,0,MINOR 5281,Execution of the Garbage Collector should be triggered only by the JVM,1,0,0,0,1,0,0,CRITICAL 5246,"Week Year (""YYYY"") should not be used for date formatting",1,1,0,0,0,0,0,MAJOR 5291,Zero should not be a possible denominator,1,0,0,1,0,0,0,CRITICAL