66 citations found. Retrieving documents...
K.D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In PLDI, pages 57--66, 1988.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Interprocedural Slicing Using Dependence Graphs - Horwitz, Reps, Binkley (1990)   (325 citations)  (Correct)

....not aware of them at the time. Our work was more influenced by Kastens s algorithm for building a collection of cooperating finite state machines for evaluating derivation trees of attribute grammars [24] see below) The two other papers in the session at PLDI 88 in which our paper was presented [8, 12] actually foreshadowed a major direction that our work was to take subsequently: Callahan presented a context sensitive algorithm for a certain kind of dataflow analysis problem [8] Cooper and Kennedy presented a graph reachability algorithm for finding procedures MayMod and MayUse sets (which ....

.... Callahan presented a context sensitive algorithm for a certain kind of dataflow analysis problem [8] Cooper and Kennedy presented a graph reachability algorithm for finding procedures MayMod and MayUse sets (which summarize possible side effects of procedure calls on global variables) [12]. Later work by Horwitz, Reps, and collaborators showed how many dataflow analysis problems similar to the one that Callahan addressed could be turned into graphreachability problems in a fashion similar to the technique used in the Cooper Kennedy paper and then solved using algorithms very ....

K.D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In Conf. on Prog. Lang. Design and Impl., pages 57--66, New York, NY, 1988. ACM Press.


A Framework for Tracking Branch Conditions - Sakharov   (Correct)

....goal is achieved at expense of theoretical soundness. An intra procedural analysis algorithm is presented here. Although, it is designed to work as a step in inter procedural techniques in the vein of works [Ca, CH] Then, the inter procedural change information has to be collected beforehand [ASU,CK], and environments are propagated instead of constants with using the meet operation defined below. Our analysis and optimizations are useful for production compilers where optimization is more important than compilation speed. Programs containing a lot of branches (e.g. microcontroller ....

....that transfer function f N : W W is defined for every calculation node N. Transfer functions fully depend on the language in use. In presence of pointers, transfer functions subsume approximation of alias effects [ASU] In presence of procedures, transfer functions subsume calculation of MOD [CK]. Consider a sample transfer function for assignment v: e where v is an integer variable and e is an expression. First, the transfer function sets to none all V.s, V.t, and V.u elements which contain v. Second, the transfer function sets V.u[i] representing v=e to true. 4 Propagation Algorithm ....

K.D.Cooper, K. Kennedy. Interprocedural Side-Effect Analysis in Linear Time. Proceedings of the SIGPLAN Symposium on Programming Language Design and Implementation, 1988, 57-66.


An Overview of the Intel IA-64 Compiler - Dulong, Krishnaiyer, Kulkarni, al. (1999)   (7 citations)  (Correct)

....accurate dependence direction and distance information. Function calls can inhibit optimization. Figure 7 shows an example where a function call may inhibit dead store elimination. If the function foo( reads p, then the first store to p is not dead. Interprocedural mod ref information [10] is used to determine the set of memory locations written read as a result of a function call. p = foo( p = Figure 7: Disambiguation of a memory reference and a function call MEMORY OPTIMIZATIONS Processor speed has been increasing much faster than memory speed over the past ....

K. D. Cooper and K. Kennedy, "Interprocedural SideEffect Analysis in Linear Time," in Proceedings of the ACM SIGPLAN '88 Conference on Programming Language Design and Implementation, June 1988, pp. 57-66.


Deriving Specialized Program Analyses for.. - Ramalingam.. (2002)   (6 citations)  (Correct)

....MayMod(Q) iff the execution of Q may modify the collection underlying the iterator I via iterator I, assuming that there are no aliases between any of the formal parameters. The information MayMod(Q) is very similar to the quantity DMOD defined by Banning [3] and can be computed very efficiently [8]. The intraprocedural SCMP algorithm can now be extended to analyze a procedure P, utilizing only the summary information for any procedure that P calls. In particular, assume that MayMod(Q)is FC1 , FC i , FI1 , FI j , where every FCx is of type Set and every FIx is of type ....

K. D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, pages 57--66, NewYork, NY, 1988. ACM Press.


Path-Sensitive, Value-Flow Optimizations of Programs - Bodik (1999)   (2 citations)  (Correct)

....correlation of those conditionals that compared a scalar variable (not a structure member) with a constant. Overall, 45 of conditionals in the benchmark programs could be analyzed using this pattern. The implementation included both an intraprocedural correlation analysis, which used MOD and USE [CK88] procedure summary information at call sites, and the inter procedural analysis, which detected both intraand inter procedural correlations. The analysis recognized only two of the four sources of correlation: constant assignments and conditional branches. Benchmarks. The experiments were ....

Keith D. Cooper and Ken Kennedy. Interprocedural side-effect analysis in linear time. SIGPLAN Notices, 23(7):57--66, July 1988. Proceedings of the ACM SIGPLAN '88 Conference on Programming Language Design and Implementation.


Interprocedural Control Dependence - Sinha, Harrold, Rothermal (2000)   (1 citation)  (Correct)

....that can be computed only by analyzing the interactions among procedures. Various definitions of, and methods for computing and utilizing, interprocedural data dependences have been presented, and the necessity of considering these dependences in interprocedural analyses is well understood (e.g. [5, 13, 16, 20, 25, 28]) In contrast, virtually no attention has been paid to the definition or computation of interprocedural control dependence. Our search of the research literature reveals only one attempt to define and compute interprocedural control dependence [17] however, as we show in Section 6, that ....

K. D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 57--66, June 1988.


Object Views: Bridging the Performance Gap Between Shared.. - Ilya Lipkind And   (Correct)

....Because these latter protocols minimize remote processor involvment, they can take advantage of capabilities such as remote memory access being encountered in highperformance networks like Myrinet and VIA. Our compiler infrastructure extends interprocedural concurrency [11, 9] and side effect [5] analyses for SPMD programs previously reported in literature. These analyses, optionally augmented with run time profiling information, infer the minimal coherence requirements for each view access. Specifically, three kinds of analyses are performed (see Figure 2) 1. Thread family analysis ....

K. D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In PLDI, pages 57--66, June 1988.


Interprocedural Control Dependence - Sinha, Harrold, Rothermel (2000)   (1 citation)  (Correct)

....that can be computed only by analyzing the interactions among procedures. Various definitions of, and methods for computing and utilizing, interprocedural data dependences have been presented, and the necessity of considering these dependences in interprocedural analyses is well understood (e.g. [5, 13, 16, 20, 25, 28]) In contrast, virtually no attention has been paid to the definition or computation of interprocedural control dependence. Our search of the research literature reveals only one attempt to define and compute interprocedural control dependence [17] however, as we show in Section 6, that ....

K. D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 57--66, June 1988. 53


Interprocedural Control Dependence - Sinha, Harrold (2000)   (1 citation)  (Correct)

....that can be computed only by analyzing the interactions among procedures. Various definitions of, and methods for computing and utilizing, interprocedural data dependences have been presented, and the necessity of considering these dependences in interprocedural analyses is well understood (e.g. [Cooper and Kennedy 1988; Harrold and Soffa 1994; Landi and Ryder 1992; Pande et al. 1994; Reps et al. 1995; Sharir and Pnueli 1981] In contrast, virtually no attention has been paid to the definition or computation of interprocedural control dependence. Our search of the research literature reveals only one attempt to ....

Cooper, K. D. and Kennedy, K. 1988. Interprocedural side-effect analysis in linear time. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Interprocedural Control Dependence \Delta 41 Implementation (June 1988), pp. 57--66.


Interprocedural Constant Propagation: A Study of Jump.. - Dan Grove Linda (1993)   (29 citations)  (Correct)

....return jump functions for each procedure, we can propagate the VAL sets around the graph using a standard iterative technique [11, 12] The results presented in this paper were computed using a simple worklist iterative scheme. Alternative formulations based on the binding multi graph are possible [7]. The method presented by Callahan et al. essentially models the binding graph computation on the call graph [4] Callahan et al. showed a single simple example to demonstrate that different jump function techniques produced different results. They fail, however, to provide any experimental ....

Keith D. Cooper and Ken Kennedy. Interprocedural side-effect analysis in linear time. SIGPLAN Notices, 23(7):57--66, July 1988. Proceedings of the ACM SIGPLAN '88 Conference on Programming Language Design and Implementation.


A Study Of Side-Effect Analyses For Java - Razafimahefa (1999)   (6 citations)  (Correct)

....from loops. A key component of an optimizing compiler is the computation of read write sets i.e. determining memory locations that are inspected (read) and or altered (written) by a given statement or a group of statements in a program. This is also known as side effect analysis [Ban79] CK88] and it is the emphasis of this thesis. By applying side effect analysis, an optimizing compiler gains more knowledge about the behavior of a program because static disambiguation of the memory usage is obtained. More precisely, it is possible to know whether two given memory references do not ....

....by describing the generic side effect algorithm followed by an overview of each specific analysis, namely typebased analysis and refers to analysis. Finally, we give a more detailed description of the analyses. 3. 1 Side Effect Analysis: the generic algorithm Side effect analysis [Ban79] CK88] Cla97] is an analysis aimed at determining memory locations that are altered or inspected by computations. This knowledge permits a better understanding of the program s behavior by disambiguating memory usage. Therefore it renders an optimizing compiler less conservative in the transformations ....

[Article contains additional citation context not shown here]

Keith D. Cooper and Ken Kennedy. Interprocedural side-effect analysis in linear time. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 57--66, Atlanta, Georgia, June 22--24, 1988. SIGPLAN Notices, 23(7), July 1988.


Interprocedural Pointer Alias Analysis - Burke, Carini, Choi (1997)   (3 citations)  (Correct)

....g. For pointer induced aliasing, unlike reference parameter aliasing, not only can the calling procedure affect the aliasing of the called procedure, but the called procedure can also affect the aliasing of the calling procedure. The conventional methods for side effect analysis [Banning 1979; Cooper and Kennedy 1988; Burke 1990] decompose the computation into separate direct sideeffect and alias analyses. Aliasing information is factored into direct side effects after the latter has been computed. In the presence of pointers, it can be incorrect to perform side effect analysis without using alias information ....

Cooper, K. D. and Kennedy, K. 1988. Interprocedural side-effect analysis in linear time. In SIGPLAN '88 Conference on Programming Language Design and Implementation. 57--66. SIGPLAN Notices, 23(7).


Comparing Flow and Context Sensitivity on the.. - Stocks (1998)   (15 citations)  (Correct)

.... to report program point specific side effect information in the presence of pointers in order to handle modern languages such as C, C , Fortran90 and Java; this requires practical interprocedural side effect analysis with pointers, something that previous techniques for FORTRAN cannot supply [1, 4, 5, 2]. A family of side effect analyses for C, parameterized by the pointer aliasing algorithm used, has been defined [11, 10] these analyses vary in the cost precision tradeoffs for the calculated sideeffect information. Using different combinations of flow sensitive and or context sensitive ....

....decompositionof the MOD problem for FORTRAN (and other languages where aliasing is imposed only by call by reference parameter passing) he separated out two flow insensitive calculations on the call multigraph: one for side effects and a separate one for aliases. Cooper and Kennedy [4, 5] further decomposed the problem into side effects on global variables and side effects accomplished through parameter passing. Burke showed that these two subproblems on globals and formals can be solved by a similar problem decomposition [2] All of this work targeted the programming model of ....

K. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In Proceedings of the SIGPLAN '88 Conferenceon Programming Language Design and Implementation, pages 57--66, June 1988.


Automatically Closing Open Reactive Programs - Colby, Godefroid, Jagadeesan (1998)   (9 citations)  (Correct)

....Work and Conclusions The core of our algorithm for closing an open system is a dataflow analysis of C or C like procedures. The dataflow analysis is phrased as a graph reachability problem. This is a common approach to dataflow problems that our algorithm shares with many others, such as [Cal88, CK88, Kou77] to name but a few. In particular, we use standard techniques for computing define use dependencies, such as [ASU86, FOW87, MR90] These techniques rely on a (conservative) solution to the aliasing problem. Examples of alias analyses include [CWZ90, Deu94, Lan91, Ruf95, SRW96] to name a ....

K. D. Cooper and K. Kennedy. Interprocedural sideeffect analysis in linear time. In David S. Wise, editor, Proceedings of the SIGPLAN '88 Conference on Programming Lanugage Design and Implementation (SIGPLAN '88), pages 57--66, Atlanta, GE, USA, June 1988. ACM Press.


Managing Interprocedural Optimization - Hall (1990)   (41 citations)  Self-citation (Cooper Kennedy)   (Correct)

.... [CKT86a] Recompilation analysis was incorporated to minimize the need for recompilation as a result of changes to interprocedural information [CKT86b] BCKT90] Also, new algorithms were developed for interprocedural constant propagation [CCKT86] nearly linear side effect and aliasing analysis [CK88b] CK89] and array side effect analysis [CK88a] HK91] This earlier work provided a good framework for the research in this dissertation. One aspect that was lacking in the previous design was adequate support for interprocedural transformations such as inlining and cloning. Based on the ....

