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 |
|