Question

I want know what's the meaning of a curve or arc in PDG. Which are data dependence and which are control dependence and so on.

enter image description here

Était-ce utile?

La solution

The color of the edge represent the data dependencies : blue for yes, black otherwise. The shape of the arrow represent the control dependencies : circle for yes, normal arrow otherwise. The kind of the line represent the address dependencies : dotted for yes, plain otherwise.

Address dependencies are like data dependencies, but for the right part of an assignment. For instance, the statement :

*p = c ? a : b;

has a control dependency on c, data dependencies on a and b, and address dependencies on &p and p.

Well, this is not exactly like this in the real PDG since the statement is decomposed by Frama-C in :

if (c) { *p = a; } else { *p = b; }

But this is the idea.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top