....The algorithm is more efficient than previous techniques because it delays propagation of new information until it can be used. It is based on the binding multigraph fi, a structure used in the formulation of effectively linear interprocedural analysis algorithms by Cooper and Kennedy [CK88b] CK89] fi is a specialized call multigraph, containing a node for each formal parameter in the program, and an edge between nodes f i p and f j q if the i th formal parameter of p is passed as the j th actual parameter of q at some call site in p invoking q. Thus, fi explicitly ....

[Article contains additional citation context not shown here]

K. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In Proceedings of the SIGPLAN 88 Conference on Programming Languages Design and Implementation. ACM, June 1988.


Unexpected Side Effects of Inline Substitution: A Case Study - Keith Cooper Mary (1992)   (15 citations)  Self-citation (Cooper)   (Correct)

.... compilers, optimization Additional Keywords and Phrases: inline substitution, interprocedural analysis, interprocedural optimization 1 Introduction In recent years, many articles dealing with issues of interprocedural analysis and interprocedural optimization have appeared in the literature [1, 2, 5, 6, 7, 10, 12, 14, 17, 18, 19, 20, 21]. Several of these articles have attempted to assess the practical value of interprocedural data flow information or of specific cross procedural transformations. Ganapathi and Richardson point out that inline substitution can be viewed as an upper limit on the improvement available through use of ....

K. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In Proceedings of the ACM SIGPLAN `88 Conference on Programming Languages Design and Implementation, SIGPLAN Notices23(7), pages 57--66. ACM, July 1988.


Register Promotion in C Programs - Cooper, Lu (1997)   (13 citations)  Self-citation (Cooper)   (Correct)

....and optimization of memory based values. Each memory operation has an associated list of tags ; these are textual names that identify the memory locations that can be used by the operation. Procedure calls have lists of modified tags and referenced tags to record their summary side effects [7]. Finally, the IL contains a hierarchy of memory instructions that denote increasingly more specific knowledge (see Table 1. When it emits the IL, the front end encodes the best information it has into the tag field and the opcode. In many cases, however, it must behave conservatively and assume ....

....set of tags for each pointer based memory operation. MOD REF analysis is then repeated, using the new tag sets for the pointer based memory operations. 3 This algorithm seems quite simple. The equations for MOD and REF are drastically simplified by C s lack of call by reference parameters [7]. 5 Experimental Results To understand the impact of register promotion, we compiled 14 C programs using our laboratory compiler (see Figure 4) Four versions of each program were prepared, using the combinations of scalar promotion, no scalar promotion, MOD REF analysis, and pointer analysis. ....

Keith D. Cooper and Ken Kennedy. Interprocedural side-effect analysis in linear time. SIGPLAN Notices, 23(7):57--66, July 1988. Proceedings of the ACM SIGPLAN '88 Conference on Programming Language Design and Implementation.


Recovery of Variables and Heap Structure in x86 Executables - Gogul Balakrishnan Bgogul   (Correct)

No context found.

K.D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In PLDI, pages 57--66, 1988.


Demand Interprocedural Dataflow Analysis - Susan Horwitz Thomas   (Correct)

No context found.

Cooper, K.D. and Kennedy, K., "Interprocedural side-effect analysis in linear time," Proceedings of the ACM SIGPLAN 88 Conference on Programming Language Design and Implementation, (Atlanta, GA, June 22-24, 1988), ACM SIGPLAN Notices 23(7) pp. 57-66 (July 1988). - 29 -


Intermediate-Representation Recovery from Low-Level Code - Thomas Reps Gogul   (Correct)

No context found.

K.D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In PLDI, 1988.


Interprocedural Side-Effect Analysis and Optimisation in.. - Dynamic Class Loading   (Correct)

No context found.

Cooper, K. D. & Kennedy, K. (1988), Interprocedural side-effect analysis in linear time, in `ACM SIGPLAN '88 Conference on Programming Language Design and Implementation', Atlanta, Georgia, pp. 57--66.


