tip.cfg
Interface FixedPointAnalysis<VariableType>

Type Parameters:
VariableType - the type of the variables of the analysis
All Superinterfaces:
ICFGAnalysis
All Known Subinterfaces:
WideningNarrowingAnalysis<VariableType>
All Known Implementing Classes:
AvailableExpressionsAnalysis, ConstantPropagationAnalysis, DivisionAnalysis, FlowAnalysis, IntervalAnalysis, LivenessAnalysis, NullPointerAnalysis, ReachingDefinitionsAnalysis, ShapeAnalysis, SignAnalysis, VeryBusyExpressionsAnalysis

public interface FixedPointAnalysis<VariableType>
extends ICFGAnalysis

FixedPointAnalysis defines the interface for general fixed-point analyses for which WorkList can be used.

Author:
Johnni Winther, jw@brics.dk

Method Summary
 void end(ICFG cfg)
          end is called after the fixed point analysis of the control flow graph cfg has ended.
 Set<IProgramPoint> getDependencySet(IProgramPoint point)
          Returns the set of IProgramPoints that depend upon point.
 String getName()
          Returns the name of the analysis.
 VariableType getVariable(IProgramPoint point)
          Returns the (current) variable associated with the point.
 String getVariableString(VariableType variable)
          Returns a textual representation of the variable variable.
 String getVariableStringForPoint(IProgramPoint point)
          Returns a textual representation of the variable for point.
 String getVariableStringForPoint(IProgramPoint point, int distance)
          Returns a textual representation of the variable for point only including information relevant for points in the distance vicinity of point.
 void start(ICFG cfg)
          start is called before the fixed point analysis of the control flow graph cfg is started.
 
Methods inherited from interface tip.cfg.ICFGAnalysis
caseCAssignPtrStmPoint, caseCAssignVarStmPoint, caseCBinopExpPoint, caseCBlockPoint, caseCDeclStmPoint, caseCDerefExpPoint, caseCFunctionCallExpPoint, caseCFunctionPtrCallExpPoint, caseCIfThenElseStmPoint, caseCIfThenStmPoint, caseCInputExpPoint, caseCIntConstExpPoint, caseCMallocExpPoint, caseCNullExpPoint, caseCOutputStmPoint, caseCPointerExpPoint, caseCReturnStmPoint, caseCVarExpPoint, caseCWhileStmPoint, caseEntryPoint, caseExitPoint
 

Method Detail

getName

String getName()
Returns the name of the analysis.

Returns:
the name of the analysis

start

void start(ICFG cfg)
start is called before the fixed point analysis of the control flow graph cfg is started.

Parameters:
cfg - the control flow graph on which the analysis is made

end

void end(ICFG cfg)
end is called after the fixed point analysis of the control flow graph cfg has ended.

Parameters:
cfg - the control flow graph on which the analysis has been made

getDependencySet

Set<IProgramPoint> getDependencySet(IProgramPoint point)
Returns the set of IProgramPoints that depend upon point.

Parameters:
point - the IProgramPoint for which the dependency set is returned
Returns:
the set of IProgramPoints that depend upon point

getVariable

VariableType getVariable(IProgramPoint point)
Returns the (current) variable associated with the point.

Parameters:
point - the IProgramPoint for which the variable is returned
Returns:
the (current) variable associated with the point

getVariableString

String getVariableString(VariableType variable)
Returns a textual representation of the variable variable.

Parameters:
variable - the variable for which a text representation is returned
Returns:
a textual representation of the variable variable

getVariableStringForPoint

String getVariableStringForPoint(IProgramPoint point)
Returns a textual representation of the variable for point.

Parameters:
point - the point for which the variable string is returned
Returns:
a textual representation of the variable for point

getVariableStringForPoint

String getVariableStringForPoint(IProgramPoint point,
                                 int distance)
Returns a textual representation of the variable for point only including information relevant for points in the distance vicinity of point.

Parameters:
point - the point for which the variable string is returned
distance - the vicinity distance taken into account
Returns:
a textual representation of the variable for point
See Also:
IProgramPoint.getVicinity(int)