|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis<Fact>
edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis<Fact>
edu.umd.cs.findbugs.ba.ForwardDataflowAnalysis<AtomFact>
cz.vutbr.fit.findbugs.atom.analysis.AtomAnalysis
public class AtomAnalysis
Implements control flow analysis which looks for atoms (two consequential accesses to some variable). It uses and detects ConTest methods - access is defined as ConTest method invocation. Information concerning variable and location of an access is based on the parameters of these ConTest methods.
At the end of the analysis, the collection of detected atoms is transformed to AtomicityCollection and is stored into specified XML file.
AtomicityCollection
Constructor Summary | |
---|---|
AtomAnalysis(edu.umd.cs.findbugs.ba.DepthFirstSearch dfs,
org.apache.bcel.classfile.ConstantPool cop,
org.apache.bcel.generic.ConstantPoolGen copg)
Constructor |
Method Summary | |
---|---|
void |
copy(AtomFact source,
AtomFact dest)
Copy the content of the fact from the source fact to the destination fact. |
AtomFact |
createFact()
Create a new fact. |
java.lang.String |
factToString(AtomFact fact)
Returns human readable representation of the fact. |
void |
initEntryFact(AtomFact result)
Initiate the fact to the fact which should hold at the start of CFG. |
boolean |
isFactValid(AtomFact fact)
Returns true if the fact represents a value which is not TOP (I know nothing) or BOTTOM (error occured). |
boolean |
isTop(AtomFact fact)
Returns true if the given fact is TOP. |
void |
makeFactTop(AtomFact fact)
Make the fact as TOP - means that at this point we know nothing about the location where this fact takes effect. |
void |
meetInto(AtomFact fact,
edu.umd.cs.findbugs.ba.Edge edge,
AtomFact result)
Key method which takes care of joining facts. |
boolean |
same(AtomFact fact1,
AtomFact fact2)
Returns true if the given facts are the same with respect to analysis purpose. |
void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
edu.umd.cs.findbugs.ba.BasicBlock basicBlock,
AtomFact fact)
Key method for analysis. |
Methods inherited from class edu.umd.cs.findbugs.ba.ForwardDataflowAnalysis |
---|
getBlockOrder, getDepthFirstSearch, isForwards |
Methods inherited from class edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis |
---|
getFactAfterLocation, getFactAtLocation, transfer |
Methods inherited from class edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis |
---|
edgeTransfer, finishIteration, getFactOnEdge, getLastUpdateTimestamp, getResultFact, getStartFact, resultFactIterator, setLastUpdateTimestamp, startIteration |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AtomAnalysis(edu.umd.cs.findbugs.ba.DepthFirstSearch dfs, org.apache.bcel.classfile.ConstantPool cop, org.apache.bcel.generic.ConstantPoolGen copg)
dfs
- Depth First Search dataflow analysiscop
- Constant poolMethod Detail |
---|
public boolean isFactValid(AtomFact fact)
isFactValid
in class edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis<AtomFact>
public void transferInstruction(org.apache.bcel.generic.InstructionHandle handle, edu.umd.cs.findbugs.ba.BasicBlock basicBlock, AtomFact fact) throws edu.umd.cs.findbugs.ba.DataflowAnalysisException
transferInstruction
in class edu.umd.cs.findbugs.ba.AbstractDataflowAnalysis<AtomFact>
edu.umd.cs.findbugs.ba.DataflowAnalysisException
public void copy(AtomFact source, AtomFact dest)
public AtomFact createFact()
public void initEntryFact(AtomFact result) throws edu.umd.cs.findbugs.ba.DataflowAnalysisException
edu.umd.cs.findbugs.ba.DataflowAnalysisException
public boolean isTop(AtomFact fact)
public void makeFactTop(AtomFact fact)
public void meetInto(AtomFact fact, edu.umd.cs.findbugs.ba.Edge edge, AtomFact result) throws edu.umd.cs.findbugs.ba.DataflowAnalysisException
edu.umd.cs.findbugs.ba.DataflowAnalysisException
public boolean same(AtomFact fact1, AtomFact fact2)
public java.lang.String factToString(AtomFact fact)
factToString
in interface edu.umd.cs.findbugs.ba.DataflowAnalysis<AtomFact>
factToString
in class edu.umd.cs.findbugs.ba.BasicAbstractDataflowAnalysis<AtomFact>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |