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.ba |
A bytecode analysis framework for BCEL, providing CFG construction,
generic dataflow analysis, and a variety of specific dataflow analyses.
|
edu.umd.cs.findbugs.bcel | |
edu.umd.cs.findbugs.detect | |
edu.umd.cs.findbugs.visitclass |
Modifier and Type | Class and Description |
---|---|
class |
BytecodeScanningDetector
Base class for Detectors which want to extend DismantleBytecode.
|
Modifier and Type | Method and Description |
---|---|
BugInstance |
BugInstance.addClass(PreorderVisitor visitor)
Add a class annotation for the class that the visitor is currently
visiting.
|
BugInstance |
BugInstance.addClassAndMethod(PreorderVisitor visitor)
Add a class annotation and a method annotation for the class and method
which the given visitor is currently visiting.
|
BugInstance |
BugInstance.addField(PreorderVisitor visitor) |
BugInstance |
BugInstance.addMethod(PreorderVisitor visitor)
Add a method annotation for the method which the given visitor is
currently visiting.
|
BugInstance |
BugInstance.addSourceLine(ClassContext classContext,
PreorderVisitor visitor,
int pc)
Add a source line annotation for instruction whose PC is given in the
method that the given visitor is currently visiting.
|
BugInstance |
BugInstance.addSourceLineRange(ClassContext classContext,
PreorderVisitor visitor,
int startPC,
int endPC)
Add a source line annotation describing the source line numbers for a
range of instructions in the method being visited by the given visitor.
|
BugInstance |
BugInstance.addSuperclass(PreorderVisitor visitor)
Add a class annotation for the superclass of the class the visitor is
currently visiting.
|
BugInstance |
BugInstance.addVisitedField(PreorderVisitor visitor)
Add a field annotation for the field which is being visited by given
visitor.
|
static FieldAnnotation |
FieldAnnotation.fromVisitedField(PreorderVisitor visitor)
Factory method.
|
static SourceLineAnnotation |
SourceLineAnnotation.fromVisitedInstruction(ClassContext classContext,
PreorderVisitor visitor,
int pc)
Factory method for creating a source line annotation describing the
source line number for the instruction being visited by given visitor.
|
static SourceLineAnnotation |
SourceLineAnnotation.fromVisitedInstructionRange(ClassContext classContext,
PreorderVisitor visitor,
int startPC,
int endPC)
Factory method for creating a source line annotation describing the
source line numbers for a range of instructions in the method being
visited by the given visitor.
|
static SourceLineAnnotation |
SourceLineAnnotation.fromVisitedMethod(PreorderVisitor visitor)
Factory method for creating a source line annotation describing an entire
method.
|
static MethodAnnotation |
MethodAnnotation.fromVisitedMethod(PreorderVisitor visitor)
Factory method to create a MethodAnnotation from the method the given
visitor is currently visiting.
|
Modifier and Type | Method and Description |
---|---|
static XField |
XFactory.createXField(PreorderVisitor visitor)
Create an XField object from the field currently being visited by the
given PreorderVisitor.
|
static XMethod |
XFactory.createXMethod(PreorderVisitor visitor)
Create an XMethod object from the method currently being visited by the
given PreorderVisitor.
|
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 |
OpcodeStackDetector
Base class for Detectors that want to scan the bytecode of a method and use
an opcode stack.
|
static class |
OpcodeStackDetector.WithCustomJumpInfo |
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 |
BooleanReturnNull |
class |
BuildCheckReturnAnnotationDatabase
Scan application classes for CheckReturnValue annotations.
|
class |
BuildInterproceduralCallGraph
Build the interprocedural call graph.
|
class |
BuildNonNullAnnotationDatabase
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 |
BuildStringPassthruGraph
Builds the database of string parameters passed from method to method unchanged.
|
class |
CalledMethods
Detector to find private methods that are never called.
|
class |
CallToUnconditionalThrower |
class |
CbeckMustOverrideSuperAnnotation |
class |
CheckAnalysisContextContainedAnnotation |
class |
CheckImmutableAnnotation |
class |
CloneIdiom |
class |
ComparatorIdiom |
class |
ConfusedInheritance |
class |
ConfusionBetweenInheritedAndOuterMethod |
class |
CovariantArrayAssignment |
class |
CrossSiteScripting |
class |
DefaultEncodingDetector
Finds invocations of JDK methods that rely on the default platform encoding.
|
class |
DoInsideDoPrivileged |
class |
DontCatchIllegalMonitorStateException |
class |
DontUseEnum |
class |
DroppedException |
class |
DumbMethods |
class |
DuplicateBranches |
class |
EmptyZipFileEntry
This detector is currently disabled by default.
|
class |
EqualsOperandShouldHaveClassCompatibleWithThis |
class |
ExplicitSerialization |
class |
FieldItemSummary |
class |
FinalizerNullsFields |
class |
FindBadForLoop |
class |
FindBugsSummaryStats |
class |
FindCircularDependencies |
class |
FindComparatorProblems |
class |
FindDoubleCheck |
class |
FindEmptySynchronizedBlock |
class |
FindFieldSelfAssignment |
class |
FindFinalizeInvocations |
class |
FindFloatEquality |
class |
FindFloatMath |
class |
FindHEmismatch |
class |
FindLocalSelfAssignment2 |
class |
FindMaskedFields |
class |
FindNakedNotify |
class |
FindNonShortCircuit |
class |
FindNoSideEffectMethods |
class |
FindNullDerefsInvolvingNonShortCircuitEvaluation |
class |
FindPuzzlers |
class |
FindReturnRef |
class |
FindRoughConstants |
class |
FindRunInvocations |
class |
FindSelfComparison |
class |
FindSpinLoop |
class |
FindUncalledPrivateMethods
Detector to find private methods that are never called.
|
class |
FindUnconditionalWait |
class |
FindUninitializedGet |
class |
FindUnsyncGet |
class |
FindUselessControlFlow
A Detector to look for useless control flow.
|
class |
FormatStringChecker |
class |
FunctionsThatMightBeMistakenForProcedures |
class |
HugeSharedStringConstants |
class |
IDivResultCastToDouble |
class |
IncompatMask
Find comparisons involving values computed with bitwise operations whose
outcomes are fixed at compile time.
|
class |
InefficientIndexOf
Use whenever possible String.indexOf(int) instead of String.indexOf(String),
or String.lastIndexOf(int) instead of String.lastIndexOf(String).
|
class |
InefficientInitializationInsideLoop |
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 |
InheritanceUnsafeGetResource |
class |
InitializationChain |
class |
InitializeNonnullFieldsInConstructor |
class |
InstantiateStaticClass |
class |
IntCast2LongAsInstant |
class |
InvalidJUnitTest |
class |
IteratorIdioms |
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 |
MutableEnum |
class |
MutableLock |
class |
MutableStaticFields |
class |
Naming |
class |
Noise |
class |
NoteAnnotationRetention |
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 |
NoteSuppressedWarnings |
class |
NumberConstructor
Detector to find calls to Number constructors with base type argument in Java
5 or newer bytecode.
|
class |
OptionalReturnNull
Methods with "Optional" return type should never return null.
|
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 |
TestingGround |
class |
TestingGround2 |
class |
TrainLongInstantfParams |
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 |
TypeReturnNull
Base class for simple type checking detectors which tests if the method
returns null references for specific types.
|
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 |
VarArgsProblems |
class |
VolatileUsage |
class |
WaitInLoop |
class |
WrongMapIterator |
class |
XMLFactoryBypass |
Modifier and Type | Class and Description |
---|---|
class |
AnnotationVisitor
Subclass of PreorderVisitor that visits annotations on classes, fields,
methods, and method parameters.
|
class |
DismantleBytecode |
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.