Is there a difference between a "data dependence graph" and a "data dependency graph"? I have seen both terms - sometimes used interchangeably sometimes not.

To make things even more complicated, a "data dependency graph" is sometimes also called a "data flow graph" (see e.g. here).

The term "data dependence graph" is, for example, used on the second slide here.

If there is a difference, could someone give an example of each graph type? If there is no difference, why the two different terms?

  • $\begingroup$ Many things have many different terms... $\endgroup$ – Raphael Aug 13 '15 at 11:33
  • $\begingroup$ So these terms all refer to the same thing ? $\endgroup$ – gogo_gorilla Aug 13 '15 at 11:35
  • $\begingroup$ Probably. This can just be a "lost in translation". But I don't know for certain, and I've definitely seen cases where authors hid actual differences in such small differences. $\endgroup$ – Raphael Aug 13 '15 at 11:36
  • $\begingroup$ I am not so sure - especially for the "data flow graph". There are different kinds of data dependencies, see e.g. en.wikipedia.org/wiki/Data_dependency. Does the data flow graph include all of them? I don't think so. But for a "data dependency graph" I don't know. $\endgroup$ – gogo_gorilla Aug 13 '15 at 11:46
  • $\begingroup$ Welcome to Computer Science Stack Exchange. Please read cs.stackexchange.com/tour, if you have not yet done so. Have you done some search to find differences, or definitions? What about wikipedia? What did you find? $\endgroup$ – babou Aug 13 '15 at 11:53

Dependence and dependency are interchangeable terms. In my experience, dependency (with a "y") is more common. In my own writing I try to consistently use dependence (without a "y") for aesthetic reasons (I think it sounds better). If you look at a dictionary you'll see that the two words are almost synonyms. The only difference I'm aware of is that dependency (with a "y") means something specific in the field of political science (it means a territory that is controlled, or owned, by some other sovereign state.) (This leads to my aesthetic dislike: the political dependency relation is asymmetric, while the dependence relation we use in program analysis is not.)

There are lots of minor variations between dependence graphs. The dependences can be must dependences ("a always depends on b") or may dependences ("a could depend on b"). The graph might show control dependences in addition to data dependences (in which case it will be called a program dependence graph, and almost certainly will not be called a data-flow graph). The dependence graph might or might not be superimposed on top of a control-flow graph.

Whether something is called a dependenc(e/y) graph or data-flow graph is pretty much also a matter of taste. I try to avoid data-flow graph in my own writing, unless I am specifically talking about someone else's research and they have used the term data-flow graph. (In particular, research on Dataflow computer architectures.)

  • $\begingroup$ So, an author may elect to distinguish different flavors of the same thing by e vs y? A bad choice, clearly. Can we confirm the OP does not see such an instance? $\endgroup$ – Raphael Aug 13 '15 at 14:15
  • $\begingroup$ @Raphael What do you mean by your last sentence? $\endgroup$ – gogo_gorilla Aug 13 '15 at 15:25
  • $\begingroup$ @Wandering Logic: I noticed you were talking about dependenc(e/y) graphs but leave out the data. Did you do this on purpose, e.g. to keep things short, or because you do not see a difference between a "dependenc(e/y) graph" and a "data dependenc(e/y) graph because every "data dependenc(e/y) graph" is a "dependenc(e/y) graph"? $\endgroup$ – gogo_gorilla Aug 13 '15 at 15:27
  • $\begingroup$ @stackoverflowwww: Every data dependenc(e/y) graph is a dependenc(e/y) graph. $\endgroup$ – Wandering Logic Aug 13 '15 at 17:24
  • 1
    $\begingroup$ A data-flow graph is definitely a kind of dependence graph. It's a kind of dependence graph that includes only data flow dependences, I guess. Personally, I don't think I'd ever call a dependence graph that included anti-, output-, input-, or control-dependences a data dependence graph. $\endgroup$ – Wandering Logic Aug 13 '15 at 17:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.