6
$\begingroup$

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?

$\endgroup$
7
  • $\begingroup$ Many things have many different terms... $\endgroup$
    – Raphael
    Aug 13, 2015 at 11:33
  • $\begingroup$ So these terms all refer to the same thing ? $\endgroup$ Aug 13, 2015 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, 2015 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$ Aug 13, 2015 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, 2015 at 11:53

1 Answer 1

5
$\begingroup$

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.)

$\endgroup$
6
  • $\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, 2015 at 14:15
  • $\begingroup$ @Raphael What do you mean by your last sentence? $\endgroup$ Aug 13, 2015 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$ Aug 13, 2015 at 15:27
  • $\begingroup$ @stackoverflowwww: Every data dependenc(e/y) graph is a dependenc(e/y) graph. $\endgroup$ Aug 13, 2015 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$ Aug 13, 2015 at 17:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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