| Sebastian Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Imperial College, University of London, 1991. |
....developed in the context of strictness analysis. Clack and Peyton Jones [5] have introduced the frontier based algorithm. The algorithm reduces space usage by representing the solution only with a subset of relevant values. The technique has been developed for binary lattices. Hunt s PhD thesis [9] contains a generalization to distributive lattices. The top down vs. bottom up aspects of fixed point algorithms for abstract interpretation of logic programs have been investigated by Le Charlier and Van Hentenryck. The two authors have developed a generic top down algorithm fixed point ....
Hunt, S., "Abstract Interpretation of Functional Languages: From Theory to Practice," Ph.D. thesis, Department of Computing, Imperial College of Science Technology and Medicine, London, UK (1991).
....no information. The v ordering also makes sense under this intuition. Semantically, these annotations represent projections (x4) Some other possible lattices are 2 = Str v Id for simple strictness analysis and Bot v Id (respectively representing static and dynamic) for binding time analysis [15], 16] Another system with application for sharing analysis has been variously presented by (at least) Hughes [14] Bierman [6] Baker Finch [4] and Sestoft [22] and is based on distinguishing 0, 1 or Many uses . However, given its essentially operational nature it does not seem feasible to ....
S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Imperial College, 1991.
....n) Although this analysis will be more precise, it will be also more expensive, as we need to represent functions and also to calculate the fixpoint, which implies it is necessary to compare functions. So it is exponential. It has all the problems of the typical strictness analysis [BHA86, MH87, Hun91] In the simple analysis of the previous sections, the fixpoint calculation is linear in the number of components in the let bindings. With respect to the algebraic types we have represented the whole structure with a single basic abstract value (except in the tuples) This means for example, ....
S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, October 91.
....Information Flow In this section we introduce the way that partial equivalence relations (pers) can be used to model dependencies in programs. The basic idea comes from Hunt s use of pers to model and construct abstract interpretations for strictness properties in higher order functional programs [18, 17], and in particular its use to model dependencies in bindingtime analysis [19] Related ideas already occur in the denotational formulation of live variable analysis [34] 2.1. Binding time Analysis as Dependency Analysis Given a description of the parameters in a program that will be known at ....
....high)list. Constructing equivalence relations which represent such properties is straightforward see reference [19] for examples (which are adapted hosc.tex; 2 10 2000; 19:28; p. 8 A Per Model of Secure Information Flow in Sequential Programs 9 directly from Launchbury s work) and reference [17] for a more general treatment of finite lattices of binding times for recursive types. To represent security properties of higher order functions we use a less restricted class of relations than the equivalence relations. A partial equivalence relation (per) on a set D is a binary relation on D ....
[Article contains additional citation context not shown here]
Hunt, L. S.: 1991, `Abstract Interpretation of Functional Languages: From Theory to Practice'. Ph.D. thesis, Department of Computing, Imperial College of Science, Technology and Medicine.
.... two roles of a projection, that of propagating demand, and that of equating distinct values, are distinguished: the former corresponding directly with the lower sets which arise in BHA strictness analysis (Burn, Hankin and Abramsky, 1986) and the latter with the equivalence classes of Hunt s PERs (Hunt, 1991). Furthermore, the link between projection analysis and unboxed types (Peyton Jones and Launchbury, 1991) becomes clearer, though the full implications remain to be studied. Projection analysis has progressed significantly since the early days, yet this paper is fairly complete in its coverage of ....
.... of lifting caused confusion: should (non lifted) BHA be compared with the lifted or the non lifted version of projection analysis More recently still, Hunt developed analyses based on partial equivalence relations (PERs) The analysis was applied both to strictness and to binding time analysis (Hunt, 1991; Hunt and Sands, 1991) At the base types, the PERs used by Hunt corresponded exactly to the non lifted projections, except for an anomolous one introduced especially to capture strictness. We shall discuss this more in Section 6.2. The question then is, can we do better Can projection based ....
[Article contains additional citation context not shown here]
S. Hunt, Abstract Interpretation of Functional Languages: From Theory to Practice, Ph.D. thesis, Imperial College, 1991.
....in Fig. 6 and Fig. 7. We report here on experimental results. We use as a testbed two versions of a function concatenating lists of lists, the second one being defined in terms of continuations. These examples were provided by S. Hunt to illustrate the limitations of the frontiers optimisation [20, 21]. foldr g nil b = b foldr g cons(x;xs) b = g x (foldr g xs b) append nil l = l append cons(x; xs) l = cons(x; append xs l) cat l = foldr append l nil Cfoldr g nil b C = C b Cfoldr g cons(x;xs) b C = Cfoldr g xs b (y:g x y C) Cappend nil l C = C l Cappend cons(x; xs) l C = Cappend xs l ....
L. S. Hunt, Abstract Interpretation of Functional Languages: From Theory to Practice, PhD thesis, Imperial College, 1991.
....Information Flow In this section we introduce the way that partial equivalence relations (pers) can be used to model dependencies in programs. The basic idea comes from Hunts use of pers to model and construct abstract interpretations for strictness properties in higher order functional programs [15, 14], and in particular its use to model dependencies 3 in binding time analysis [16] Related ideas already occur in the denotational formulation of livevariable analysis [27] 2.1 Binding Time Analysis as Dependency Analysis Given a description of the parameters in a program that will be known at ....
....like to express the fact that although the whole list cannot be considered low , it can be considered as a (low Thetahigh )list. Constructing equivalence relations which represent such properties is straightforward see [16] for examples (which are adapted directly from Launchbury s work) and [14] for a more general treatment of finite lattices of binding times for recursive types. To represent security properties of higher order functions we use a less restricted class of relations than the equivalence relations. A partial equivalence relation (per) on a set D is a binary relation on D ....
[Article contains additional citation context not shown here]
Hunt, L. S. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, 1991.
....in the higher order framework. We express no preference between these routes; the aim was to understand better PER based properties. Moreover we do not discuss implementation complexity. For many years there were two forms of strictness property, the ideal based form and the projection based form [8, 2, 12, 6, 5, 4]. Cousot and Cousot [3] consider a Galois connection view of strictness properties. Given domains D and E and a continuous function f : D # E (the denotational semantics of a program function) these properties can be summarised as follows. Let I range over the ideals of D (non empty ....
....those of the form W ideal I,J (f) # f(I) # J. Similarly, let # range over projections on D (continuous, idempotent functions such that #(x) # x) and # over those on E. The projection based strictness properties are those of the form W proj #,# (f) # # # f = # # f # #. Hunt [6] observed that PER based properties generalise both the above forms. Actually Hunt only considered strict and inductive PER properties which su#ce for his generalisation but we relax this so as to be able to encompass as many comportment properties as possible. A PER P on D is a relation on D ....
[Article contains additional citation context not shown here]
Sebastian Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Imperial College, London, 1991.
....and 2. there is no provision for limiting the size of the code produced for recursive values, which might be infinite. The solution for solving the first point is to rely on a program analysis to determine this information. Many have been proposed in the literature: Myc81, BHA86, WH87, Wad87, Hun91, Jen92, LM91] for example. It is important to note that the theory we have presented is not committed to one particular kind of analysis. The second point can be tackled in a number of ways, some of which give better information than others. Let us mention some of these in the light of the ....
L.S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London, 1991.
....no information. The v ordering also makes sense under this intuition. Semantically, these annotations represent projections (x4) Some other possible lattices are 2 = Str v Id for simple strictness analysis and Bot v Id (respectively representing static and dynamic) for binding time analysis [Hun91, HS91]. Another system with application for sharing analysis has been variously presented by (at least) Hughes [Hug90] Bierman [Bie92] Baker Finch [BF93] and Sestoft [Ses91] and is based on distinguishing 0, 1 or Many uses . However, given its essentially operational nature it does not seem fea ....
S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Imperial College, 1991.
....so it works for any first order domain expression at first order instances. Index set P is replaced by P = f fv 1 7 a 1 : vm 7 amg j a 1 2 M (A 1 ) am 2 M (Am ) g where M (A) is the set of meet irreducible points in A. When A is first order, M (A) is easily computed: see [Hun91] chapter 8. Importantly, M (A) is typically a much smaller set than zapTop(A) so the amount of work is drastically cut. Proof Let F be a first order domain expression, and A be a finite first order lattice. Let aefv 7 eg denote that ae binds v to e, regardless of any other bindings (warning: ....
Sebastian Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Imperial College, University of London, 1991.
....be represented because they are equivalent to total equivalence relations; and a Scott closed set X can be represented by the per: f(x; y)jx 2 X; y 2 Xg [Hun91, Section 4. 4] Hunt has defined an abstract interpretation framework where the properties represented by abstract domain points are pers [Hun91]. The essential difference between this framework and that presented in [Bur91c] is that the abstract domain points represent pers rather than Scott closed sets. It is not yet clear whether or not an analysis where properties are pers can replace one where the properties are Scott closed sets or ....
L.S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London, 1991.
....to (i 1) ffl the translation of E 2 is given 0 for its first argument; and ffl the test in the rule is clearly not effective. However, many program analyses have been presented in the literature which can determine safe approximations to the information (see [Myc81, BHA86, WH87, Wad87, Hun91, Jen92a, LM91] for example) The second translation rule for application is used when there is to be no change of evaluation order. Note that the expression E 2 is compiled with evaluation context f S oe g because we do not know if any evaluation will be done to the expression, but if it is, then ....
L.S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London, 1991.
....Extensions 7.1 Different Models for the Logic One of the limitations of the development so far is our use of Scott closed sets to model properties. It is well known that some properties, head strictness and constancy for example, cannot be represented using a finite number of Scott closed sets ([9, 6]) because they are relational properties. Hunt has suggested using complete pers (complete partial equivalence relations) as models of properties [6] This suggestion has been discussed at length in [5] For our current purposes it is sufficient to note that most of the development of this paper ....
....is well known that some properties, head strictness and constancy for example, cannot be represented using a finite number of Scott closed sets ( 9, 6] because they are relational properties. Hunt has suggested using complete pers (complete partial equivalence relations) as models of properties [6]. This suggestion has been discussed at length in [5] For our current purposes it is sufficient to note that most of the development of this paper can be repeated using complete pers to model properties in the following way, where CPER D is the set of complete pers on D: Let ; 1 ; 2 2 L(oe) ....
L.S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London, 1991.
....errors as a non value which can therefore legally be tested. 7 Projection and PER based strictness Although the above ideal based strictness is probably the best known, Wadler and Hughes [14] introduce another form of strictness called projection based strictness. Recently Hunt s thesis [9] showed how both forms could be embedded in a framework based on partial equivalence relations (PERs) We give a brief treatment of this work. Suppose D is a domain. A projection, ff, on D is a mapping in D D which is idempotent (ff ffi ff = ff) and less that identity (ff v 1 D D ) Given ....
Hunt, S. Abstract interpretation of functional languages: from theory to practice. PhD thesis, Department of Computing, Imperial College, London, 1991.
....function is expensive. In contrast to dynamic granularity estimation, static time complexity analyses cannot accurately predict an expression s cost when dynamic data sizes are not known at compile time. Dynamic granularity estimation s static analysis is a form of abstract interpretation [5, 1, 18]. It differs from conventional abstract interpretation in two respects: it assumes the availability of dynamic information, and it does not abstract to finite domains instead, the threshold that governs thread creation is used to terminate dge s analysis. Wadler addresses the difficulties of ....
L. S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London, 1991.
....structure (see below) If we use one of these standard structures, Burn, 4] has shown that if the above implication holds for the type constants then it also holds for the derived types; this gives a local test to determine if a structure is a model. 2. 1 First example : complete PERs Hunt [9] has proposed that strictness properties should be represented by complete (i.e. strict and inductive) partial equivalence relations (CPERs) The motivation for this suggestion is that certain properties which cannot be represented by Scott closed sets can be represented. Hunt and Sands have used ....
....in section 4. We report here on experimental results for the stricness analysis of lists described above. This particular instantiation is especially relevant for assessing the efficiency of the analyser because it has proved to be a major challenge in the functional programming community [9]. We use as a testbed two versions of a function concatenating lists K x y = x isnil nil = True isnil cons(x; xs) False length nil = 0 length cons(x;xs) 1 (length xs) sum nil = 0 sum cons(x;xs) x (length xs) test1 l = Ccat l K test2 l = Ccat l isnil test3 l = Ccat l length test4 l ....
[Article contains additional citation context not shown here]
L. S. Hunt, Abstract Interpretation of Functional Languages: From Theory to Practice, PhD thesis, Imperial College, 1991.
....in the higher order framework. We express no preference between these routes; the aim was to understand better PER based properties. Moreover we do not discuss implementation complexity. For many years there were two forms of strictness property, the ideal based form and the projection based form [8, 2, 12, 6, 5, 4]. Cousot and Cousot [3] consider a Galois connection view of strictness properties. Given domains D and E and a continuous function f : D E (the denotational semantics of a program function) these properties can be summarised as follows. Let I range over the ideals of D (non empty Scott closed ....
....those of the form W ideal I;J (f) f(I) J: Similarly, let ff range over projections on D (continuous, idempotent functions such that ff(x) v x) and fi over those on E. The projection based strictness properties are those of the form W proj ff;fi (f) fi ffi f = fi ffi f ffi ff: Hunt [6] observed that PER based properties generalise both the above forms. Actually Hunt only considered strict and inductive PER properties which suffice for his generalisation but we relax this so as to be able to encompass as many comportment properties as possible. A PER P on D is a relation on D ....
[Article contains additional citation context not shown here]
Sebastian Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Imperial College, London, 1991.
....and so E 1 has to be applied to (i 1) ffl the translation of E 2 is given 0 for its second argument; and ffl the test in the rule is clearly not effective. However, many program analyses have been presented in the literature which can determine safe approximations to the information (see [Myc81, BHA86, WH87, Wad87, Hun91, Jen92a, LM91] for example) The second translation rule for application is used when there is to be no change of evaluation order. Note that the expression E 2 is compiled with evaluation context f S oe g because we do not know if any evaluation will be done to the expression, but if it is, then the ....
L.S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London, 1991.
No context found.
Sebastian Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Imperial College, University of London, 1991.
No context found.
S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Imperial College, Univ. of London, 1991.
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