MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Computation of interprocedural control dependence (1998) [28 citations — 9 self]

Download:
Download as a PDF | Download as a PS
by Mary Jean Harrold, Gregg Rothermel, Saurabh Sinha
In Proc. of the ACM Int'l. Symp. on Softw. Testing and Analysis
http://www.cis.ohio-state.edu/~harrold/research/./webpapers/issta98.ps
Add To MetaCart

Abstract:

Program dependence information is useful for a variety of software testing and maintenance tasks. Properly defined, control and data dependencies can be used to identify semantic dependencies. To function effectively on whole programs, tools that utilize dependence information require information about interprocedural dependencies: dependencies that exist because of interactions among procedures. Many techniques for computing data and control dependencies exist; however, in our search of the literature we find only one attempt to define and compute interprocedural control dependencies. Unfortunately, that approach can omit important control dependencies, and incorrectly identifies control dependencies for a large class of programs. This paper presents a definition of interprocedural control dependence that supports the relationship of control and data dependence to semantic dependence, an efficient algorithm for calculating interprocedural control dependencies, and empirical results obtained by our implementation of the algorithm.

Citations

672 The program dependence graph and its use in optimization – Ferrante, Ottenstein, et al. - 1987
639 Efficiently Computing Static Single Assignment Form and the Control Dependence Graph – Cytron, Ferrante, et al. - 1991
329 Context-sensitive interprocedural points-to analysis in the presence of function pointers – Enami, Ghiya, et al. - 1994
301 A safe approximate algorithm for interprocedural pointer aliasing – Landi, Ryder - 1992
234 Precise interprocedural dataflow analysis via graph reachability – Reps, Sagiv, et al. - 1995
216 Two approaches to interprocedural data flow analysis – Sharir, Pnueli - 1981
215 Intergrating Noninterfering Version of Programs – Horwitz, Reps, et al. - 1989
120 Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria – Hutchins, Foster, et al. - 1994
108 A formal model of program dependences and its implications for software testing, debugging, and maintenance – Podgurski, Clarke - 1990
104 Complexity of interprocedural side-effect analysis – Cooper, Kennedy - 1987
97 A safe, efficient regression test selection technique – Rothermel, Harrold - 1997
61 The design of whole-program analysis tools – Atkinson, Griswold - 1996
58 Lightweight lexical source model extraction – Murphy, Notkin - 1996
56 Aristotle: A system for research on and development of program-analysis based tools – Harrold, Rothermel - 1997
54 Efficient computation of interprocedural definition-use chains – Harrold, Soffa - 1994
44 Incremental data flow analysis algorithms – Ryder, Paull - 1988
42 Precise Interprocedural Chopping – Reps, Rosay - 1995
40 Experiments on the effectiveness of dataflow-and control-flow-based test adequacy criteria – Hutchins, Foster, et al. - 1994
40 System-dependence-graph-based slicing of programs with arbitrary interprocedural control flow – SINHA, HARROLD, et al. - 1999
38 Using semantic differencing to reduce the cost of regression testing – Binkley - 1992
35 Reuse-driven interprocedural slicing – Harrold, Ci - 1998
33 An incremental version of iterative data flow analysis – Pollock, Soffa - 1989
33 Eciently computing static single assignment form and the control dependence graph – Cytron, Ferrante, et al. - 1991
29 Analysis and testing of programs with exception-handling constructs – SINHA, J
28 Interprocedural Def-Use Associations in C Programs – Pande, Landi, et al. - 1994
27 Syntax-directed construction of program dependence graphs – Harrold, Rothermel - 1996
26 Using dependence analysis to support the software maintenance process – Loyall, Mathisen - 1993
26 Interprocedural path profiling – Melski, Reps - 1999
21 A framework for generalized control dependence – Bilardi, Pingali - 1996
18 Precise Interprocedural Data Analysis via Graph Reachability – Reps, Horwitz, et al. - 1995
17 Optimal control dependence computation and the Roman Chariots problsm – Pingali, Bilardi - 1997
17 The Significance of Program Dependences for Software Testing, Debugging, and Maintenance – Podgurski - 1989
12 Two approaches to interprocedural data analysis – Sharir, Pnueli - 1981
11 Program dependence graphs for the rest of us – Ballance, Maccabe - 1992
9 Experiments on the eectiveness of data and control test adequacy criteria – Hutchins, Foster, et al. - 1994
8 Using semantic di erencing to reduce the cost of regression test – Binkley - 1992
4 Incremental data analysis algorithms – Ryder, Paull - 1988
3 Ecient Computation of Interprocedural De Chains – Harrold, Soa - 1994
2 An incremental version of iterative data analysis – Pollock, Soffa - 1989
2 An incremental version of iteractive data flow analysis – POLLOCK, SOFFA - 1989