Interprocedural Control Dependence

Abstract

Program-dependence information is useful for a variety of applications, such as software testing and maintenance tasks and code optimization. Properly defined, control and data dependences can be used to identify semantic dependences. To function effectively on whole programs, tools that utilize dependence information require information about interprocedural dependences: dependences that are identified by analyzing the interactions among procedures. Many techniques for computing interprocedural data dependences exist; however, virtually no attention has been paid to interprocedural control dependence. Analysis techniques that fail to account for interprocedural control dependences can suffer unnecessary imprecision and loss of safety. This paper presents a definition of interprocedural control dependence that supports the relationship of control and data dependence to semantic dependence. The paper presents two approaches for computing interprocedural control dependences, and empirical results pertaining to the use of those approaches.


Related research categories:
(1) Control Dependence
(2) Program Analysis

Go To Publications