Uses of Class
edu.umd.cs.findbugs.ba.CFG
Packages that use CFG
Package
Description
Main package for the FindBugs application - contains the engine class
(
FindBugs
), the object model classes for bug
instances (BugInstance
,
BugAnnotation
), and other miscellany.A bytecode analysis framework for BCEL, providing CFG construction, generic
dataflow analysis, and a variety of specific dataflow analyses.
Support for analyzing code containing JSR-305 type qualifier annotations.
Implementation of dataflow analysis for checking whether obligations to close streams and other resources
(e.g., database objects) are satisfied.
Support for analyses based on the BCEL bytecode framework.
-
Uses of CFG in edu.umd.cs.findbugs
Methods in edu.umd.cs.findbugs with parameters of type CFGModifier and TypeMethodDescriptionabstract void
ResourceTrackingDetector.inspectResult
(ClassContext classContext, org.apache.bcel.generic.MethodGen methodGen, CFG cfg, Dataflow<ResourceValueFrame, ResourceValueAnalysis<Resource>> dataflow, Resource resource) -
Uses of CFG in edu.umd.cs.findbugs.ba
Fields in edu.umd.cs.findbugs.ba declared as CFGModifier and TypeFieldDescriptionprivate final CFG
AbstractDominatorsAnalysis.cfg
private CFG
BetterCFGBuilder2.cfg
private final CFG
CFGPrinter.cfg
private final CFG
Dataflow.cfg
private final CFG
PruneInfeasibleExceptionEdges.cfg
private final CFG
PruneUnconditionalExceptionThrowerEdges.cfg
private final CFG
ResourceValueAnalysis.cfg
private final CFG
SimplePathEnumerator.cfg
private final CFG
BetterCFGBuilder2.Subroutine.cfgSub
private final CFG
BetterCFGBuilder2.Context.result
Methods in edu.umd.cs.findbugs.ba that return CFGModifier and TypeMethodDescriptionBetterCFGBuilder2.getCFG()
BetterCFGBuilder2.Subroutine.getCFG()
Get the subroutine's CFG.CFGBuilder.getCFG()
Get the CFG built by this object.ClassContext.getCFG
(org.apache.bcel.classfile.Method method) Get a CFG for given method.Dataflow.getCFG()
Get the CFG object.BetterCFGBuilder2.Context.getResult()
Get the result CFG.private CFG
BetterCFGBuilder2.inlineAll()
Inline all JSR subroutines into the top-level subroutine.Methods in edu.umd.cs.findbugs.ba with parameters of type CFGModifier and TypeMethodDescriptionvoid
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.private void
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) BackwardDataflowAnalysis.getBlockOrder
(CFG cfg) BlockTypeAnalysis.getBlockOrder
(CFG cfg) DataflowAnalysis.getBlockOrder
(CFG cfg) Return the BlockOrder specifying the order in which BasicBlocks should be visited in the main dataflow loop.DominatorsAnalysis.getBlockOrder
(CFG cfg) ForwardDataflowAnalysis.getBlockOrder
(CFG cfg) PostDominatorsAnalysis.getBlockOrder
(CFG cfg) FrameDataflowAnalysis.getFactAtPC
(CFG cfg, int pc) Get the dataflow fact representing the point just before given Location.FrameDataflowAnalysis.getFactBeforeExceptionCheck
(CFG cfg, int pc) Get the dataflow fact representing the point just before given Location.Constructors in edu.umd.cs.findbugs.ba with parameters of type CFGModifierConstructorDescriptionAbstractBlockOrder
(CFG cfg, 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) Constructor.Context
(BetterCFGBuilder2.Context caller, BetterCFGBuilder2.Subroutine subroutine, CFG result) Constructor.Dataflow
(CFG cfg, AnalysisType analysis) Constructor.DepthFirstSearch
(CFG cfg) Constructor.DFSCFGPrinter
(CFG cfg, DepthFirstSearch dfs) DominatorsAnalysis
(CFG cfg, DepthFirstSearch dfs, boolean ignoreExceptionEdges) Constructor.DominatorsAnalysis
(CFG cfg, DepthFirstSearch dfs, EdgeChooser edgeChooser) Constructor.LiveLocalStoreDataflow
(CFG cfg, LiveLocalStoreAnalysis analysis) LockDataflow
(CFG cfg, LockAnalysis lockAnalysis) protected
PostDominatorsAnalysis
(CFG cfg, ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs, boolean ignoreExceptionEdges) Constructor.protected
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) 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. -
Uses of CFG in edu.umd.cs.findbugs.ba.bcp
Fields in edu.umd.cs.findbugs.ba.bcp declared as CFG -
Uses of CFG in edu.umd.cs.findbugs.ba.ca
Methods in edu.umd.cs.findbugs.ba.ca with parameters of type CFGModifier and TypeMethodDescriptionCallListAnalysis.buildCallMap
(CFG cfg, org.apache.bcel.generic.ConstantPoolGen cpg) CallListAnalysis.getBlockOrder
(CFG cfg) Constructors in edu.umd.cs.findbugs.ba.ca with parameters of type CFGModifierConstructorDescriptionCallListAnalysis
(CFG cfg, DepthFirstSearch dfs, org.apache.bcel.generic.ConstantPoolGen cpg) CallListDataflow
(CFG cfg, CallListAnalysis analysis) -
Uses of CFG in edu.umd.cs.findbugs.ba.constant
Constructors in edu.umd.cs.findbugs.ba.constant with parameters of type CFG -
Uses of CFG in edu.umd.cs.findbugs.ba.deref
Fields in edu.umd.cs.findbugs.ba.deref declared as CFGConstructors in edu.umd.cs.findbugs.ba.deref with parameters of type CFGModifierConstructorDescriptionUnconditionalValueDerefAnalysis
(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. -
Uses of CFG in edu.umd.cs.findbugs.ba.heap
Constructors in edu.umd.cs.findbugs.ba.heap with parameters of type CFGModifierConstructorDescriptionLoadDataflow
(CFG cfg, LoadAnalysis analysis) StoreDataflow
(CFG cfg, StoreAnalysis analysis) -
Uses of CFG in edu.umd.cs.findbugs.ba.jsr305
Fields in edu.umd.cs.findbugs.ba.jsr305 declared as CFGMethods in edu.umd.cs.findbugs.ba.jsr305 with parameters of type CFGModifier and TypeMethodDescriptionBackwardTypeQualifierDataflowAnalysis.getBlockOrder
(CFG cfg1) ForwardTypeQualifierDataflowAnalysis.getBlockOrder
(CFG cfg1) protected BackwardTypeQualifierDataflow
BackwardTypeQualifierDataflowFactory.getDataflow
(DepthFirstSearch dfs, XMethod xmethod, CFG cfg, ValueNumberDataflow vnaDataflow, org.apache.bcel.generic.ConstantPoolGen cpg, IAnalysisCache analysisCache, MethodDescriptor methodDescriptor, 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 abstract DataflowType
TypeQualifierDataflowFactory.getDataflow
(DepthFirstSearch dfs, XMethod xmethod, CFG cfg, ValueNumberDataflow vnaDataflow, org.apache.bcel.generic.ConstantPoolGen cpg, IAnalysisCache analysisCache, MethodDescriptor methodDescriptor1, TypeQualifierValue<?> typeQualifierValue) static Collection
<TypeQualifierValue<?>> Analysis.getRelevantTypeQualifiers
(MethodDescriptor methodDescriptor, CFG cfg) Find relevant type qualifiers needing to be checked for a given method.Constructors in edu.umd.cs.findbugs.ba.jsr305 with parameters of type CFGModifierConstructorDescriptionConstructor.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. -
Uses of CFG in edu.umd.cs.findbugs.ba.npe
Fields in edu.umd.cs.findbugs.ba.npe declared as CFGModifier and TypeFieldDescriptionprivate final CFG
IsNullValueAnalysis.cfg
private final CFG
ReturnPathTypeAnalysis.cfg
Methods in edu.umd.cs.findbugs.ba.npe with parameters of type CFGModifier and TypeMethodDescriptionvoid
NullDerefAndRedundantComparisonFinder.checkEdges
(CFG cfg, Map<ValueNumber, NullValueUnconditionalDeref> nullValueGuaranteedDerefMap, Map<ValueNumber, SortedSet<Location>> bugEdgeLocationMap) ReturnPathTypeAnalysis.getBlockOrder
(CFG cfg) IsNullValueAnalysis.getForPointerEqualityCheck
(CFG cfg, ValueNumberDataflow vna) Constructors in edu.umd.cs.findbugs.ba.npe with parameters of type CFGModifierConstructorDescriptionIsNullValueAnalysis
(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. -
Uses of CFG in edu.umd.cs.findbugs.ba.obl
Constructors in edu.umd.cs.findbugs.ba.obl with parameters of type CFG -
Uses of CFG in edu.umd.cs.findbugs.ba.type
Fields in edu.umd.cs.findbugs.ba.type declared as CFGConstructors in edu.umd.cs.findbugs.ba.type with parameters of type CFGModifierConstructorDescriptionTypeAnalysis
(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) -
Uses of CFG in edu.umd.cs.findbugs.ba.vna
Constructors in edu.umd.cs.findbugs.ba.vna with parameters of type CFG -
Uses of CFG in edu.umd.cs.findbugs.bcel
Methods in edu.umd.cs.findbugs.bcel with parameters of type CFGModifier and TypeMethodDescriptionprotected abstract void
CFGDetector.visitMethodCFG
(MethodDescriptor methodDescriptor, CFG cfg) Visit the CFG (control flow graph) of a method to be analyzed. -
Uses of CFG in edu.umd.cs.findbugs.classfile.engine.bcel
Fields in edu.umd.cs.findbugs.classfile.engine.bcel declared as CFGMethods in edu.umd.cs.findbugs.classfile.engine.bcel that return CFGModifier and TypeMethodDescriptionCFGFactory.analyze
(IAnalysisCache analysisCache, MethodDescriptor descriptor) protected CFG
AnalysisFactory.getCFG
(IAnalysisCache analysisCache, MethodDescriptor methodDescriptor) Methods in edu.umd.cs.findbugs.classfile.engine.bcel with parameters of type CFGModifier and TypeMethodDescriptionFinallyDuplicatesInfoFactory.FinallyDuplicatesInfo.getDuplicates
(CFG cfg, Edge edge) private static void
ValueRangeAnalysisFactory.walkCFG
(CFG cfg, ValueRangeAnalysisFactory.LongRangeSet subRange, Map<Edge, ValueRangeAnalysisFactory.Branch> edges, BitSet reachedBlocks) Constructors in edu.umd.cs.findbugs.classfile.engine.bcel with parameters of type CFGModifierConstructorDescriptionBackIterator
(CFG cfg, BasicBlock block) Constructor.NonExceptionPostDominatorsAnalysis
(CFG cfg, ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs) Constructor.Constructor.NonImplicitExceptionPostDominatorsAnalysis
(CFG cfg, ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs) -
Uses of CFG in edu.umd.cs.findbugs.detect
Fields in edu.umd.cs.findbugs.detect declared as CFGModifier and TypeFieldDescriptionprivate final CFG
FindUnreleasedLock.LockResourceTracker.cfg
(package private) CFG
FindUnsatisfiedObligation.MethodChecker.cfg
(package private) CFG
FindUselessObjects.UselessValuesContext.cfg
private CFG
StaticCalendarDetector.currentCFG
Stores current Control Flow GraphMethods in edu.umd.cs.findbugs.detect with parameters of type CFGModifier and TypeMethodDescriptionprivate void
CheckTypeQualifiers.checkDataflow
(XMethod xmethod, CFG cfg, TypeQualifierValue<?> typeQualifierValue, ValueNumberDataflow vnaDataflow, ForwardTypeQualifierDataflow forwardDataflow, BackwardTypeQualifierDataflow backwardDataflow) private void
CheckTypeQualifiers.checkForConflictingValues
(XMethod xMethod, CFG cfg, TypeQualifierValue<?> typeQualifierValue, TypeQualifierValueSet forwardsFact, TypeQualifierValueSet backwardsFact, Location locationToReport, Location locationWhereDoomedValueIsObserved, ValueNumberFrame vnaFrame) private void
CheckTypeQualifiers.checkForEqualityTest
(XMethod xmethod, CFG cfg, TypeQualifierValue<?> typeQualifierValue, TypeQualifierValueSet forwardsFact, Location loc, ValueNumberFrame factAtLocation) private void
CheckTypeQualifiers.checkQualifier
(XMethod xmethod, CFG cfg, TypeQualifierValue<?> typeQualifierValue, ForwardTypeQualifierDataflowFactory forwardDataflowFactory, BackwardTypeQualifierDataflowFactory backwardDataflowFactory, ValueNumberDataflow vnaDataflow) Check a specific TypeQualifierValue on a method.private void
CheckTypeQualifiers.checkValueSources
(XMethod xMethod, CFG cfg, TypeQualifierValue<?> typeQualifierValue, ValueNumberDataflow vnaDataflow, ForwardTypeQualifierDataflow forwardDataflow, BackwardTypeQualifierDataflow backwardDataflow) private void
FindDeadLocalStores.countLocalStoresLoadsAndIncrements
(int[] localStoreCount, int[] localLoadCount, int[] localIncrementCount, CFG cfg) Count stores, loads, and increments of local variables in method whose CFG is given.private void
DuplicateBranches.findIfElseDuplicates
(CFG cfg, org.apache.bcel.classfile.Method method, BasicBlock bb) (package private) Location
FindNullDerefsInvolvingNonShortCircuitEvaluation.findLocation
(CFG cfg, int pc) (package private) Location
FindNullDerefsInvolvingNonShortCircuitEvaluation.findLocation
(CFG cfg, org.apache.bcel.generic.InstructionHandle handle) private void
DuplicateBranches.findSwitchDuplicates
(CFG cfg, org.apache.bcel.classfile.Method method, BasicBlock bb) private org.apache.bcel.generic.InstructionHandle
DuplicateBranches.findThenFinish
(CFG cfg, BasicBlock thenBB, int elsePos) private static org.apache.bcel.generic.InstructionHandle
DuplicateBranches.getDeepFirstInstruction
(CFG cfg, BasicBlock bb) Like bb.getFirstInstruction() except that if null is returned it will follow the FALL_THROUGH_EDGE (if any)private Location
CheckTypeQualifiers.getEdgeSourceLocation
(CFG cfg, Edge edge) private Location
CheckTypeQualifiers.getEdgeTargetLocation
(CFG cfg, Edge edge) private static int
DuplicateBranches.getFinalTarget
(CFG cfg, int myPos, Collection<org.apache.bcel.generic.InstructionHandle> prevs) determine the end position (exclusive) of the final case by looking at the gotos at the ends of the other casesprivate Set
<ValueNumber> FindBadCast2.getParameterValueNumbers
(ClassContext classContext, org.apache.bcel.classfile.Method method, CFG cfg) private Location
FindSqlInjection.getPreviousLocation
(CFG cfg, Location startLocation, boolean skipNops) FindSqlInjection.getStringAppendState
(ClassContext ctx, CFG cfg, org.apache.bcel.generic.ConstantPoolGen cpg) void
FindOpenStream.inspectResult
(ClassContext classContext, org.apache.bcel.generic.MethodGen methodGen, CFG cfg, Dataflow<ResourceValueFrame, ResourceValueAnalysis<Stream>> dataflow, Stream stream) void
FindUnreleasedLock.inspectResult
(ClassContext classContext, org.apache.bcel.generic.MethodGen methodGen, CFG cfg, Dataflow<ResourceValueFrame, ResourceValueAnalysis<Lock>> dataflow, Lock resource) protected void
CheckTypeQualifiers.visitMethodCFG
(MethodDescriptor methodDescriptor, CFG cfg) protected void
FindUnsatisfiedObligation.visitMethodCFG
(MethodDescriptor methodDescriptor, CFG cfg) Constructors in edu.umd.cs.findbugs.detect with parameters of type CFGModifierConstructorDescriptionLockResourceTracker
(RepositoryLookupFailureCallback lookupFailureCallback, CFG cfg, ValueNumberDataflow vnaDataflow, IsNullValueDataflow isNullDataflow) (package private)
MethodChecker
(MethodDescriptor methodDescriptor, CFG cfg) private
SpecialTypeAnalysis
(org.apache.bcel.classfile.Method method, org.apache.bcel.generic.MethodGen methodGen, CFG cfg, DepthFirstSearch dfs, TypeMerger typeMerger, TypeFrameModelingVisitor visitor, RepositoryLookupFailureCallback lookupFailureCallback, ExceptionSetFactory exceptionSetFactory)