質問

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

役に立ちましたか?

解決

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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top