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 |
Modifier and Type | Class | Description |
---|---|---|
class |
BytecodeScanningDetector |
Base class for Detectors which want to extend DismantleBytecode.
|
Modifier and Type | Method | Description |
---|---|---|
BugInstance |
BugInstance.addCalledMethod(DismantleBytecode visitor) |
Add a method annotation for the method which has been called
by the method currently being visited by given visitor.
|
BugInstance |
BugInstance.addOptionalLocalVariable(DismantleBytecode dbc,
OpcodeStack.Item item) |
Local variable adders
|
BugInstance |
BugInstance.addReferencedField(DismantleBytecode visitor) |
Add a field annotation for the field which has just been accessed
by the method currently being visited by given visitor.
|
BugInstance |
BugInstance.addValueSource(OpcodeStack.Item item,
DismantleBytecode dbc) |
|
void |
SwitchHandler.enterSwitch(DismantleBytecode dbc) |
|
static MethodAnnotation |
MethodAnnotation.fromCalledMethod(DismantleBytecode visitor) |
Factory method to create a MethodAnnotation from a method
called by the instruction the given visitor is currently visiting.
|
static FieldAnnotation |
FieldAnnotation.fromReferencedField(DismantleBytecode visitor) |
Factory method.
|
static java.lang.String |
OpcodeStack.getExceptionSig(DismantleBytecode dbc,
org.apache.bcel.classfile.CodeException e) |
|
OpcodeStack.Item |
OpcodeStack.getItemMethodInvokedOn(DismantleBytecode dbc) |
|
static LocalVariableAnnotation |
LocalVariableAnnotation.getLocalVariableAnnotation(DismantleBytecode visitor,
OpcodeStack.Item item) |
|
int |
SwitchHandler.getNextSwitchOffset(DismantleBytecode dbc) |
|
boolean |
SwitchHandler.isOnSwitchOffset(DismantleBytecode dbc) |
|
void |
OpcodeStack.mergeJumps(DismantleBytecode dbc) |
|
void |
OpcodeStack.precomputation(DismantleBytecode dbc) |
|
int |
OpcodeStack.resetForMethodEntry(DismantleBytecode visitor) |
|
void |
OpcodeStack.sawOpcode(DismantleBytecode dbc,
int seen) |
Modifier and Type | Method | Description |
---|---|---|
static XField |
XFactory.createReferencedXField(DismantleBytecode visitor) |
|
static XMethod |
XFactory.createReferencedXMethod(DismantleBytecode visitor) |
Modifier and Type | Class | Description |
---|---|---|
class |
OpcodeStackDetector |
Base class for Detectors that want to scan the bytecode
of a method and use an opcode stack.
|
Modifier and Type | Class | 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 |
BuildInterproceduralCallGraph |
Build the interprocedural call graph.
|
class |
CalledMethods |
Detector to find private methods that are never called.
|
class |
CbeckMustOverrideSuperAnnotation |
|
class |
CloneIdiom |
|
class |
ConfusionBetweenInheritedAndOuterMethod |
|
class |
CrossSiteScripting |
|
class |
DoInsideDoPrivileged |
|
class |
DumbMethods |
|
class |
EmptyZipFileEntry |
|
class |
EqStringTest |
|
class |
EqualsOperandShouldHaveClassCompatibleWithThis |
|
class |
FieldItemSummary |
|
class |
FinalizerNullsFields |
|
class |
FindBadCast |
Deprecated.
|
class |
FindBadForLoop |
|
class |
FindCircularDependencies |
|
class |
FindDoubleCheck |
|
class |
FindEmptySynchronizedBlock |
|
class |
FindFieldSelfAssignment |
|
class |
FindFinalizeInvocations |
|
class |
FindFloatEquality |
|
class |
FindFloatMath |
|
class |
FindHEmismatch |
|
class |
FindLocalSelfAssignment2 |
|
class |
FindMaskedFields |
|
class |
FindNakedNotify |
|
class |
FindNonShortCircuit |
|
class |
FindNullDerefsInvolvingNonShortCircuitEvaluation |
|
class |
FindPuzzlers |
|
class |
FindReturnRef |
|
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 |
HugeSharedStringConstants |
|
class |
IDivResultCastToDouble |
|
class |
IncompatMask |
Find comparisons involving values computed with bitwise
operations whose outcomes are fixed at compile time.
|
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 |
InstantiateStaticClass |
|
class |
InvalidJUnitTest |
|
class |
IteratorIdioms |
|
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 |
MultithreadedInstanceAccess |
|
class |
MutableLock |
|
class |
MutableStaticFields |
|
class |
Noise |
|
class |
NoteDirectlyRelevantTypeQualifiers |
Scan methods for directly-relevant type qualifiers,
building the DirectlyRelevantTypeQualifiersDatabase.
|
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 |
ReflectiveClasses |
Detector to find private methods that are never called.
|
class |
RepeatedConditionals |
|
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 |
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.