Program-dependence information is useful for a variety of applications, suc
h as software testing and maintenance tasks, and code optimization. Properl
y defined, control and data dependences can be used to identify semantic de
pendences. To function effectively on whole programs, tools that utilize de
pendence information require information about interprocedural dependences:
dependences that are identified by analyzing the interactions among proced
ures. Many techniques for computing interprocedural data dependences exist;
however, virtually no attention has been paid to interprocedural control d
ependence. Analysis techniques that fail to account for interprocedural con
trol dependences can suffer unnecessary imprecision and loss of safety. Thi
s article presents a definition of interprocedural control dependence that
supports the relationship of control and data dependence to semantic depend
ence. The article presents two approaches for computing interprocedural con
trol dependences, and empirical results pertaining to the use of those appr
oaches.