| Class Summary |
| Analyze | |
| AnyMethodReturnValueStreamFactory |
Factory for stream objects of a particular
base class type returned by any method.
|
| AtomicityProblem |
if we get from a ConcurrentHashMap and assign to a variable...
and don't do anything else
and perform a null check on it...
and then do a set on it... (or anything else inside the if that modifies it?)
|
| BadAppletConstructor | |
| BadCastWarningProperty |
Warning property for bad cast warnings.
|
| BadlyOverriddenAdapter | |
| BadResultSetAccess | |
| BadSyntaxForRegularExpression | |
| BadUseOfReturnValue | |
| BuildCheckReturnAnnotationDatabase |
Scan application classes for
CheckReturnValue annotations.
|
| BuildNonnullReturnDatabase |
Build database of methods that return values guaranteed to be nonnull
|
| BuildNonNullAnnotationDatabase |
Scan application classes for
NonNull annotations.
|
| BuildUnconditionalParamDerefDatabase |
Build database of unconditionally dereferenced parameters.
|
| CalledMethods |
Detector to find private methods that are never called. |
| CheckCalls |
This is just for debugging method call resolution.
|
| CheckImmutableAnnotation | |
| CloneIdiom | |
| ComparatorIdiom | |
| ConfusedInheritance | |
| ConfusionBetweenInheritedAndOuterMethod | |
| DeadLocalStoreProperty |
Warning property for FindDeadLocalStores.
|
| DoInsideDoPrivileged | |
| DontCatchIllegalMonitorStateException | |
| DontUseEnum | |
| DoomedCodeWarningProperty |
A WarningProperty for warnings that are reported at a "doomed" Location;
one that cannot return normally.
|
| DroppedException | |
| DumbMethodInvocations | |
| DumbMethods | |
| DuplicateBranches | |
| EmptyZipFileEntry | |
| EqStringTest | |
| FinalizerNullsFields | |
| FindBadCast | |
| FindBadCast2 | |
| FindBadEqualsImplementation |
Find equals(Object) methods that unconditionally dereference the parameter,
rather than returning false if it's null.
|
| FindBadForLoop | |
| FindBugsSummaryStats | |
| FindCircularDependencies | |
| FindDeadLocalStores |
Find dead stores to local variables.
|
| FindDoubleCheck | |
| FindEmptySynchronizedBlock | |
| FindFieldSelfAssignment | |
| FindFinalizeInvocations | |
| FindFloatEquality | |
| FindFloatMath | |
| FindHEmismatch | |
| FindInconsistentSync2 |
Find instance fields which are sometimes accessed (read or written)
with the receiver lock held and sometimes without.
|
| FindJSR166LockMonitorenter |
Find places where ordinary (balanced) synchronization is performed
on JSR166 Lock objects. |
| FindLocalSelfAssignment2 | |
| FindMaskedFields | |
| FindMismatchedWaitOrNotify | |
| FindNakedNotify | |
| FindNonSerializableStoreIntoSession | |
| FindNonSerializableValuePassedToWriteObject | |
| FindNonShortCircuit | |
| FindNullDeref |
A Detector to find instructions where a NullPointerException might be raised.
|
| FindOpenStream |
A Detector to look for streams that are opened in a method,
do not escape the method, and are not closed on all paths
out of the method. |
| FindPuzzlers | |
| FindRefComparison |
Find suspicious reference comparisons.
|
| FindReturnRef | |
| FindRunInvocations | |
| FindSelfComparison | |
| FindSelfComparison2 | |
| FindSleepWithLockHeld |
Find calls to Thread.sleep() made with a lock held.
|
| FindSpinLoop | |
| FindSqlInjection |
Find potential SQL injection vulnerabilities.
|
| FindTwoLockWait | |
| FindUncalledPrivateMethods |
Detector to find private methods that are never called. |
| FindUnconditionalWait | |
| FindUninitializedGet | |
| FindUnrelatedTypesInGenericContainer | |
| FindUnreleasedLock | |
| FindUnsatisfiedObligation |
Find unsatisfied obligations in Java methods.
|
| FindUnsyncGet | |
| FindUselessControlFlow |
A Detector to look for useless control flow. |
| HugeSharedStringConstants | |
| IDivResultCastToDouble | |
| IncompatMask |
Find comparisons involving values computed with bitwise
operations whose outcomes are fixed at compile time.
|
| InconsistentSyncWarningProperty |
Warning properties for inconsistent synchronization detector.
|
| InefficientMemberAccess | |
| InefficientToArray |
Find occurrences of collection.toArray( new Foo[0] );
This causes another memory allocation through reflection
Much better to do collection.toArray( new Foo[collection.size()] );
|
| InfiniteLoop | |
| InfiniteRecursiveLoop | |
| InheritanceUnsafeGetResource | |
| InitializationChain | |
| InstanceFieldLoadStreamFactory |
StreamFactory for stream objects loaded from instance fields.
|
| InstantiateStaticClass | |
| InvalidJUnitTest | |
| IOStreamFactory |
A StreamFactory for normal java.io streams that
are created using NEW instructions. |
| IteratorIdioms | |
| LazyInit | |
| LoadOfKnownNullValue | |
| LockedFields | |
| MethodReturnCheck |
Look for calls to methods where the return value is erroneously ignored. |
| MethodReturnValueStreamFactory |
StreamFactory for streams that are created as the result
of calling a method on an object. |
| Methods | |
| MultithreadedInstanceAccess | |
| MutableLock | |
| MutableStaticFields | |
| Naming | |
| NonNullReturnProperty | |
| NoteAnnotationRetention | |
| NoteCheckReturnValue | |
| NoteCheckReturnValueAnnotations |
Scan classes for @CheckReturnValue annotations |
| NoteJCIPAnnotation | |
| NoteNonnullReturnValues |
As a first scanning pass, make a note of unconditionally dereferenced
parameters for later use by FindNullDerefs.
|
| NoteNonNullAnnotations |
Scan classes for @NonNull, @PossiblyNull and @CheckForNull annotations,
and convey them to FindNullDeref. |
| NoteSuppressedWarnings | |
| NoteUnconditionalParamDerefs |
As a first scanning pass, make a note of unconditionally dereferenced
parameters for later use by FindNullDerefs.
|
| NullArgumentWarningProperty |
Warning property for a null argument being passed to a
method which might dereference it.
|
| NullDerefProperty |
Warning properties for null pointer dereference and redundant null
comparison warnings.
|
| NumberConstructor |
Detector to find calls to Number constructors with base type argument in
Java 5 or newer bytecode.
|
| PreferZeroLengthArrays | |
| PublicSemaphores |
finds public classes that use 'this' as a semaphore, which can cause conflicts if clients of this
class use an instance of this class as their own synchronization point. |
| QuestionableBooleanAssignment | |
| ReadReturnShouldBeChecked | |
| RedundantInterfaces | |
| RefComparisonWarningProperty |
Warning properties for FindRefComparison detector.
|
| ResolveAllReferences | |
| RuntimeExceptionCapture |
RuntimeExceptionCapture
|
| SerializableIdiom | |
| StartInConstructor | |
| StaticCalendarDetector |
Detector for static fields of type java.util.Calendar or
java.text.DateFormat and their subclasses. |
| StaticFieldLoadStreamFactory |
Stream factory for streams created by loading a value
from a static field. |
| Stream |
A Stream object marks the location in the code where a
stream is created. |
| StreamEquivalenceClass |
Set of streams that are in an equivalence class.
|
| StreamEscape |
A StreamEscape is an object representing the escape of a Stream
to a called method.
|
| StreamFrameModelingVisitor |
A visitor to model the effect of instructions on the status
of the resource (in this case, Streams). |
| StreamResourceTracker |
Resource tracker which determines where streams are created,
and how they are used within the method.
|
| StringConcatenation |
Find occurrences of using the String "+" or "+=" operators
within a loop. |
| SuperfluousInstanceOf |
Find occurrences of a instanceof b where it can be determined
statically whether this is true or false. |
| SuspiciousThreadInterrupted |
looks for calls to Thread.interrupted from a non static context, especially when that context is
not 'currentThread()'. |
| SwitchFallthrough | |
| SynchronizeAndNullCheckField | |
| TestASM |
Sample detector, using ASM
|
| TestingGround | |
| TrainFieldStoreTypes |
Build a database of reference types stored into fields.
|
| TrainNonNullAnnotations |
Training detector to
store NonNull, PossiblyNull and CheckForNull annotations to database files.
|
| TrainUnconditionalDerefParams |
Training pass to find method parameters which are
unconditionally dereferenced. |
| UncallableMethodOfAnonymousClass | |
| UnnecessaryMath |
Find occurrences of Math using constants, where the result of the
calculation can be determined statically. |
| UnreadFields | |
| URLProblems |
equals and hashCode are blocking methods on URL's. |
| UselessSubclassMethod | |
| UseObjectEquals | |
| VarArgsProblems | |
| VolatileUsage | |
| WaitInLoop | |
| WrongMapIterator | |
| XMLFactoryBypass | |