| K. Cooper, "Analyzing Aliases of Reference Formal Parameters," Proc. of the 12th ACM Symposium on Principles of Programming Languages, pages 281-290, 1985. |
....specification for all iterations. 4.5.2 Alias Analysis Alias analysis is a crucial component of any optimizer because aliasing increases the likelihood that a side effect will foil an optimization. Much work on alias analysis has been restricted to languages that do not allow pointers [3, 10] or that restrict pointers to at most one level of indirection [43] Some exceptions are [7, 29, 33] which use interprocedural analysis. The alias analysis techniques in [7, 29, 33] annotate each edge in a FG with a summary graph approximating the data structures at that point in the program. ....
Keith D. Cooper. Analyzing aliases of reference formal parameters. In Proceedings of the 1985.
.... side e#ect information in the presence of pointers in order to handle modern languages such as C, C , FORTRAN90 and Java; 2 this requires practical interprocedural side e#ect analysis with pointers, something that previous techniques for FORTRAN cannot supply [Ban79, Bur90, Coo85, CK88, CK87] In the past, it has been suggested that one could do intraprocedural analyses of C codes, by using worst case estimates of variables which could possibly experience a side e#ect at a call site. This yields a safe approximation of side e#ect information, but almost surely ....
....is imposed only by call by reference parameter passing) he separated out two flowinsensitive calculations on the call multigraph: one for side e#ects and a separate one for aliases. The interprocedural side e#ects problem for FORTRAN is flow insensitive, but context sensitive. Cooper and Kennedy [Coo85, CK88, CK87] further decomposed the problem into side e#ects on global variables and side e#ects accomplished through parameter passing. Burke showed that these two subproblems on globals and formals can be solved by a similar problem decomposition [Bur90] All of this work targeted the ....
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, January 1985. 74
....iterative algorithms, using change classification and reinitialization, for bitvector problems. A comparison of these incremental iterative algorithms is found in [BR90] For the reference parameter aliasing problem of Fortran like languages, e#cient flow insensitive algorithms are proposed in [Coo85] Marlowe and Ryder [MR91] incrementalize these algorithms by applying their incremental framework. The incremental pointer aliasing problem for C is more complicated than its counterpart for Fortran mainly because the pointer aliasing information for C may change inter and intraprocedurally. ....
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, January 1985.
....algorithm [MR90] handles changes by combining the elimination and iteration methods. A hybrid incremental algorithm for the reference parameter aliasing problem of Fortran is proposed in [MR91] For the MOD problem for Fortran like languages, e# cient flow insensitive algorithms are proposed in [CK84, Coo85], and the incremental MOD problem for Fortran was handled in [Bur90] The incremental MOD problem for C is more complicated than its counterpart for Fortran mainly because the pointer aliasing information for C may change inter and intra procedurally. BACKGROUND AND DEFINITIONS MOD Problem for ....
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281-- 290, January 1985.
....Research and NSF grants CISE CCR92 08632 and CCR 9023628 1 5. 1 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 [Coo85, CK84, CK87] 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 [Bur90] Choi, Burke, and Carini mention a modification ....
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, January 1985.
....called procedure. Similarly, passing the same variable to two distinct formal parameters f 1 and f 2 creates the alias pair (f 1 ,f 2 ) in the called procedure. Approximate alias information can be expressed in the form of the two summary relations MayAlias(p)andMustAlias(p) for each procedure p [Cooper 1985]. A pair (x, y) is contained in MayAlias(p)ifxis aliased to y in some invocation of p. A pair (x, y)isinMustAlias(p)ifxis aliased to y in all invocations of p. The computation of alias relations induced by reference parameters can be modeled as a data flow problem over a program s call graph ....
....1985] A pair (x, y) is contained in MayAlias(p)ifxis aliased to y in some invocation of p. A pair (x, y)isinMustAlias(p)ifxis aliased to y in all invocations of p. The computation of alias relations induced by reference parameters can be modeled as a data flow problem over a program s call graph [Cooper 1985]. An exhaustive algorithm for computing the alias sets iterates over the program s call graph to compute the potential alias pairs for all procedures prior to the analysis [Cooper 1985] However, the data flow problem to compute the alias sets MayAlias(p)andMustAlias(p)is a distributive problem ....
[Article contains additional citation context not shown here]
Cooper, K. 1985. Analyzing aliases of reference formal parameters. In Proceedings of the 12th ACM Symposium on Principles of Programming Languages. ACM, New York, 281--290.
....all files 8. Terminate sort program These rules do not restrict the use of any tool and help that the operating system could offer, however, the use of raw files to speed up disk access is forbidden. In 1985 it took around 15 minutes for a typical system to complete the DatamationSort benchmark [8], in April 1999 a cluster of workstations completed the benchmark in 1.18 seconds [6] 2.1.2 MinuteSort The DatamationSort record illustrates the performance improvement trend in computer systems. Both hardware and software have contributed to this dramatic improvement, with software algorithms ....
Keith D. Cooper. Analyzing aliases of reference formal parameters. In SIGMOD Record, pages 94--101, June 1990. 55
....situation when two or more distinct variables simultaneously refer to the same memory location. In languages without pointers, such as Fortran, aliasing occurs most frequently due to the binding of formal parameters upon subroutine entry. Alias analysis for such languages is well understood [51] [52]. However, languages which allow pointers (e.g. C) severely complicate dependence analysis. Numerous interprocedural analysis techniques have been proposed to resolve pointer aliasing [53] 54] 55] These techniques can provide good pointer disambiguation, but may be limited in application due ....
K. Cooper, "Analyzing aliases of reference formal parameters," in Proceedings of the 12th ACM Symposium on Principles of Programming Languages, pp. 281--290, January 1985.
.... 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. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, Jan. 1985.
....are used if virtual memory is supported. 2 that names that are always aliased have been appropriately renamed and that objects that are never aliased are placed in different alias sets. Formal parameters are analyzed for aliasing and placed into alias sets using an algorithm developed by Cooper [Coo85]. There are many solutions to the ambiguous alias problem [HSS94, DGS93, Chi91, CCK90, HeS90, Nic89, ChD89] but we focus only on CReg hardware and compiler techniques in this paper. The remainder of the paper covers CReg instruction set modifications and hardware design (Section 2) CReg ....
....represented in the interference graph as a circularly linked list of live range nodes. For local arrays, the alias set consists of all the live ranges for the elements of that array 4 . For formal parameter arrays, interprocedural alias analysis is used to group the live ranges into alias sets [Coo85]. Scalars have a null pointer for their alias set. 4 This is conservative; if two local array live ranges do not conflict, they can be placed in different alias sets. 7 Two basic operations on alias sets find the range of CRegs that are allowed during color selection. If an alias set has a ....
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290. ACM, January 1985. 13
....may suggest the set of variables that need to be monitored at a statement with dereferenced pointers with the MOD information. For a semantic program browser, this kind of data flow information is definitely what its information engine is seeking. There have been several algorithms [Ban79, Bur90, Coo85, CK88, CK87] proposed for solving the MOD problem for FORTRAN like languages, in which the aliasing can be caused through parameter binding, and won t change during the procedure call. However, those techniques cannot be applied to a language with general purpose pointers (e.g. C) For the MOD ....
....of di#erent degrees of di#culty. For the reference parameter aliasing problem of Fortran like languages, aliases can only be created at procedure calls, and will not change throughout the execution of the called procedure. This makes the aliasing problem insensitive to the control flow. Cooper [Coo85] proposed an e#cient flow insensitive algorithm for the reference parameter aliasing problem. As for a language with general pointers like C, the aliasing problem with the presence of multi level pointers and recursive data structures is much more di#cult than its counterpart in Fortran [LR91, ....
[Article contains additional citation context not shown here]
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, January 1985.
.... to dynamically aliased variables, but such assignments are common practice and tolerated by most compilers [ZC91] which painstakenly avoid using register optimisation on global variables or call by reference formal parameters to ensure that aliased variables behave in the expected fashion [Coo85] Here, alias analysis [CK89,For94,MSE95,Ruf95,PS96] may be applied which can be done quite efficiently today. However, a study concerning parallelisation of real world Fortran code [MW93] revealed that the sets of potentially aliased names determined by compile time analysis contain 4.4 ....
K.D. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290. ACM, 1985.
....in the program may be found by finding the universal (existential) pointer equalities in the translated program. The size of the translated program is linear in the size of the original program. In this simplified case, our algorithm for existential pointer equalities is similar to Cooper s [4]. Our algorithm for finding universal pointer equalities solves an open problem raised in [5] Our efficient algorithm for finding universal pointer equalities in PEP is not necessarily statically exact even for pointer equalities of the form eq 8 (t; nil) Indeed, in Section 6.2.2 we show that it ....
K. Cooper. Analyzing aliases of reference formal parameters. In ACM Symposium on Principles of Programming Languages, pages 281--290, 1985.
....2 ) is an alias pair in the called procedure. Ignoring aliasing during the analysis may lead to unsafe query responses; some of the def use pairs may be missed. In [4] we discussed analysis refinements for safely handling aliasing in constant propagation using separately computed alias information [3]. We can use the same approach for safely refining the propagation rules from Figure 3 to handle reference parameters. According to these refinements P res v n is set to true if v or any alias of v is preserved during the execution of n. Analogously, the set Def v n is determined by collecting ....
K. Cooper. Analyzing aliases of reference formal parameters. In 12th ACM Symp. on Principles of Programming Languages, pages 281--290, `85.
....are given in Figure 2(b) and Figure 3(b) Further details about SIMPLE may be found in [HDE 92, Sri92] 2. 2 Stack Matrix Analysis and Abstract Stack Locations The fundamental point of our approach is that rather than collecting alias information in the form of alias pairs [Bar78, Ban79, Coo85, CK89, LR92, Lan92] we have chosen to directly abstract relationships between locations. More specifically, we use an abstraction which associates a name with every important stack location, and we use abstract interpretation techniques to approximate the relationships between these abstract ....
Keith Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, New Orleans, Louisiana, January 13--16, 1985. ACM SIGACT and SIGPLAN.
....of a particular name at a program point t are all other names that refer to the same memory location on some path to t. When this execution path traverses more than one procedure, we are solving the Interprocedural May Alias Problem. While the calculation of aliases for FORTRAN is well understood [Ban79, Coo85, CK89, Mye81], aliasing in C is different than aliasing in Fortran in two respects. First, aliases can change due to side effects of intraprocedural execution flow. Second, aliases created during execution of a called procedure can affect aliases which hold on return to the calling procedure. Arbitrary ....
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, January 1985.
....parallelism within the structured parallelism that programmers typically provide. The augmented container model re introduces the difficulties of performing alias detection, but with fewer aliases than would occur in the reference model. Again, there is substantial research devoted to this problem [Cooper, 1985; Landi and Ryder, 1991; Landi and Ryder, 1992] The container model can substantially reduce the problem of aliasing, and in any case will be no worse than the reference model. 5 Parameter Passing and Communication One consequence of the reference model is that parameters are passed by ....
Keith D. Cooper, "Analyzing Aliases of Reference Formal Parameters," In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, New Orleans, Louisiana, January 1985.
.... sideeffect information in the presence of pointers in order to handle modern languages such as C, C , Fortran90 and Java; 2 this requires practical interprocedural side effect analysis with pointers, something that previous techniques for FORTRAN cannot supply [Ban79, Bur90, Coo85, CK88, CK87] In the past, it has been suggested that one could do intraprocedural analyses of C codes, by using worst case estimates of variables which could possibly experience a side effect at a call site. This yields a safe approximation of side effect information, almost surely ....
....aliasing is imposed only by call by reference parameter passing) he separated out two flowinsensitive calculations on the call multigraph: one for side effects and a separate one for aliases. 25 25 The interprocedural side effects problem for Fortran is flow insensitive. Cooper and Kennedy [Coo85, CK88, CK87] 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 [Bur90] All of this work targeted the ....
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, January 1985.
....occur in the same head term. This is very conservative, since it produces inexact results in the most commonly occurring cases. Moreover, the likelihood of the procedure being called with the pathological term that necessitates this is very low. Further enhancements in alias analysis such as using [11, 27, 28, 66, 67] may yield significant improvements. For each literal l the procedure in Figure 6.2 is used to set up the calling arguments aliases for the procedure. The procedure begins by computing the set x i of variables that may be aliased to non ground variables occurring in each call argument l i . These ....
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, January 1985.
....and has the following important properties: i) only call sites contribute to the creation of aliases, and (ii) an alias relation valid at the entry of a procedure holds throughout its body. Effective techniques for computing such aliases have been developed and described [Bar78, Ban79, Mye81, Coo85, CK89] Most of these analyses collect the alias information in two passes over the program: i) an introductory pass to compute all the obvious aliases generated at call sites, ii) a propagation pass to propagate the aliases through the call graph of the program. Early work on pointer aliasing ....
Keith D. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, New Orleans, Louisiana, January 13--16, 1985. ACM SIGACT and SIGPLAN.
....noted the decomposition of the problem for FORTRAN (and other languages where aliasing is imposed only by call by reference parameter passing) he separated out two flow insensitive 1 calculations on the call multigraph: one for side effects and a separate one for aliases. Cooper and Kennedy [Coo85, CK88, CK87] 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 [Bur90] Choi, Burke, and Carini mention a ....
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 281--290, January 1985.
....evolving for a number of years. Supporting interprocedural analysis efficiently was a goal from the beginning [HK83] The first step was the development of efficient algorithms for interprocedural side effect and alias analyses, separated into a local phase and a propagation phase [Coo83] CK84] Coo85] This two phase analysis required cooperation of other programming environment tools and the concept of a program compiler [Tor85] CKT85] CKT86a] Recompilation analysis was incorporated to minimize the need for recompilation as a result of changes to interprocedural information [CKT86b] ....
K. Cooper. Analyzing aliases of reference formal parameters. In Conference Record of the Twelfth Annual Symposium on Principles of Programming Languages. ACM, January 1985.
No context found.
K. Cooper, "Analyzing Aliases of Reference Formal Parameters," Proc. of the 12th ACM Symposium on Principles of Programming Languages, pages 281-290, 1985.
No context found.
K. D. Cooper. Analyzing aliases of reference formal parameter. In Symposium on Principles of Programming Languages, pages 281-290, 1984.
No context found.
Cooper85. Cooper, K.D., "Analyzing aliases of reference formal parameters," pp. 281-290 in Conference Record of the Twelfth ACM Symposium on Principles of Programming Languages, (New Orleans, LA, Jan. 14-16, 1985), ACM, New York, NY (1985).
First 50 documents
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