Professional Documents
Culture Documents
Blocker
Critical
Major
Minor
Info
Total
Integra
12
219
208
19
173
631
Blocker
Critical
Major
Minor
Info
Total
Regla
Findbugs
PMD
Checkstyle
0
489
41276
1583
11550
54898
Total
Blocker
543
70
18
12
0
0
Critical
Major
205
13
1
Minor
141
55
12
Info
13
2
4
172
0
1
Listado de Reglas
Nombre de la regla
Correctness - A known null value is checked to see if it is an instance of a type
Correctness - Impossible cast
Correctness - Impossible downcast
Correctness - Impossible downcast of toArray() result
Correctness - Null value is guaranteed to be dereferenced
Correctness - close() invoked on a value that is always null
Correctness - equals method always returns false
Correctness - equals method always returns true
Correctness - equals(...) used to compare incompatible arrays
Performance - Maps and sets of URLs can be performance hogs
Performance - The equals and hashCode methods of URL are blocking
Security - Hardcoded constant database password
Avoid Catching Throwable
Bad practice - Check for sign of bitwise operation
Bad practice - Class defines compareTo(...) and uses Object.equals()
Bad practice - Class defines equals() and uses Object.hashCode()
Bad practice - Class defines hashCode() and uses Object.equals()
Bad practice - Class defines hashCode() but not equals()
Bad practice - Class inherits equals() and uses Object.hashCode()
Bad practice - Clone method may return null
Bad practice - Equals method should not assume anything about the type of its argument
Bad practice - Finalizer nullifies superclass finalizer
Bad practice - Method may fail to close database resource
Bad practice - Method may fail to close database resource on exception
Bad practice - Method may fail to close stream
Bad practice - Method may fail to close stream on exception
Bad practice - Non-serializable value stored into instance field of a serializable class
Bad practice - Random object created and used only once
Bad practice - Static initializer creates instance before all static final fields assigned
Bad practice - Store of non serializable object into HttpSession
Bad practice - Suspicious reference comparison
Bad practice - Unchecked type in generic call
Bad practice - equals method fails for subtypes
Bad practice - equals() method does not check for null argument
Bad practice - serialVersionUID isn't final
Bad practice - toString method may return null
Broken Null Check
Class defines equal(Object); should it be equals(Object)?
Class defines hashcode(); should it be hashCode()?
Correctness - "." used for regular expression
Correctness - A collection is added to itself
Correctness - A parameter is dead upon entry to a method but overwritten
Correctness - An apparent infinite loop
Correctness - An apparent infinite recursive loop
Correctness - Bad attempt to compute absolute value of signed 32-bit hashcode
Correctness - Bad attempt to compute absolute value of signed 32-bit random integer
Style - Method uses integer based for loops to iterate over a List [fb-contrib]
Style - Method uses old non collections interface methods [fb-contrib]
Style - Method uses simple loop to copy contents of one collection to another [fb-contrib]
Style - Method uses the same HttpRequest parameter name but with different casing [fb-contrib]
Style - Method uses the same HttpSession attribute name but with different casing [fb-contrib]
Style - Private method only returns one constant value [fb-contrib]
Style - Unconstrained method converts checked exception to unchecked [fb-contrib]
Unused Imports
Abstract naming
Assignment To Non Final Static
Avoid Catching NPE
Avoid Duplicate Literals
Avoid Print Stack Trace
Avoid Throwing Null Pointer Exception
Avoid Throwing Raw Exception Types
Avoid Using Octal Values
Bad practice - Abstract class defines covariant compareTo() method
Bad practice - Abstract class defines covariant equals() method
Bad practice - Certain swing methods needs to be invoked in Swing thread
Bad practice - Class defines clone() but doesn't implement Cloneable
Bad practice - Class defines equals() but not hashCode()
Bad practice - Class implements Cloneable but does not define or use clone method
Bad practice - Class is Externalizable but doesn't define a void constructor
Bad practice - Class is Serializable but its superclass doesn't define a void constructor
Bad practice - Class is Serializable, but doesn't define serialVersionUID
Bad practice - Class is not derived from an Exception, even though it is named as such
Bad practice - Class names shouldn't shadow simple name of implemented interface
Bad practice - Class names shouldn't shadow simple name of superclass
Bad practice - Classloaders should only be created inside doPrivileged block
Bad practice - Comparator doesn't implement Serializable
Bad practice - Comparison of String objects using == or !=
Bad practice - Comparison of String parameter using == or !=
Bad practice - Confusing method names
Bad practice - Covariant compareTo() method defined
Bad practice - Covariant equals() method defined
Bad practice - Creates an empty jar file entry
Bad practice - Creates an empty zip file entry
Bad practice - Dubious catching of IllegalMonitorStateException
Bad practice - Empty finalizer should be deleted
Bad practice - Equals checks for noncompatible operand
Bad practice - Explicit invocation of finalizer
Bad practice - Finalizer does not call superclass finalizer
Bad practice - Finalizer nulls fields
Bad practice - Finalizer only nulls fields
Bad practice - Method doesn't override method in superclass due to wrong package for parameter
Bad practice - Method ignores exceptional return value
Bad practice - Method ignores results of InputStream.read()
Bad practice - Method ignores results of InputStream.skip()
Bad practice - Method invoked that should be only be invoked inside a doPrivileged block
Bad practice - Method invokes System.exit(...)
Multithreaded correctness - A volatile reference to an array doesn't treat the array elements as volatile
Multithreaded correctness - Empty synchronized block
Multithreaded correctness - Inconsistent synchronization
Multithreaded correctness - Invokes run on a thread (did you mean to start it instead?)
Multithreaded correctness - Method spins on field
Multithreaded correctness - Method synchronizes on an updated field
Multithreaded correctness - Monitor wait() called on Condition
Multithreaded correctness - Mutable servlet field
Multithreaded correctness - Possible double check of field
Multithreaded correctness - Synchronization on field in futile attempt to guard that field
Multithreaded correctness - Synchronize and null check on the same field.
Multithreaded correctness - Unconditional wait
Multithreaded correctness - Unsynchronized get method, synchronized set method
Multithreaded correctness - Wait with two locks held
NPath complexity
Naming - Class naming conventions
Naming - Method naming conventions
Naming - Short method name
Naming - Variable naming conventions
Non-transient non-serializable instance field in serializable class
Package Declaration
Package name
Performance - Could be refactored into a named static inner class
Performance - Could be refactored into a static inner class
Performance - Explicit garbage collection; extremely dubious except in benchmarking code
Performance - Method allocates a boxed primitive just to call toString
Performance - Method allocates an object, only to get the class object
Performance - Method invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
Performance - Method invokes inefficient floating-point Number constructor; use static valueOf instead
Performance - Method invokes inefficient new String() constructor
Performance - Method invokes inefficient new String(String) constructor
Performance - Primitive value is boxed and then immediately unboxed
Performance - Primitive value is boxed then unboxed to perform primitive coercion
Performance - Should be a static inner class
Performance - Unread field
Performance - Unread field: should this field be static?
Performance - Unused field
Performance - Use the nextInt method of Random rather than nextDouble to generate a random integer
Position Literals First In Comparisons
Proper Logger
Replace Enumeration With Iterator
Replace Hashtable With Map
Replace Vector With List
Security - HTTP Response splitting vulnerability
Security - HTTP cookie formed from untrusted input
Short Variable
Signature Declare Throws Exception
Simple Date Format Needs Locale
Strict Exception - Do not throw exception in finally
String Buffer Instantiation With Char
String Instantiation
String To String
Suppress Warnings
Switch statement found where default case is missing
System Println
Uncommented Main
Unnecessary Local Before Return
Unused Null Check In Equals
Unused Private Field
Unused formal parameter
Unused local variable
Unused private method
Use Array List Instead Of Vector
Use Equals To Compare Strings
Visibility Modifier
While Loops Must Use Braces
Avoid Star Import
Bad practice - Fields of immutable classes should be final
Bad practice - Finalizer does nothing but call superclass finalizer
Bad practice - Iterator next() method can't throw NoSuchElementException
Bad practice - Non-serializable class has a serializable inner class
Constant Name
Correctness - Creation of ScheduledThreadPoolExecutor with zero core threads
Correctness - Field not initialized in constructor
Correctness - Futile attempt to change max pool size of ScheduledThreadPoolExecutor
Correctness - Method ignores return value
Correctness - Unwritten field
Dodgy - Class is final but declares protected field
Dodgy - Class too big for analysis
Dodgy - Method checks to see if result of String.indexOf is positive
Dodgy - Unusual equals method
Duplicate Imports
Operator Wrap
Redundant import
Unnecessary Case Change
Plugin
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
Prioridad
BLOCKER
BLOCKER
BLOCKER
BLOCKER
BLOCKER
BLOCKER
BLOCKER
BLOCKER
BLOCKER
BLOCKER
BLOCKER
BLOCKER
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
pmd
pmd
pmd
checkstyle
pmd
findbugs
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
CRITICAL
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
checkstyle
pmd
pmd
pmd
pmd
pmd
pmd
pmd
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
INFO
INFO
INFO
INFO
INFO
INFO
INFO
INFO
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
checkstyle
pmd
pmd
pmd
findbugs
findbugs
pmd
pmd
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
pmd
pmd
pmd
pmd
pmd
checkstyle
checkstyle
findbugs
pmd
checkstyle
pmd
pmd
checkstyle
checkstyle
checkstyle
pmd
pmd
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
findbugs
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
pmd
pmd
pmd
pmd
findbugs
checkstyle
checkstyle
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
pmd
pmd
pmd
pmd
findbugs
findbugs
pmd
pmd
pmd
pmd
pmd
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
pmd
pmd
checkstyle
findbugs
pmd
checkstyle
pmd
pmd
pmd
pmd
pmd
pmd
pmd
pmd
checkstyle
pmd
checkstyle
findbugs
findbugs
findbugs
findbugs
checkstyle
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
findbugs
pmd
checkstyle
checkstyle
pmd
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MAJOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
MINOR
Nombre de regla
Dodgy - Dead store to local variable
Dodgy - Redundant nullcheck of value known to be non-null
Dodgy - Unchecked/unconfirmed cast
Avoid Catching Throwable
Dodgy - Class extends Servlet class and uses instance variables
Empty Catch Block
Security - Array is stored directly
Bad practice - Method may fail to close stream on exception
Dodgy - Load of known null value
Performance - Private method is never called
Empty If Stmt
Dodgy - Method uses the same code for two switch clauses
Broken Null Check
Dodgy - Redundant nullcheck of value known to be null
Bad practice - Suspicious reference comparison
Correctness - A parameter is dead upon entry to a method but overwritten
Missing Break In Switch
Bad practice - Method may fail to close database resource on exception
Dodgy - Write to static field from instance method
Correctness - Nullcheck of value previously dereferenced
Dodgy - Dead store of null to local variable
Correctness - Possible null pointer dereference
Bad practice - Class defines compareTo(...) and uses Object.equals()
Dodgy - Method directly allocates a specific implementation of xml interfaces
Dodgy - Useless control flow
Correctness - Don't use removeAll to clear a collection
Unconditional If Statement
Multithreaded correctness - Incorrect lazy initialization of static field
Correctness - Call to equals() comparing different types
Bad practice - Class defines hashCode() and uses Object.equals()
Security - Nonconstant string passed to execute method on an SQL statement
Numero de apariciones
132
88
76
34
31
18
15
14
13
11
11
6
5
4
4
3
3
3
3
2
2
2
1
1
1
1
1
1
1
1
1
489
Descripcion
Creacin de variables que luego no se usa
Este mtodo contiene un control redundante de un valor no nulo
Cambio de lgica
no
no
no
no
Si
no
no
no
no
no
no
no *
no
no
no
no
no
no
no
no
no
no
no
Si
no
no
no
no
no
no
no
ejemplo
(nombreVia == null || (nombreVia != null && "".equals(nombreVia)))
((UIPaginador) paginador).setNumeroPaginas(numPaginas);
catch (Throwable e) {
log.equals(e);
Nombre de regla
Javadoc Method
Javadoc Style
Naming - Variable naming conventions
Naming - Method naming conventions
Avoid Duplicate Literals
Short Variable
Long Variable
Javadoc Type
Constructor Calls Overridable Method
Dodgy - Exception is caught when Exception is not thrown
NPath complexity
Visibility Modifier
Explicit Initialization
Code size - cyclomatic complexity
Logger Is Not Static Final
Dodgy - Class implements same interface as superclass
Signature Declare Throws Exception
Unused Private Field
Non-transient non-serializable instance field in serializable class
Excessive Public Count
Excessive Method Length
Position Literals First In Comparisons
Multithreaded correctness - Mutable servlet field
Correctness - Repeated conditional tests
Bad practice - Confusing method names
Avoid Print Stack Trace
Simple Date Format Needs Locale
Excessive Class Length
Unused local variable
Use Equals To Compare Strings
Empty Statement Not In Loop
Integer Instantiation
Unnecessary Local Before Return
Big Integer Instantiation
Unused formal parameter
Avoid Catching NPE
Bad practice - Class is Serializable, but doesn't define serialVersionUID
Field names should start with a lower case letter
Switch statement found where default case is missing
Strict Exception - Do not throw exception in finally
Boolean Expression Complexity
Bad practice - Comparison of String objects using == or !=
Check ResultSet
Correctness - Suspicious reference comparison of Boolean values
Assignment To Non Final Static
Replace Enumeration With Iterator
Bad practice - Method might ignore exception
Fall Through
Unused Null Check In Equals
Bad practice - Class implements Cloneable but does not define or use clone method
Uncommented Main
String To String
Use Array List Instead Of Vector
For Loops Must Use Braces
Bad practice - Class is Serializable but its superclass doesn't define a void constructor
While Loops Must Use Braces
Numero de apariciones
11,968
11,093
1,875
1,251
914
749
734
568
474
370
359
328
273
256
218
209
162
151
141
141
94
92
92
84
67
65
63
53
45
40
37
35
34
30
22
20
18
17
16
15
13
12
Descripcion
Descripcion de los mtodos
Mal el estilo de javadoc
Quitar regla
Quitar regla
Texto duplicados
Quitar regla
Quitar regla
Descripcin de la clase
Constructor llama a metodos sobreescrito (Quitar regla)
Se captura la Exception cuando no se produce
Quitar regla
Cambiar la visibilidad de los atributos
Asignar valores por defectos a las variables que ya lo tiene
Complejidad del mtodo
La variable logger tiene que ser final
Quitar la interfaz porque el padre ya lo tiene
No poner throws Exception sino una mas especifica
No se usa variable privadas
Algo atributos no son serializable (Quitar Regla)
Nmero mximo de mtodos pblicos (Quitar Regla)
Nmero mximo de lneas para un mtodo (Quitar Regla)
Mal creado la condicin
Crear atributos no mutables en los Servlet
Repeticin de cdigo de condiciones
Mala practica de uso de nombres
Usar logger en vez de printStackTrace
Poner locale (Quitar regla)
Nmero mximo de lneas de clase (Quitar regla)
No usar variables locales
No usar equal
Hay doble ;
No usar el new Integer
Mal uso de return
No usar el BigDecimal
Pasar variables que no se usa
No usar nullpointerexception
No tiene declarada la variable serialVersionUID
variables que empieza por mayuscula
Switch sin sentencia default
No mandar un exception en bloque finally
Complejidad del condiciones en un mtodo (quitar regla)
Mala practica de uso del equal
10
9
9
9
7
7
4
4
3
3
3
3
3
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
33293
No comprobar el resultset
Comparando referencias de boleans
Poner final la variable
Usar iterator en vez de enumeration
Ignorar el bloque catch
Default switch vacio
no comprueba el objecto si esta vacio
no implementa el metodo clonable
Quitar el main
no hace falta llamar toString()
Usar arraylist en vez de Vector
usar parntesis en loop
La clase implementa serializable y clase base no
no usar parntesis
Cambio de lgica
no
no
ejemplo
no
no
no
no
no
si
no
no
si
no
no
no
no
Si
Si
Si
no
no
no
no
no
no
si
no
no
no
no
no
no
no
no
no
no
no
no
no
no
if(type.equals("9")||type.equals("38")
Map<String,Object> parameters = transformRequestToMap(request);
public String getTimeStamp() {
datosCVO.getBaseCotizadaContinProfesionales()!=""
if(getInspeccionadaCombo()==null || getInspeccionadaCombo()=="0"){
no
no
no
no
no
no
no
no
no
no
no
no
no o si
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
theBoolean ^= true;
if (!results.next()) {
System.out.println("empty");
} else {
//display results
do {
String data = results.getString("first_name");
//name.setText(data);
System.out.println(data);
} while (results.next());
}
Nombre de regla
Constant Name
Operator Wrap
Correctness - Field not initialized in constructor
Redundant import
Unnecessary Case Change
Correctness - Method ignores return value
Dodgy - Unusual equals method
Avoid Star Import
Correctness - Unwritten field
Duplicate Imports
Numero de apariciones
1,114
371
64
14
12
2
2
2
1
1
1583
Descripcion
La variables finales tiene que ser en mayuscula
Los operadores logicos en una nueva linea
variables no inicializada en el constructor (Quitar Regla)
import redundantes
usar equalsIgnoreCase()
acciones que no tiene sentido
inusual metodo equals
no usar asterisco en la importacin
campo que siempre tiene el mismo valor y nadie lo cambia
Duplicacion de import
Cambio de lgica
no
no
no
no
no
no
no
no
no
no
Ejemplo
private static final String strEstadoElim = "estadoItemLista.eliminar";
strObservaciones.toString(); o log.equals(e);
Nombre de regla
Performance - Method appears to call the same method on the same object redundantly
Style - Method makes literal string comparisons passing the literal as an argument
Performance - Method passes constant String of length 1 to character overridden method
Performance - Method converts String to primitive using excessive boxing
Style - Method uses integer based for loops to iterate over a List
Correctness - Method creates local variable-based synchronized collection
Correctness - Method throws alternative exception from catch block without history
Performance - Method needlessly boxes a boolean constant
Internationalization - Consider using Locale parameterized version of invoked method
Unused Imports
Correctness - Class defines fields that are used only as locals
Style - Method stores return result in local before immediately returning it
Style - Method returns modified parameter
Performance - Method passes simple concatenating string in StringBuffer or StringBuilder append
Performance - Method converts String to boxed primitive using excessive boxing
Style - Private method only returns one constant value
Correctenss - Constructor makes call to non-final method
Performance - Method invokes toString() method on a String
Performance - Method passes empty string to StringBuffer of StringBuilder constructor
Style - Method checks the size of a collection against zero rather than using isEmpty()
Experimental - Method may fail to clean up stream or resource
Correctness - Method uses same bean's getter value for setter
Correctness - Method manually casts the right hand side of an assignment more specifically than needed
Performance - Method creates Boxed primitive from primitive only to get primitive value
Style - Method is implemented with an exact copy of it's superclass's method
Performance - Method passes primitive wrapper to Wrapper class valueOf method
Correctness - Method specifies an unrelated class when allocating a Logger
Correctness - Method accesses list or array with constant index
Performance - Method creates array using constants
Style - Method defines parameter list with array as last argument, rather than vararg
Correctness - Method checks the result of a new allocation
Style - Method uses the same HttpRequest parameter name but with different casing
Style - Method needlessly defines parameter with concrete classes
Correctness - Method defines parameters more abstractly than needed to function properly
Style - Method declares RuntimeException in throws clause
Style - Method builds xml strings through adhoc concatenation
Style - Method passes an empty string to equalsIgnoreCase or compareToIgnoreCase
Correctness - Class doesn't serialize superclass fields
Style - Method throws exception with static message string
Correctness - Class has abnormal exit from finally block
Style - Method uses old non collections interface methods
Correctness - Non derivable method declares throwing an exception that isn't thrown
Numero de apariciones
6,719
609
447
387
339
305
297
276
190
188
176
164
152
135
117
97
89
80
71
64
61
60
45
41
41
37
36
34
34
29
25
22
19
13
13
12
10
10
10
10
9
8
8
6
6
6
5
5
4
4
4
3
3
3
2
2
2
1
1
1
1
1
1
Descripcion
Se hace ms de dos llamadas a un mismo objecto
no usar literales
para constantes de tipo String y tamao 1 usar character
no usar valueOf sino parseInt
En lo for que no se usa el valor utulizar iterator
No usar clase que use la clasula synchronized
No usar el exception original en la nueva que van a lanzar
Asignar true cuando es primitivo y Bolean.TRUE si es objecto
no usar locale en upper o lower case
no se usa import
atributos declarados que puede ser variables locales
utilizar directamente el return
Quitar regla
Usar Stringbuilder
Usar una variable para un valor que se repite varias veces
mtodos pblicos para devolver un atributo fijo quitar el mtodo y atributo pblico
Quitar regla
llamar tostring cuando el objecto es un string
pasar vacio StringBuilder
usar isEmpty() en vez de size()
no cierra los ficheros
asignarse el mismo valor
asignar a un objecto varias clase especifica
usar valores primitivos directamente
metodos iguales al padre
Abuso de Boxing
Mal creado o usado el logger
No usar un literal directamente en array o lista (Quitar regla)
Crear un contante en vez de una variable
Quitar regla
Quitar la comprobacin de null porque el objecto esta creado
Quitar regla
Usar List en vez de ArrayList
Quitar regla
Mtodo tiene declarado un throws exception dentro del mtodo no se lanza
Quitar Regla
En vez de comparar el contenido vacio mirar la longitud de la variable
Serializar la clase padre
Quitar regla
No enviar un trow exception en un finally
Quitar regla
No usar throws Exceptions
Quitar regla
Crear variables que luego no se usa
Quitar Regla
Mal uso de logger
Quitar Regla
Quitar Regla
Recoge la exception y la envia la misma
Usar el metodo de size de StringBuffer o Builder
Usar valueof de String
Usar == para comparar tipos enum
Mal uso de comprobacion de cadena vacia
Usar addAll para aadir todo una lista a otra
Mal uso de logger
Asignar valor a una variable que no es null
No usar new bigdecimal
Posible error de memoria para crear un campo fijo que no se limpiar
No se indica encoding
crear el objecto directo en return
Quitar regla
Metodo vacio declara abstrac
Quitar regla
Cambio de lgica
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
no
Ejemplo
new StringBuffer("");
antecedentesAIFiltroVO.setRegistrosPageNum(antecedentesAIFiltroVO.getRegistrosPageNum());
float[] inner = { 80 };
request.getParameter("idCampania").equalsIgnoreCase("")
log.error(ne.getMessage(),ne);
strClaves.toString().length()
Integer.parseInt("" + numString.charAt(i));
TIPOCADENA.MAYUSCULAS.equals(mayuscula))