Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

What is the word for something that is depended upon? The relationship here is in the context of software engineering

share|improve this question
dependency / prerequisite / required / ... –  Pacerier May 7 at 9:33

11 Answers 11

up vote 2 down vote accepted

Depending on the situation and relationship, "parent" and "child" work to describe the two parts of a dependent relationship. Likewise with the terms "master" and "slave".

share|improve this answer
I'm a little late for this, but software dependencies don't always imply a hierarchical relationship, like parent/child. Dependencies are simply requirements for the existence of other items (e.g., classes, objects, frameworks) that fulfill a functional relationship. Without that relationship being fulfilled, then the software in rendered incomplete and non-operational. For example, an application program may have a dependency on the existence of a network interface. That doesn't imply a hierarchical dependency. NJD's andwer, "dependent", is a more neutral term. –  Jim May 2 '12 at 20:33
@Jim "parent" and "child" don't necessarily imply a hierarchy - it's just that they do so very often in software contexts, (indeed, more specific still), that makes it inappropriate here. –  Jon Hanna Feb 17 '13 at 1:00

If you really mean "the thing depended upon", then Mr Disappointment's answer (dependency) is correct.

If you mean the thing that depends on the dependency, then "dependent" ("dependant" in the UK) would work. It's the word we use to describe people who rely on others for support, so it would make sense here.

share|improve this answer

What's wrong with dependencies / dependency? As an example, given the nature you stated, Microsoft use this term in their Services Management Console and differentiate in plain English:

enter image description here

Note the use of an encompassing dependencies tab and further sentences constructed in the form of this depends on and depends on this.

The thing is, you have the word correct (unless you're just looking for a synonym), since one side must be dependent if in question - otherwise it would be independent and therefore irrelevant, perhaps.

share|improve this answer
In your example, he knows that RPC is a dependency. He wants a word to describe the ActiveX installer that informs the listener that something depends on it, without needing to specify what (or needing use an awkward construct like "which is depended upon"). –  Matthew Read May 16 '11 at 14:29
Then the question is worded wrongly, and should probably say "the thing which depends upon the dependency". –  njd May 16 '11 at 14:32
@Matthew Read: That may be correct, but I must agree with @njd. Also, by your very own reasoning, at least one 'awkward construct' is required, unless you want to simply omit the information by discarding that part of the sentence altogether. –  Grant Thomas May 16 '11 at 15:17
+1 for the word dependency, but the picture does nothing but undermine your argument. This program uses the word Dependencies to refer to the dependency relationships, in both directions, not specifically the things depended upon. In particular, note that in order to say “nothing depends on this service”, the UI shows “No dependencies”, not “No dependents”. –  Jason Orendorff May 16 '11 at 15:58
FWIW, Apache Maven uses dependency synonymously with dependent, as Jason alludes to. There is a dependencies xml element, with several dependency elements, each of which lists something that the application depends on - not something that depends on the application. maven.apache.org/guides/introduction/… –  Ben Hocking May 16 '11 at 16:02

If A depends on B, then A requires B. So perhaps B is a requirement.

It may also be an import (more specific term, referring to parts of program) or predecessor (since the dependency relation can be thought of as a partial order, as in a Makefile the dependency graph specifies the order in which things must be done).

Software engineering has many terms for specific kinds of dependency. In a publisher/subscriber relationship, B is the publisher; in a producer/consumer relationship, B is the producer; and in a client/server relationship, B is the server. In package management, B is a prerequisite.

share|improve this answer
+1 for getting us closer to a good answer (I haven't been happy with any of the answers yet, including my own) –  Ben Hocking May 16 '11 at 16:11
@Ben I voted for yours too, but I agree none of them seem quite right. –  Jason Orendorff May 16 '11 at 16:28
Using synonyms.net also provided requisite which is similar to your requirement. –  Ben Hocking May 16 '11 at 16:34

Provider? This works both in a software engineering sense (at least in some contexts) as well as in a tax "dependent" sense.

Edit to add: a synonym of provider that might work even better (and not have as much of a software engineering constraint) is "supplier".

share|improve this answer
In most contexts in software engineering provider would not be suitable. For example, think of a module X that uses a function defined in module Y. Module X does not have module Y as a "provider". I think the best word here is simply dependency, as in @Mr. Disappointment's answer. Module Y is a dependency (for module X). As for module X, I would say it is dependent on module Y, as in @njd's answer. –  b.roth May 16 '11 at 16:02
@Bruno: In your example, module Y is a provider of the function that X is depending on. But, you are correct, that depending on how you're using the word, it might not work, because you typically wouldn't say that Y is X's provider if X is only depending on Y for the one function (and if it's depending on other modules for other functions). As for depenendency, it has the problem of being ambiguous. (See my comment to Mr. Disappointment.) –  Ben Hocking May 16 '11 at 16:09
@BenHocking i think provider / consumer is the good way to tell who-is-dependant-on-whom without confusing readers (especially, if their native language is not english). –  c69 Mar 31 '12 at 23:36

The term I've seen used most often is reverse dependency. A reverse dependency tree is what you get when you turn a normal dependency tree inside out.

share|improve this answer
That doesn't sound right to me. Is a reverse dependency tree a tree of reverse dependencies, or a reversed tree of dependencies? "Reverse dependency" doesn't make me think of "the inverse of the dependency relationship as seen from the point of view of the provider". –  Mr. Shiny and New 安宇 May 16 '11 at 18:36
The OP asked about dependencies in the world of software engineering. The example I've had the most experience with is package dependencies on a Linux-based system. When looking at a package description, you may see a list of dependencies and reverse dependencies. The list of dependencies for Package A will show the packages that must be installed in order for Package A to work properly. A list of reverse dependencies indicates which packages rely on Package A. One term is the inversion of the other. –  ajk May 16 '11 at 18:44
I think reverse dependency is fine, other than it not being a word (because it's two words). –  Ben Hocking May 16 '11 at 18:48

If you're looking at a case in which a child is dependent on a guardian, the term would be:


share|improve this answer

what about inverse dependency?

share|improve this answer

If you are happy to go a little more informal and fun, you could try needy and needed. For example 'needy_item_1' requires 'needed_item_2'.

share|improve this answer

In the context of software engineering, I've always used "dependent" and "dependee".

Logistically speaking, I suppose "depender" and "dependee" would be more accurate, though neither of those are proper english words as far as I know.

share|improve this answer

Software engineers create collections and name them, and the name is critical for others to understand the code. Names are a big thing and getting close to natural language is helpful so the code explains itself, so this is the relevant forum.

A book was written to formalize names for things, the Design Patterns book. In it, the closest this comes to is "Observer" versus "Observable", but that implies additional behavior which is unwanted for the general case.

When A depends on B and C, code might be written A.supplier = [B, C], and B.customers = [A]. It is the word from the point of view of the other that is the focus of this question, i.e., supplier and customer in this example. What does A call B, and what does B call A?

In a tire store, they have a list of "customers" and when they want to stock their shelves, they have a list of "suppliers".

In a database, we have a "master" table and a "detail" table.

In my opinion, we focus on "managing" as a cultural style, so collections are named after the managing thing, so we call it a "list" and from the point of view of the list we have "element". But from the point of view of the element there exists no word to describe the list it belongs to. We rarely focus on this relationship in our culture or philosophy so we haven't invented a usual word for it yet in English. It just doesn't occur enough to us to have such a word.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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