Package | Description |
---|---|
edu.umd.cs.findbugs |
Main package for the FindBugs application - contains the
engine class (FindBugs), the object model classes for bug instances
(BugInstance, BugAnnotation), and other miscellany.
|
edu.umd.cs.findbugs.asm | |
edu.umd.cs.findbugs.bcel | |
edu.umd.cs.findbugs.detect |
Modifier and Type | Interface and Description |
---|---|
interface |
Detector
The interface which all bug pattern detectors must implement.
|
interface |
Detector2
Detector interface for new bytecode-framework-neutral architecture.
|
Modifier and Type | Class and Description |
---|---|
class |
ByteCodePatternDetector
A base class for bug detectors that are based on a ByteCodePattern.
|
class |
BytecodeScanningDetector
Base class for Detectors which want to extend DismantleBytecode.
|
class |
DetectorToDetector2Adapter
An adapter allowing classes implementing the Detector interface
to support the new Detector2 interface.
|
class |
NonReportingDetectorToDetector2Adapter |
class |
ResourceTrackingDetector<Resource,ResourceTrackerType extends ResourceTracker<Resource>>
Abstract implementation of a Detector to find methods where a
particular kind of created resource is not cleaned up
or closed properly.
|
Modifier and Type | Class and Description |
---|---|
class |
ClassNodeDetector
Abstract base class to to reduce boilerplate needed for writing
ASM-based Detectors implemented as ClassNode visitors
|
Modifier and Type | Class and Description |
---|---|
class |
AnnotationDetector
Base class for Detectors which want to perform a preorder traversal of the classfile
including visiting Annotations.
|
class |
CFGDetector
Base class for detectors that analyze CFG (and/or use CFG-based analyses).
|
class |
OpcodeStackDetector
Base class for Detectors that want to scan the bytecode
of a method and use an opcode stack.
|
class |
PreorderDetector
Base class for Detectors which want to perform a preorder traversal of the classfile.
|
Modifier and Type | Class and Description |
---|---|
class |
AppendingToAnObjectOutputStream |
class |
AtomicityProblem
if we get from a ConcurrentHashMap and assign to a variable...
|
class |
BadAppletConstructor |
class |
BadlyOverriddenAdapter |
class |
BadResultSetAccess |
class |
BadSyntaxForRegularExpression |
class |
BadUseOfReturnValue |
class |
BCPMethodReturnCheck
Deprecated.
|
class |
BooleanReturnNull |
class |
BuildInterproceduralCallGraph
Build the interprocedural call graph.
|
class |
BuildObligationPolicyDatabase
Build the ObligationPolicyDatabase used by ObligationAnalysis.
|
class |
BuildUnconditionalParamDerefDatabase
Build database of unconditionally dereferenced parameters.
|
class |
CalledMethods
Detector to find private methods that are never called.
|
class |
CallToUnconditionalThrower |
class |
CallToUnsupportedMethod |
class |
CbeckMustOverrideSuperAnnotation |
class |
CheckCalls
This is just for debugging method call resolution.
|
class |
CheckExpectedWarnings
Check uses of the ExpectWarning and NoWarning annotations.
|
class |
CheckImmutableAnnotation |
class |
CheckTypeQualifiers
Check JSR-305 type qualifiers.
|
class |
CloneIdiom |
class |
ComparatorIdiom |
class |
ConfusedInheritance |
class |
ConfusionBetweenInheritedAndOuterMethod |
class |
CrossSiteScripting |
class |
DoInsideDoPrivileged |
class |
DontCatchIllegalMonitorStateException |
class |
DontIgnoreResultOfPutIfAbsent |
class |
DontUseEnum |
class |
DroppedException |
class |
DumbMethodInvocations |
class |
DumbMethods |
class |
DuplicateBranches |
class |
EmptyZipFileEntry |
class |
EqStringTest |
class |
EqualsOperandShouldHaveClassCompatibleWithThis |
class |
FieldItemSummary |
class |
FinalizerNullsFields |
class |
FindBadCast
Deprecated.
|
class |
FindBadCast2 |
class |
FindBadEqualsImplementation
Find equals(Object) methods that unconditionally dereference the parameter,
rather than returning false if it's null.
|
class |
FindBadForLoop |
class |
FindBugsSummaryStats |
class |
FindCircularDependencies |
class |
FindDeadLocalStores
Find dead stores to local variables.
|
class |
FindDoubleCheck |
class |
FindEmptySynchronizedBlock |
class |
FindFieldSelfAssignment |
class |
FindFinalizeInvocations |
class |
FindFloatEquality |
class |
FindFloatMath |
class |
FindHEmismatch |
class |
FindInconsistentSync2
Find instance fields which are sometimes accessed (read or written)
with the receiver lock held and sometimes without.
|
class |
FindJSR166LockMonitorenter
Find places where ordinary (balanced) synchronization is performed
on JSR166 Lock objects.
|
class |
FindLocalSelfAssignment2 |
class |
FindMaskedFields |
class |
FindMismatchedWaitOrNotify |
class |
FindNakedNotify |
class |
FindNonSerializableStoreIntoSession |
class |
FindNonSerializableValuePassedToWriteObject |
class |
FindNonShortCircuit |
class |
FindNullDeref
A Detector to find instructions where a NullPointerException might be raised.
|
class |
FindNullDerefsInvolvingNonShortCircuitEvaluation |
class |
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.
|
class |
FindPuzzlers |
class |
FindRefComparison
Find suspicious reference comparisons.
|
class |
FindReturnRef |
class |
FindRunInvocations |
class |
FindSelfComparison |
class |
FindSelfComparison2 |
class |
FindSleepWithLockHeld
Find calls to Thread.sleep() made with a lock held.
|
class |
FindSpinLoop |
class |
FindSqlInjection
Find potential SQL injection vulnerabilities.
|
class |
FindTwoLockWait |
class |
FindUncalledPrivateMethods
Detector to find private methods that are never called.
|
class |
FindUnconditionalWait |
class |
FindUninitializedGet |
class |
FindUnrelatedTypesInGenericContainer |
class |
FindUnreleasedLock |
class |
FindUnsatisfiedObligation
Find unsatisfied obligations in Java methods.
|
class |
FindUnsyncGet |
class |
FindUselessControlFlow
A Detector to look for useless control flow.
|
class |
FormatStringChecker |
class |
HugeSharedStringConstants |
class |
IDivResultCastToDouble |
class |
IncompatMask
Find comparisons involving values computed with bitwise
operations whose outcomes are fixed at compile time.
|
class |
InconsistentAnnotations |
class |
InefficientMemberAccess |
class |
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()] );
|
class |
InfiniteLoop |
class |
InfiniteRecursiveLoop |
class |
InfiniteRecursiveLoop2
Deprecated.
|
class |
InheritanceUnsafeGetResource |
class |
InitializationChain |
class |
InstantiateStaticClass |
class |
InvalidJUnitTest |
class |
IteratorIdioms |
class |
LazyInit |
class |
LoadOfKnownNullValue |
class |
LockedFields |
class |
LostLoggerDueToWeakReference
We found a problem with the new OpenJDK that everyone is now using to compile
and run java code.
|
class |
MethodReturnCheck
Look for calls to methods where the return value is erroneously ignored.
|
class |
Methods |
class |
MultithreadedInstanceAccess |
class |
MutableLock |
class |
MutableStaticFields |
class |
Naming |
class |
Noise |
class |
NoiseNullDeref
A Detector to find instructions where a NullPointerException might be raised.
|
class |
NoteAnnotationRetention |
class |
NoteCheckReturnValue |
class |
NoteCheckReturnValueAnnotations
Scan classes for @CheckReturnValue annotations
|
class |
NoteDirectlyRelevantTypeQualifiers
Scan methods for directly-relevant type qualifiers,
building the DirectlyRelevantTypeQualifiersDatabase.
|
class |
NoteJCIPAnnotation |
class |
NoteNonNullAnnotations
Deprecated.
AnnotationDatabases are being phased out, since
annotations are now stored directly in the XClass/XMethod/XField objects.
Resolving nullness annotations will be handled through the
JSR-305 type qualifier code.
|
class |
NoteNonnullReturnValues
As a first scanning pass, make a note of unconditionally dereferenced
parameters for later use by FindNullDerefs.
|
class |
NoteSuppressedWarnings |
class |
NoteUnconditionalParamDerefs
Make a note of unconditionally dereferenced
parameters for later use by FindNullDerefs.
|
class |
NumberConstructor
Detector to find calls to Number constructors with base type argument in
Java 5 or newer bytecode.
|
class |
OverridingEqualsNotSymmetrical |
class |
PreferZeroLengthArrays |
class |
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.
|
class |
QuestionableBooleanAssignment |
class |
ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass |
class |
ReadReturnShouldBeChecked |
class |
RedundantInterfaces |
class |
ReflectiveClasses
Detector to find private methods that are never called.
|
class |
RepeatedConditionals |
class |
ResolveAllReferences |
class |
RuntimeExceptionCapture
RuntimeExceptionCapture
|
class |
SerializableIdiom |
class |
StartInConstructor |
class |
StaticCalendarDetector
Detector for static fields of type
Calendar or
DateFormat and their subclasses. |
class |
StringConcatenation
Find occurrences of using the String "+" or "+=" operators
within a loop.
|
class |
SuperfluousInstanceOf
Find occurrences of a instanceof b where it can be determined
statically whether this is true or false.
|
class |
SuspiciousThreadInterrupted
looks for calls to Thread.interrupted from a non static context, especially when that context is
not 'currentThread()'.
|
class |
SwitchFallthrough |
class |
SynchronizationOnSharedBuiltinConstant |
class |
SynchronizeAndNullCheckField |
class |
SynchronizeOnClassLiteralNotGetClass |
class |
SynchronizingOnContentsOfFieldToProtectField |
class |
TestASM
Sample detector, using ASM
|
class |
TestDataflowAnalysis
This detector is just a test harness to test a dataflow
analysis class specified by the dataflow.classname property.
|
class |
TestingGround |
class |
TrainFieldStoreTypes
Build a database of reference types stored into fields.
|
class |
TrainNonNullAnnotations
Deprecated.
AnnotationDatabases are being phased out, since
annotations are now stored directly in the XClass/XMethod/XField objects.
Resolving nullness annotations will be handled through the
JSR-305 type qualifier code.
|
class |
TrainUnconditionalDerefParams
Training pass to find method parameters which are
unconditionally dereferenced.
|
class |
UncallableMethodOfAnonymousClass |
class |
UnnecessaryMath
Find occurrences of Math using constants, where the result of the
calculation can be determined statically.
|
class |
UnreadFields |
class |
URLProblems
equals and hashCode are blocking methods on URL's.
|
class |
UselessSubclassMethod |
class |
UseObjectEquals |
class |
VarArgsProblems |
class |
VolatileUsage |
class |
WaitInLoop |
class |
WrongMapIterator |
class |
XMLFactoryBypass |
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.