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 voidResourceTrackingDetector.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
Subclasses with type arguments of type CFG in edu.umd.cs.findbugs.baModifier and TypeClassDescriptionclassAlgorithm to perform a depth first search on a CFG.classAlgorithm to perform a reverse depth first search on a CFG.Fields in edu.umd.cs.findbugs.ba declared as CFGModifier and TypeFieldDescriptionprivate final CFGAbstractDominatorsAnalysis.cfgprivate CFGBetterCFGBuilder2.cfgprivate final CFGCFGPrinter.cfgprivate final CFGDataflow.cfgprivate final CFGPruneInfeasibleExceptionEdges.cfgprivate final CFGPruneUnconditionalExceptionThrowerEdges.cfgprivate final CFGResourceValueAnalysis.cfgprivate final CFGSimplePathEnumerator.cfgprivate final CFGBetterCFGBuilder2.Subroutine.cfgSubprivate final CFGBetterCFGBuilder2.Context.resultMethods 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 CFGBetterCFGBuilder2.inlineAll()Inline all JSR subroutines into the top-level subroutine.Methods in edu.umd.cs.findbugs.ba with parameters of type CFGModifier and TypeMethodDescriptionvoidPath.acceptVisitor(CFG cfg, PathVisitor visitor) Accept a PathVisitor.voidPath.acceptVisitorStartingFromLocation(CFG cfg, PathVisitor visitor, BasicBlock startBlock, org.apache.bcel.generic.InstructionHandle startHandle) Accept a PathVisitor, starting from a given BasicBlock and InstructionHandle.private voidstatic voidClassContext.dumpDataflowInformation(org.apache.bcel.classfile.Method method, CFG cfg, ValueNumberDataflow vnd, IsNullValueDataflow inv, UnconditionalValueDerefDataflow dataflow, TypeDataflow typeDataflow) static voidClassContext.dumpLiveLocalStoreDataflow(MethodDescriptor method, CFG cfg, LiveLocalStoreDataflow dataflow) static voidClassContext.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 CFGModifierConstructorDescriptionprotectedAbstractBlockOrder(CFG cfg, Comparator<BasicBlock> comparator) AbstractDataflow(CFG cfg, AnalysisType analysis) Constructor.protectedAbstractDominatorsAnalysis(CFG cfg, boolean ignoreExceptionEdges) Constructor.protectedAbstractDominatorsAnalysis(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) protectedPostDominatorsAnalysis(CFG cfg, ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs, boolean ignoreExceptionEdges) Constructor.protectedPostDominatorsAnalysis(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 BackwardTypeQualifierDataflowBackwardTypeQualifierDataflowFactory.getDataflow(DepthFirstSearch dfs, XMethod xmethod, CFG cfg, ValueNumberDataflow vnaDataflow, org.apache.bcel.generic.ConstantPoolGen cpg, IAnalysisCache analysisCache, MethodDescriptor methodDescriptor, TypeQualifierValue<?> typeQualifierValue) protected ForwardTypeQualifierDataflowForwardTypeQualifierDataflowFactory.getDataflow(DepthFirstSearch dfs, XMethod xmethod, CFG cfg, ValueNumberDataflow vnaDataflow, org.apache.bcel.generic.ConstantPoolGen cpg, IAnalysisCache analysisCache, MethodDescriptor methodDescriptor, TypeQualifierValue<?> typeQualifierValue) protected abstract DataflowTypeTypeQualifierDataflowFactory.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.protectedTypeQualifierDataflowAnalysis(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 CFGIsNullValueAnalysis.cfgprivate final CFGReturnPathTypeAnalysis.cfgMethods in edu.umd.cs.findbugs.ba.npe with parameters of type CFGModifier and TypeMethodDescriptionvoidNullDerefAndRedundantComparisonFinder.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 voidCFGDetector.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
Subclasses with type arguments of type CFG in edu.umd.cs.findbugs.classfile.engine.bcelModifier and TypeClassDescriptionclassAnalysis engine to produce CFG (control flow graph) objects for an analyzed method.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 CFGAnalysisFactory.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 voidValueRangeAnalysisFactory.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 CFGFindUnreleasedLock.LockResourceTracker.cfg(package private) CFGFindUnsatisfiedObligation.MethodChecker.cfg(package private) CFGFindUselessObjects.UselessValuesContext.cfgprivate CFGSharedVariableAtomicityDetector.currentCFGprivate CFGStaticCalendarDetector.currentCFGStores current Control Flow GraphMethods in edu.umd.cs.findbugs.detect with parameters of type CFGModifier and TypeMethodDescriptionprivate voidCheckTypeQualifiers.checkDataflow(XMethod xmethod, CFG cfg, TypeQualifierValue<?> typeQualifierValue, ValueNumberDataflow vnaDataflow, ForwardTypeQualifierDataflow forwardDataflow, BackwardTypeQualifierDataflow backwardDataflow) private voidCheckTypeQualifiers.checkForConflictingValues(XMethod xMethod, CFG cfg, TypeQualifierValue<?> typeQualifierValue, TypeQualifierValueSet forwardsFact, TypeQualifierValueSet backwardsFact, Location locationToReport, Location locationWhereDoomedValueIsObserved, ValueNumberFrame vnaFrame) private voidCheckTypeQualifiers.checkForEqualityTest(XMethod xmethod, CFG cfg, TypeQualifierValue<?> typeQualifierValue, TypeQualifierValueSet forwardsFact, Location loc, ValueNumberFrame factAtLocation) private voidCheckTypeQualifiers.checkQualifier(XMethod xmethod, CFG cfg, TypeQualifierValue<?> typeQualifierValue, ForwardTypeQualifierDataflowFactory forwardDataflowFactory, BackwardTypeQualifierDataflowFactory backwardDataflowFactory, ValueNumberDataflow vnaDataflow) Check a specific TypeQualifierValue on a method.private voidCheckTypeQualifiers.checkValueSources(XMethod xMethod, CFG cfg, TypeQualifierValue<?> typeQualifierValue, ValueNumberDataflow vnaDataflow, ForwardTypeQualifierDataflow forwardDataflow, BackwardTypeQualifierDataflow backwardDataflow) private voidFindDeadLocalStores.countLocalStoresLoadsAndIncrements(int[] localStoreCount, int[] localLoadCount, int[] localIncrementCount, CFG cfg) Count stores, loads, and increments of local variables in method whose CFG is given.private voidDuplicateBranches.findIfElseDuplicates(CFG cfg, org.apache.bcel.classfile.Method method, BasicBlock bb) (package private) LocationFindNullDerefsInvolvingNonShortCircuitEvaluation.findLocation(CFG cfg, int pc) (package private) LocationFindNullDerefsInvolvingNonShortCircuitEvaluation.findLocation(CFG cfg, org.apache.bcel.generic.InstructionHandle handle) private voidDuplicateBranches.findSwitchDuplicates(CFG cfg, org.apache.bcel.classfile.Method method, BasicBlock bb) private org.apache.bcel.generic.InstructionHandleDuplicateBranches.findThenFinish(CFG cfg, BasicBlock thenBB, int elsePos) private static org.apache.bcel.generic.InstructionHandleDuplicateBranches.getDeepFirstInstruction(CFG cfg, BasicBlock bb) Like bb.getFirstInstruction() except that if null is returned it will follow the FALL_THROUGH_EDGE (if any)private LocationCheckTypeQualifiers.getEdgeSourceLocation(CFG cfg, Edge edge) private LocationCheckTypeQualifiers.getEdgeTargetLocation(CFG cfg, Edge edge) private static intDuplicateBranches.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 LocationFindSqlInjection.getPreviousLocation(CFG cfg, Location startLocation, boolean skipNops) FindSqlInjection.getStringAppendState(ClassContext ctx, CFG cfg, org.apache.bcel.generic.ConstantPoolGen cpg) voidFindOpenStream.inspectResult(ClassContext classContext, org.apache.bcel.generic.MethodGen methodGen, CFG cfg, Dataflow<ResourceValueFrame, ResourceValueAnalysis<Stream>> dataflow, Stream stream) voidFindUnreleasedLock.inspectResult(ClassContext classContext, org.apache.bcel.generic.MethodGen methodGen, CFG cfg, Dataflow<ResourceValueFrame, ResourceValueAnalysis<Lock>> dataflow, Lock resource) protected voidCheckTypeQualifiers.visitMethodCFG(MethodDescriptor methodDescriptor, CFG cfg) protected voidFindUnsatisfiedObligation.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) privateSpecialTypeAnalysis(org.apache.bcel.classfile.Method method, org.apache.bcel.generic.MethodGen methodGen, CFG cfg, DepthFirstSearch dfs, TypeMerger typeMerger, TypeFrameModelingVisitor visitor, RepositoryLookupFailureCallback lookupFailureCallback, ExceptionSetFactory exceptionSetFactory) -
Uses of CFG in edu.umd.cs.findbugs.util
Methods in edu.umd.cs.findbugs.util with parameters of type CFGModifier and TypeMethodDescriptionstatic booleanMultiThreadedCodeIdentifierUtils.isLocked(org.apache.bcel.classfile.Method currentMethod, CFG currentCFG, LockDataflow currentLockDataFlow, int pc)