-->

Data Flow Anomaly State Graph in Data Flow Testing

Data flow anomaly model prescribes that an object can be in one of four distinct states:
K: Undefined, previously killed, does not exist
D: Defined, but not yet used for anything
U: Has been for computation or in predicate
A: Anomalous
These capital letters(K, D, U, A) denote the state of the variable and should not be confused with the program action, denoted by lower case letters
There are two types of data flow anomaly flow graphs:
Unforgiving Data Flow Anomaly Flow Graph
Forgiving Data Flow Anomaly Flow Graph

Unforgiving Data Flow Anomaly Flow Graph:
If it is redefined (d) then it goes into the D or defined but not yet used state
If it has been defined (D) and redefined (d) or killed without use (k), then it becomes anomalous, while usage (u) brings it to the U state. If in U, redefinition (d) brings it to D, u keeps it in U, and k kills it.
Forgiving Data Flow Anomaly Flow Graph
Forgiving model is an alternate model where redemption (recover) from the anomalous state is possible.
This graph has three normal and three anomalous states and the 'kk' sequence is considered not to be anomalous
The different between this state graph and the unforgiving data flow anomaly state graph is that redemption is possible
A proper action from any of the three anomalous states returns the variable to a useful working state
The point of showing this alternative anomaly state graph is to demonstrate the specifies of an anomaly which depends on such things as language, application, context, or even frame of mind
In  principle, create a new definition of data flow anomaly (example: a new state graph) in each situation
At least verify the anomaly definition behind the theory or imbedded in a data flow anomaly test tool which is appropriate to situation


Related Posts

Post a Comment

Subscribe Our Newsletter