| O. Shivers, "Control Flow Analysis in Scheme," SIGPLAN '88 Conference on Programming Language Design and Implementation 23 (June 22-24, 1988), 164--174. |
....Each call site may invoke multiple functions due to polymorphic function calls. In practice, a compiler should perform analysis to reduce the number of potential methods reachable at each call site. For example, our compiler uses 0 CFA interprocedural class analysis to reduce the call graph size [95]. There are two distinct classes of interprocedural recurrences. The first is due to a recursive method call. The second is due to iteration combined with encapsulation. We show an example using recursion in Figure 3.7 (a) and an example using iteration with encapsulation in Figure 3.7 (b) ....
....The benefit of a more accurate call graph is that interprocedural optimizations are more efficient. Vortex contains a set of algorithms for constructing the call graph that vary in complexity and accuracy. The default class analysis algorithm in Vortex is 0 CFA (zero order control flow analysis) [95]. Shivers originally defined the k CFA algorithm for Scheme programs. The algorithm is flow sensitive, and the algorithm is context insensitive when k is 0. Larger values for k indicate the degree of context sensitivity. The 0 CFA algorithm performs an iterative data and control flow analysis of ....
Olin Shivers. Control flow analysis in Scheme. In Proceedings of the 1988.
....use of higher order features, this analysis is very crude, and may result in many lost opportunities for optimization. Over the last 20 years, a number of more aggressive approaches to control flow analysis have been considered. Starting from the early work by Jones [11, 12] and then Shivers [15], there has been an explosion of interest in issues such as extending the basic analysis to data structures, references, arrays, implementation strategies and polyvariance, e.g. 2, 6, 1, 5, 10, 16, 4] The first author was sponsored in part by a summer internship at Bell Laboratories and in part ....
O. Shivers, "Control Flow Analysis in Scheme", Proc. 1988.
....topic to study. Since the original results of Mitchell [24] type checking and type inference for subtyping systems have received steadily increasing attention. The primary motivations for studying these systems today are program analysis algorithms based on subtyping (see, for example, [2, 5, 14, 16, 22, 31, 37]) and, more speculatively, richer designs for typed languages ( 29] Subtyping algorithms invariably involve systems of subtype constraints #1 #2 , where the # i are types that may # This research was supported in part by the National Science Foundation grant No. CCR 0085949 and NASA Contract ....
O. Shivers. Control Flow Analysis in Scheme. In Proceedings of the 1988.
....analysis. Weihl s approach ignores local control flow effects to derive a conservative approximation of the possible values each procedure variable may have [21] Shivers addresses the difficult task of determining a control flow model for a Scheme program where all functions are bound dynamically [18]. The task of specifying control flow in terms of syntax is addressed by Sethi s plumb project [16] In essence, plumb allows a continuation passing style semantics to be specified for a programming language using a special function composition operator. Flow grammars can also be considered as ....
Shivers, O. "Control Flow Analysis in Scheme," PLDI'88, June 1988, pp. 164-174.
....virtual machine. Our analyses assume that a call graph construction and alias analysis pass has been run. In our implementation, we use the Simple Class Sets (SCS) context sensitive call graph construction algorithm [GDDC97] for the smaller benchmarks, and the context insensitive 0 CFA algorithm [S88] for the benchmarks larger than javac. We augmented the algorithms to collect alias information based on the creation points of objects. While these algorithms build a precise call graph, they compute very general alias information and as a result the SCS algorithm did not scale to our largest ....
O. Shivers. Control-Flow analysis in Scheme. In Proc. of SIGPLAN 1988 Conference on Programming Language
....well. 3.7 Flexibility in Practice The flexibility of the analysis framework can be illustrated in another way. The framework is able to imitate many conventional analyses. For example, we can define models that produce analysis instances similar to polynomial variants of Shivers K cfa [54, 60, 36]. The proposed models are intended for the analysis of program el0. 2all = f) Yale : 5 c) U kl I l A( o) Cont = Lab I lYI K ko : e cc(l, kl , if el is a k expression c, otherwise pc(l, 21,22, P call( 01,02, the longest suffix of l in ont A el is ....
Olin Shivers. Control flow analysis in Scheme. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 164-174, jun 1988.
....transformer may require a level of detail for some attributes which is higher than what was determined by the analyzer. Consider a compiler for Scheme that optimizes calls to car by removing the run time type check when the argument is known to be a pair. The compiler could use the 0 cfa analysis [8, 9] to compute for every variable of a program the (conservative) set of allocation points in the program that create a value (pair, function, number, etc) that can be bound to an instance of that variable. In the program fragment shown in Figure 1 the 0 cfa analysis computes that only pairs, created ....
....the most important theoretical results are also found there. Except for the ideas of abstract interpretation and flexible analyses, the remainder of the presented work is, to the best of our knowledge, original. Abstract interpretation is frequently used in the field of static analysis (see [2, 7, 8, 9]) The k cfa family of analyses (see [8, 9] can, to some extent, be considered as flexible. The configurable analysis presented in [2] by Ashley and Dybvig can produce an extended family of analyses, but at compiler implementation time. Our analysis framework (see [4] allows for more subtlety ....
[Article contains additional citation context not shown here]
O. Shivers. Control flow analysis in Scheme. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 164--174, jun 1988.
....in turn an argument to prec, yielding another closure to which g is bound. With this information, we can detect that (df terminP coeff n) boils down to an affine recurrence: F (i; j) F (i Gamma 1; j) F (i Gamma 1; j Gamma 1) To detect such affine first order recurrences, closure analyses [17, 18] may perhaps provide the information needed. We could also try and inline functions and check for recurrent patterns. This issue is left for future work. Notice that the domain on which function df is defined depends on the driving calls. This, however, does not hamper to parallelize the ....
O. Shivers. Control-flow analysis in scheme. In ACM SIGPLAN Conf on Prog. Lang. Design and Implem. PLDI, pages 164--174, 1988. 7
....also that the recursion, a = fog [ a, can be solved in the complete lattice P(AbsVal) the computational ordering) giving a = fog there is no need for and no need for an approximation ordering upon AbsVal. When sets of closures appear in an a.i. the analysis is called a closure analysis [29, 30, 50, 53, 60, 61]. The complexity of a closure analysis is high, and a major challenge is finding efficient, safe simulations. To simplify notation, we represent a closure by a hae; i pair, where is a unique label of a rec phrase, rec f x:e. Next, we ignore primitive values in this discussion and define ....
....f div2 (o) fe; og Figure 12: Set based abstract interpretation To reduce the overhead with sets, we redefine AbsClos in an isomorphic form: AbsClos = Label P(AbsEnv) Now, the task is finding simplifications of AbsClos. One that is related to the n CFA analyses proposed by Shivers [50, 61] defines AbsClos as AbsClos n , for some fixed n 0, where AbsClos n = Label P(AbsEnv n ) AbsEnv 0 = ffflg AbsEnv i 1 = Id AbsVal i AbsVal i = ffflg [ AbsClos i The set AbsClos n limits the depth to n of the closures that can be produced by the analysis, ensuring that the AbsVal set ....
[Article contains additional citation context not shown here]
O. Shivers. Control-flow analysis in Scheme. In Proc. SIGPLAN88 Conf. on Prog. Language Design and Implementation, pages 164--174, 1988.
....of multiple level, as fields of structures, and as arrays. They can also be type cast into data pointers and vice versa. Hence the full power of a points to analysis is needed to correctly and precisely accommodate them in an interprocedural analysis. An analogous problem of control flow analysis [40], has been studied in the domain of higher order languages. Here, the possibility of creating functions dynamically (for example, using lambda in Scheme) poses additional complexity. Different approaches to solve this problem have been proposed [10, 18, 35, 39, 40, 41] In object oriented ....
....An analogous problem of control flow analysis [40] has been studied in the domain of higher order languages. Here, the possibility of creating functions dynamically (for example, using lambda in Scheme) poses additional complexity. Different approaches to solve this problem have been proposed [10, 18, 35, 39, 40, 41]. In object oriented languages, call graph analysis becomes non trivial due to inheritance and function overloading. The method invoked from a call site depends on the type of the receiver, and static type determination is used to estimate control flow. Type analysis techniques have been developed ....
O. Shivers. Control flow analysis in Scheme. In Proceedings of the SIGPLAN '88 Symposium on Programming Language Design and Implementation, pages 164--174, June 1988.
No context found.
O. Shivers, "Control Flow Analysis in Scheme," SIGPLAN '88 Conference on Programming Language Design and Implementation 23 (June 22-24, 1988), 164--174.
No context found.
Olin Shivers. Control-Flow Analysis in Scheme. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 164--174, June 1988.
No context found.
O. Shivers. Control Flow Analysis in Scheme. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, Atlanta, Georgia, June 1988.
No context found.
O. Shivers. Control flow analysis in scheme. In Conference on Programming Language Design and Implementation, Atlanta, Georgia, June 1988.
No context found.
O. Shivers. Control Flow Analysis in Scheme. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, Atlanta, Georgia, June 1988.
No context found.
O. Shivers. Control flow analysis in Scheme. In SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 164--174, June 1988.
No context found.
O. Shivers. Control-flow Analysis in Scheme.ACM SIGPLAN Notices, 23(7):164-174, July 1988.
No context found.
Olin Shivers. Control-Flow Analysis in Scheme. In Proceedings of the 1988.
No context found.
O. Shivers. Control flow analysis in Scheme. In Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 164--174, 1988.
No context found.
O. Shivers. Control flow analysis in scheme. In ACM SIGPLAN'88, Conference on Programming Language Design and Implementation, June 1988.
No context found.
O. Shivers. Control flow analysis in Scheme. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 164--174, June 1988.
No context found.
O. Shivers. Control flow analysis in Scheme. In ConferenceonProgramming Language Design and Implementation, pages 164--174. Association for Computing Machinery, June 1988.
No context found.
O. Shivers. Control flow analysis in Scheme. Sigplan Notices, 23(7):164--174, July 1988.
No context found.
O. Shivers. Control flow analysis in Scheme. In SIGPLAN '88 Conference on Programming Language Design and Implementation, pages 164--174, June 1988.
No context found.
Olin Shivers, `Control flow analysis in Scheme', Proc. of the SIGPLAN '88 Conference on Programming Language Design and Implementation, June 1988, pp. 164--174.
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