Someone has recently suggested verb “rely on” in place of “trust”. Indeed this is a good substitution in situations where one piece of software B invokes another C and B works as designed only if C works as specified. In such a case I think that it is good to say that B relies on C. This relationship is largely transitive.

There is an infrequent yet important exception to this transitivity that I will mention here. B invokes and thus relies on C and C on D. There are sometimes situations where B knows that particular invocations of C will not depend on the correctness of D and thus B need not rely on D in order to rely on C. It may be necessary to speak of B relying on certain specified parts of B’s specifications to argue in these cases.