Interconvertibility of a Class of Set Constraints and.. - Melski, Reps (1998)   (13 citations)  (Correct)

No context found.

K.D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In SIGPLAN Conference on Programming Languages Design and Implementation, pages 57--66, 1988.


Program Integration for Languages with Procedure Calls - David Binkley Susan (1995)   (22 citations)  (Correct)

No context found.

Cooper, K.D. and Kennedy, K., "Interprocedural side-effect analysis in linear time," Proceedings of the ACM SIGPLAN 88 Conference on Programming Language Design and Implementation, (Atlanta, GA, June 22-24, 1988), ACM SIGPLAN Notices 23(7) pp. 57-66 (July 1988).


Compiler and Microarchitecture Mechanisms for Exploiting.. - Postiff (2001)   (Correct)

No context found.

K. D. Cooper and K. Kennedy. Interprocedural Side-Effect Analysis in Linear Time. ACM SIGPLAN Notices, Vol. 23 No. 7, pp. 57-66. July 1988. 217


Chapter 1 Program Integration - Program Integration Concerns   (Correct)

No context found.

Cooper88. Cooper, K.D. and Kennedy, K., Interprocedural side-effect analysis in linear time, Proceedings of the ACM SIGPLAN 88 Conference on Programming Language Design and Implementation, (Atlanta, GA, June 22-24, 1988), ACM SIGPLAN Notices 23(7) pp. 57-66 (July 1988).

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC