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.ba.ca | |
edu.umd.cs.findbugs.ba.constant | |
edu.umd.cs.findbugs.ba.deref | |
edu.umd.cs.findbugs.ba.heap | |
edu.umd.cs.findbugs.ba.jsr305 |
Support for analyzing code containing JSR-305 type qualifier annotations.
|
edu.umd.cs.findbugs.ba.npe | |
edu.umd.cs.findbugs.ba.obl |
Implementation of dataflow analysis for checking whether
obligations to close streams and other resources (e.g.
|
edu.umd.cs.findbugs.ba.type | |
edu.umd.cs.findbugs.ba.vna | |
edu.umd.cs.findbugs.bcel | |
edu.umd.cs.findbugs.classfile.engine.bcel |
Support for analyses based on the BCEL bytecode framework.
|
edu.umd.cs.findbugs.detect |
Modifier and Type | Method and Description |
---|---|
abstract void |
ResourceTrackingDetector.inspectResult(ClassContext classContext,
org.apache.bcel.generic.MethodGen methodGen,
CFG cfg,
Dataflow<ResourceValueFrame,ResourceValueAnalysis<Resource>> dataflow,
Resource resource) |
Modifier and Type | Method and Description |
---|---|
CFG |
Dataflow.getCFG()
Get the CFG object.
|
CFG |
CFGBuilder.getCFG()
Get the CFG built by this object.
|
CFG |
BetterCFGBuilder2.getCFG() |
CFG |
ClassContext.getCFG(org.apache.bcel.classfile.Method method)
Get a CFG for given method.
|
Modifier and Type | Method and Description |
---|---|
void |
Path.acceptVisitor(CFG cfg,
PathVisitor visitor)
Accept a PathVisitor.
|
void |
Path.acceptVisitorStartingFromLocation(CFG cfg,
PathVisitor visitor,
BasicBlock startBlock,
org.apache.bcel.generic.InstructionHandle startHandle)
Accept a PathVisitor, starting from a given BasicBlock and
InstructionHandle.
|
static void |
ClassContext.dumpDataflowInformation(org.apache.bcel.classfile.Method method,
CFG cfg,
ValueNumberDataflow vnd,
IsNullValueDataflow inv,
UnconditionalValueDerefDataflow dataflow,
TypeDataflow typeDataflow) |
static void |
ClassContext.dumpLiveLocalStoreDataflow(MethodDescriptor method,
CFG cfg,
LiveLocalStoreDataflow dataflow) |
static void |
ClassContext.dumpTypeDataflow(org.apache.bcel.classfile.Method method,
CFG cfg,
TypeDataflow typeDataflow) |
BlockOrder |
PostDominatorsAnalysis.getBlockOrder(CFG cfg) |
BlockOrder |
ForwardDataflowAnalysis.getBlockOrder(CFG cfg) |
BlockOrder |
DominatorsAnalysis.getBlockOrder(CFG cfg) |
BlockOrder |
DataflowAnalysis.getBlockOrder(CFG cfg)
Return the BlockOrder specifying the order in which BasicBlocks should be
visited in the main dataflow loop.
|
BlockOrder |
BlockTypeAnalysis.getBlockOrder(CFG cfg) |
BlockOrder |
BackwardDataflowAnalysis.getBlockOrder(CFG cfg) |
FrameType |
FrameDataflowAnalysis.getFactAtPC(CFG cfg,
int pc)
Get the dataflow fact representing the point just before given Location.
|
FrameType |
FrameDataflowAnalysis.getFactBeforeExceptionCheck(CFG cfg,
int pc)
Get the dataflow fact representing the point just before given Location.
|
Constructor and Description |
---|
AbstractBlockOrder(CFG cfg,
java.util.Comparator<BasicBlock> comparator) |
AbstractDataflow(CFG cfg,
AnalysisType analysis)
Constructor.
|
AbstractDominatorsAnalysis(CFG cfg,
boolean ignoreExceptionEdges)
Constructor.
|
AbstractDominatorsAnalysis(CFG cfg,
EdgeChooser edgeChooser)
Constructor.
|
BlockTypeDataflow(CFG cfg,
BlockTypeAnalysis analysis) |
CFGPrinter(CFG cfg) |
CompactLocationNumbering(CFG cfg)
Constructor.
|
Dataflow(CFG cfg,
AnalysisType analysis)
Constructor.
|
DepthFirstSearch(CFG cfg)
Constructor.
|
DFSCFGPrinter(CFG cfg,
DepthFirstSearch dfs) |
DominatorsAnalysis(CFG cfg,
DepthFirstSearch dfs,
boolean ignoreExceptionEdges)
Constructor.
|
LiveLocalStoreDataflow(CFG cfg,
LiveLocalStoreAnalysis analysis) |
LockDataflow(CFG cfg,
LockAnalysis lockAnalysis) |
PostDominatorsAnalysis(CFG cfg,
ReverseDepthFirstSearch rdfs,
DepthFirstSearch dfs,
boolean ignoreExceptionEdges)
Constructor.
|
PostDominatorsAnalysis(CFG cfg,
ReverseDepthFirstSearch rdfs,
DepthFirstSearch dfs,
EdgeChooser edgeChooser)
Constructor.
|
PruneInfeasibleExceptionEdges(CFG cfg,
org.apache.bcel.generic.MethodGen methodGen,
TypeDataflow typeDataflow)
Constructor.
|
PruneUnconditionalExceptionThrowerEdges(org.apache.bcel.classfile.JavaClass javaClass,
org.apache.bcel.classfile.Method method,
org.apache.bcel.generic.MethodGen methodGen,
CFG cfg,
org.apache.bcel.generic.ConstantPoolGen cpg,
TypeDataflow typeDataflow,
AnalysisContext analysisContext) |
ResourceValueAnalysis(org.apache.bcel.generic.MethodGen methodGen,
CFG cfg,
DepthFirstSearch dfs,
ResourceTracker<Resource> resourceTracker,
Resource resource) |
ReturnPathDataflow(CFG cfg,
ReturnPathAnalysis analysis) |
ReverseDepthFirstSearch(CFG cfg)
Constructor.
|
ReverseDFSOrder(CFG cfg,
ReverseDepthFirstSearch rdfs,
DepthFirstSearch dfs)
Constructor.
|
ReversePostOrder(CFG cfg,
DepthFirstSearch dfs)
Constructor.
|
SimplePathEnumerator(CFG cfg,
int maxPaths)
Constructor; max work is set to DEFAULT_MAX_WORK.
|
SimplePathEnumerator(CFG cfg,
int maxPaths,
int maxWork)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
BlockOrder |
CallListAnalysis.getBlockOrder(CFG cfg) |
Constructor and Description |
---|
CallListAnalysis(CFG cfg,
DepthFirstSearch dfs,
org.apache.bcel.generic.ConstantPoolGen cpg) |
CallListDataflow(CFG cfg,
CallListAnalysis analysis) |
Constructor and Description |
---|
ConstantDataflow(CFG cfg,
ConstantAnalysis analysis) |
Constructor and Description |
---|
UnconditionalValueDerefAnalysis(ReverseDepthFirstSearch rdfs,
DepthFirstSearch dfs,
CFG cfg,
org.apache.bcel.classfile.Method method,
org.apache.bcel.generic.MethodGen methodGen,
ValueNumberDataflow vnaDataflow,
AssertionMethods assertionMethods)
Constructor.
|
UnconditionalValueDerefDataflow(CFG cfg,
UnconditionalValueDerefAnalysis analysis)
Constructor.
|
Constructor and Description |
---|
LoadDataflow(CFG cfg,
LoadAnalysis analysis) |
StoreDataflow(CFG cfg,
StoreAnalysis analysis) |
Modifier and Type | Field and Description |
---|---|
protected CFG |
TypeQualifierDataflowAnalysis.cfg |
Modifier and Type | Method and Description |
---|---|
BlockOrder |
ForwardTypeQualifierDataflowAnalysis.getBlockOrder(CFG cfg1) |
BlockOrder |
BackwardTypeQualifierDataflowAnalysis.getBlockOrder(CFG cfg1) |
protected abstract DataflowType |
TypeQualifierDataflowFactory.getDataflow(DepthFirstSearch dfs,
XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor1,
TypeQualifierValue<?> typeQualifierValue) |
protected ForwardTypeQualifierDataflow |
ForwardTypeQualifierDataflowFactory.getDataflow(DepthFirstSearch dfs,
XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor,
TypeQualifierValue<?> typeQualifierValue) |
protected BackwardTypeQualifierDataflow |
BackwardTypeQualifierDataflowFactory.getDataflow(DepthFirstSearch dfs,
XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor,
TypeQualifierValue<?> typeQualifierValue) |
static java.util.Collection<TypeQualifierValue<?>> |
Analysis.getRelevantTypeQualifiers(MethodDescriptor methodDescriptor,
CFG cfg)
Find relevant type qualifiers needing to be checked for a given method.
|
Constructor and Description |
---|
BackwardTypeQualifierDataflow(CFG cfg,
BackwardTypeQualifierDataflowAnalysis analysis)
Constructor.
|
BackwardTypeQualifierDataflowAnalysis(DepthFirstSearch dfs,
ReverseDepthFirstSearch rdfs,
XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
TypeQualifierValue<?> typeQualifierValue)
Constructor.
|
ForwardTypeQualifierDataflow(CFG cfg,
ForwardTypeQualifierDataflowAnalysis analysis)
Constructor.
|
ForwardTypeQualifierDataflowAnalysis(DepthFirstSearch dfs,
XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
TypeQualifierValue<?> typeQualifierValue)
Constructor.
|
TypeQualifierDataflow(CFG cfg,
AnalysisType analysis)
Constructor.
|
TypeQualifierDataflowAnalysis(XMethod xmethod,
CFG cfg,
ValueNumberDataflow vnaDataflow,
org.apache.bcel.generic.ConstantPoolGen cpg,
TypeQualifierValue<?> typeQualifierValue)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
NullDerefAndRedundantComparisonFinder.checkEdges(CFG cfg,
java.util.Map<ValueNumber,NullValueUnconditionalDeref> nullValueGuaranteedDerefMap,
java.util.Map<ValueNumber,java.util.SortedSet<Location>> bugEdgeLocationMap) |
BlockOrder |
ReturnPathTypeAnalysis.getBlockOrder(CFG cfg) |
static IsNullValueAnalysis.PointerEqualityCheck |
IsNullValueAnalysis.getForPointerEqualityCheck(CFG cfg,
ValueNumberDataflow vna) |
Constructor and Description |
---|
IsNullValueAnalysis(MethodDescriptor descriptor,
org.apache.bcel.generic.MethodGen methodGen,
CFG cfg,
ValueNumberDataflow vnaDataflow,
TypeDataflow typeDataflow,
DepthFirstSearch dfs,
AssertionMethods assertionMethods) |
IsNullValueDataflow(CFG cfg,
IsNullValueAnalysis analysis) |
ReturnPathTypeAnalysis(CFG cfg,
ReverseDepthFirstSearch rdfs,
DepthFirstSearch dfs)
Constructor.
|
ReturnPathTypeDataflow(CFG cfg,
ReturnPathTypeAnalysis analysis)
Constructor.
|
Constructor and Description |
---|
ObligationDataflow(CFG cfg,
ObligationAnalysis analysis) |
Modifier and Type | Field and Description |
---|---|
protected CFG |
TypeAnalysis.cfg |
Constructor and Description |
---|
TypeAnalysis(org.apache.bcel.classfile.Method method,
org.apache.bcel.generic.MethodGen methodGen,
CFG cfg,
DepthFirstSearch dfs,
RepositoryLookupFailureCallback lookupFailureCallback,
ExceptionSetFactory exceptionSetFactory)
Constructor which uses StandardTypeMerger.
|
TypeAnalysis(org.apache.bcel.classfile.Method method,
org.apache.bcel.generic.MethodGen methodGen,
CFG cfg,
DepthFirstSearch dfs,
TypeMerger typeMerger,
RepositoryLookupFailureCallback lookupFailureCallback,
ExceptionSetFactory exceptionSetFactory)
Constructor.
|
TypeAnalysis(org.apache.bcel.classfile.Method method,
org.apache.bcel.generic.MethodGen methodGen,
CFG cfg,
DepthFirstSearch dfs,
TypeMerger typeMerger,
TypeFrameModelingVisitor visitor,
RepositoryLookupFailureCallback lookupFailureCallback,
ExceptionSetFactory exceptionSetFactory)
Constructor.
|
TypeDataflow(CFG cfg,
TypeAnalysis analysis) |
Constructor and Description |
---|
ValueNumberDataflow(CFG cfg,
ValueNumberAnalysis analysis) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
CFGDetector.visitMethodCFG(MethodDescriptor methodDescriptor,
CFG cfg)
Visit the CFG (control flow graph) of a method to be analyzed.
|
Modifier and Type | Method and Description |
---|---|
CFG |
CFGFactory.analyze(IAnalysisCache analysisCache,
MethodDescriptor descriptor) |
protected CFG |
AnalysisFactory.getCFG(IAnalysisCache analysisCache,
MethodDescriptor methodDescriptor) |
Modifier and Type | Method and Description |
---|---|
java.util.List<Edge> |
FinallyDuplicatesInfoFactory.FinallyDuplicatesInfo.getDuplicates(CFG cfg,
Edge edge) |
Constructor and Description |
---|
NonExceptionPostdominatorsAnalysis(CFG cfg,
ReverseDepthFirstSearch rdfs,
DepthFirstSearch dfs)
Constructor.
|
NonImplicitExceptionPostDominatorsAnalysis(CFG cfg,
ReverseDepthFirstSearch rdfs,
DepthFirstSearch dfs) |
Modifier and Type | Method and Description |
---|---|
void |
FindUnreleasedLock.inspectResult(ClassContext classContext,
org.apache.bcel.generic.MethodGen methodGen,
CFG cfg,
Dataflow<ResourceValueFrame,ResourceValueAnalysis<edu.umd.cs.findbugs.detect.Lock>> dataflow,
edu.umd.cs.findbugs.detect.Lock resource) |
void |
FindOpenStream.inspectResult(ClassContext classContext,
org.apache.bcel.generic.MethodGen methodGen,
CFG cfg,
Dataflow<ResourceValueFrame,ResourceValueAnalysis<Stream>> dataflow,
Stream stream) |
protected void |
FindUnsatisfiedObligation.visitMethodCFG(MethodDescriptor methodDescriptor,
CFG cfg) |
protected void |
CheckTypeQualifiers.visitMethodCFG(MethodDescriptor methodDescriptor,
CFG cfg) |
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.