|
Class Summary |
| AnyMethodReturnValueStreamFactory |
Factory for stream objects of a particular
base class type returned by any method. |
| AppendingToAnObjectOutputStream |
|
| AtomicityProblem |
if we get from a ConcurrentHashMap and assign to a variable... |
| BadAppletConstructor |
|
| BadlyOverriddenAdapter |
|
| BadResultSetAccess |
|
| BadSyntaxForRegularExpression |
|
| BadUseOfReturnValue |
|
| BCPMethodReturnCheck |
Deprecated. |
| BooleanReturnNull |
|
| BuildCheckReturnAnnotationDatabase |
Scan application classes for CheckReturnValue annotations. |
| BuildInterproceduralCallGraph |
Build the interprocedural call graph. |
| BuildNonNullAnnotationDatabase |
Scan application classes for
NonNull annotations. |
| BuildNonnullReturnDatabase |
Build database of methods that return values guaranteed to be nonnull |
| BuildObligationPolicyDatabase |
Build the ObligationPolicyDatabase used by ObligationAnalysis. |
| BuildUnconditionalParamDerefDatabase |
Build database of unconditionally dereferenced parameters. |
| CalledMethods |
Detector to find private methods that are never called. |
| CallToUnconditionalThrower |
|
| CallToUnsupportedMethod |
|
| CbeckMustOverrideSuperAnnotation |
|
| CheckCalls |
This is just for debugging method call resolution. |
| CheckExpectedWarnings |
Check uses of the ExpectWarning and NoWarning annotations. |
| CheckImmutableAnnotation |
|
| CheckTypeQualifiers |
Check JSR-305 type qualifiers. |
| CloneIdiom |
|
| ComparatorIdiom |
|
| ConfusedInheritance |
|
| ConfusionBetweenInheritedAndOuterMethod |
|
| CrossSiteScripting |
|
| DeadLocalStoreProperty |
Warning property for FindDeadLocalStores. |
| DoInsideDoPrivileged |
|
| DontCatchIllegalMonitorStateException |
|
| DontIgnoreResultOfPutIfAbsent |
|
| DontUseEnum |
|
| DoomedCodeWarningProperty |
A WarningProperty for warnings that are reported at a "doomed" Location;
one that cannot return normally. |
| DroppedException |
|
| DumbMethodInvocations |
|
| DumbMethods |
|
| DuplicateBranches |
|
| EmptyZipFileEntry |
|
| EqStringTest |
|
| EqualsOperandShouldHaveClassCompatibleWithThis |
|
| FieldItemSummary |
|
| FinalizerNullsFields |
|
| FindBadCast |
Deprecated. |
| 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. |
| FindNullDerefsInvolvingNonShortCircuitEvaluation |
|
| 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. |
| FindRefComparison.DynamicStringType |
Type representing a dynamically created String. |
| FindRefComparison.FinalConstant |
|
| FindRefComparison.ParameterStringType |
Type representing a String passed as a parameter. |
| FindRefComparison.StaticStringType |
Type representing a static String. |
| 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. |
| FormatStringChecker |
|
| HugeSharedStringConstants |
|
| IDivResultCastToDouble |
|
| IncompatMask |
Find comparisons involving values computed with bitwise
operations whose outcomes are fixed at compile time. |
| InconsistentAnnotations |
|
| 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 |
|
| InfiniteRecursiveLoop2 |
Deprecated. |
| 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 |
|
| LostLoggerDueToWeakReference |
We found a problem with the new OpenJDK that everyone is now using to compile
and run java code. |
| 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 |
|
| Naming.NamingProperty |
|
| Noise |
|
| NoiseNullDeref |
A Detector to find instructions where a NullPointerException might be raised. |
| NonNullReturnProperty |
|
| NoteAnnotationRetention |
|
| NoteCheckReturnValue |
|
| NoteCheckReturnValueAnnotations |
Scan classes for @CheckReturnValue annotations |
| NoteDirectlyRelevantTypeQualifiers |
Scan methods for directly-relevant type qualifiers,
building the DirectlyRelevantTypeQualifiersDatabase. |
| NoteJCIPAnnotation |
|
| NoteNonNullAnnotations |
Deprecated. AnnotationDatabases are being phased out, since
annotations are now stored directly in the XClass/XMethod/XField objects. |
| NoteNonnullReturnValues |
As a first scanning pass, make a note of unconditionally dereferenced
parameters for later use by FindNullDerefs. |
| NoteSuppressedWarnings |
|
| NoteUnconditionalParamDerefs |
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. |
| OverridingEqualsNotSymmetrical |
|
| 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 |
|
| ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass |
|
| ReadReturnShouldBeChecked |
|
| RedundantInterfaces |
|
| RefComparisonWarningProperty |
Warning properties for FindRefComparison detector. |
| ReflectiveClasses |
Detector to find private methods that are never called. |
| RepeatedConditionals |
|
| ResolveAllReferences |
|
| RuntimeExceptionCapture |
RuntimeExceptionCapture |
| SerializableIdiom |
|
| StartInConstructor |
|
| StaticCalendarDetector |
Detector for static fields of type Calendar or
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 |
|
| SynchronizationOnSharedBuiltinConstant |
|
| SynchronizeAndNullCheckField |
|
| SynchronizeOnClassLiteralNotGetClass |
|
| SynchronizingOnContentsOfFieldToProtectField |
|
| TestASM |
Sample detector, using ASM |
| TestDataflowAnalysis |
This detector is just a test harness to test a dataflow
analysis class specified by the dataflow.classname property. |
| TestingGround |
|
| TrainFieldStoreTypes |
Build a database of reference types stored into fields. |
| TrainNonNullAnnotations |
Deprecated. AnnotationDatabases are being phased out, since
annotations are now stored directly in the XClass/XMethod/XField objects. |
| 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 |
|