24 citations found. Retrieving documents...
Sands, D. Calculi for Time Analysis of Functional Programs. Ph.D. Thesis, University of London, September 1990.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Quantitative Observables and Averages in Probabilistic.. - Di Pierro, Wiklicky (1999)   (Correct)

.... transition) although new in the CCP setting, was already explored within the realm of Process Algebra (see e.g. 17] and Stochastic Process Algebra (see e.g. 4, 33, 3, 38, 9] and references therein) Within the area of (lazy) functional programs, the idea of a counting analysis as developed in [26, 35] also seems to bear some similarities to the work presented in this paper. We also showed how average properties can be naturally expressed by means of our augmented operational semantics. This provides a base for the speci cation and analysis of probabilistic properties such as the ones ....

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Imperial College, University of London, London, September 1990.


Sharing of Computations - Amtoft (1993)   (1 citation)  (Correct)

....employed in our model is to be able to capture neededness in a syntactic way (i.e. without looking at some future derivations) in some sense generalizing the concept of leftmost outermost redex to combinators with pattern matching. An interesting approach to reasoning about cost is given in [San90, chap. 4] where bisimulation techniques (well known from e.g. Mil89] are used for formalizing that two expressions compute the same answer using the same amount of time to be more precise we say that R is a cost simulation i#, whenever e 1 R e 2 , the following holds: if e 1 using k 1 ....

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Imperial College, London, September 1990.


Tuning Task Granularity and Data Locality of Data Parallel .. - Loidl, Trinder, Butz (2001)   (1 citation)  (Correct)

....programs. Compared to the well developed cost models in the skeleton community [24,25] a cost model for GpH is complicated by its non strict semantics, which makes it harder to predict computation costs. Consequently, only few cost models have been developed for non strict languages in general [26,27]. The main problem is to capture the notion of demand on a program expression, e.g. by using projections [28] and to use this information in assessing the evaluation degree of a program expression in a particular context. In the longer term we plan to develop a cost model based on our operational ....

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Department of Computing, Imperial College, University of London, U.K., September 1990.


Automatic Time-Bound Analysis for a Higher-Order Language - Gomez, Liu (2002)   (1 citation)  (Correct)

....Analysis of program running time is important for reactive systems, interactive environments, compiler optimizations, performance evaluation, and many other computer applications. It has been extensively studied in many fields of computer science: algorithms [22, 13, 14, 41] programming languages [39, 23, 32, 36, 35], and systems [37, 30, 34, 33] Being able to predict accurate time bounds automatically and efficiently is particularly important for many applications, such as reactive systems. It is also particularly desirable to be able to do so for high level languages [37, 30] Since Shaw proposed timing ....

.... parameters based on the semantics of the constructs [39, 6, 37] This transformation is straightforward for all constructs except lambda abstraction, i.e. firstclass function, where additional transformations are needed to build lambda expressions for computing running times, as proposed by Sands [36, 35]. We call parameters that describe the running times of program constructs primitive parameters. To calculate actual time bounds based on the time function, three difficult problems must be solved. First, since the goal is to calculate running time without being given particular inputs, the ....

[Article contains additional citation context not shown here]

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Department of Computing, Imperial College, London, U.K., Sept. 1990.


Topics in Semantics-based Program Manipulation - Grobauer (2001)   (2 citations)  (Correct)

....out a fair amount of computation that only depends on the array size. Hence, a considerable speedup can be achieved by specializing the FFT with respect to the array size. Similar situations where partial evaluation is worthwhile have been found for example in applications from numerical computing [8, 9, 24], ray tracing [2] and media processing [21] 1.1.3 Contributions In the following, we list the contributions of this dissertation to the field of partial evaluation. The second Futamura projection for type directed partial evaluation Whether a given partial evaluator is self applicable is, as ....

....Amsterdam, The Netherlands, July 1991. IEEE Computer Society Press. 8] Andrew A. Berlin. Partial evaluation applied to numerical computation. In Mitchell Wand, editor, Proceedings of the 1990 ACM Conference on Lisp and Functional Programming, pages 139 150, Nice, France, June 1990. ACM Press. [9] Andrew A. Berlin and Rajeev J. Surati. Partial evaluation for scientific computing: The Supercomputer Toolkit experience. In Peter Sestoft and Harald Sndergaard, editors, Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Semantics Based Program Manipulation, 16 BIBLIOGRAPHY 17 ....

[Article contains additional citation context not shown here]

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Department of Computing, Imperial College, University of London, September 1990.


Cost Recurrences for DML Programs - Grobauer (2001)   (2 citations)  (Correct)

....recursion and cannot easily be decoupled. Pointing the system to a given measure thus seems 29 di#cult. In contrast, our method separates concerns: The user can specify an appropriate measure using dependent types, but no attempts are made to solve the extracted cost recurrence. Sands [9] treats cost analysis for higher order call by name languages: Cost bounds are extracted by program transformation and reasoning over programs; his method can be seen as an extension of Le Metayer s overall approach. Sands focuses on the complications for cost analysis caused by higher order ....

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Department of Computing, Imperial College, University of London, September 1990.


Operational Theories of Improvement in Functional Languages.. - Sands (1991)   (4 citations)  (Correct)

....which contains every ground instance, and by showing that this relation is an improvement simulation (definition 2.6) 4 Conclusions 4. 1 Related Work The class improvement preorders developed here generalises cost equivalence and program refinement developed in the author s previous work [San90a, San91] (the above cost equivalence can be generated as the derived the equivalence relations ) The motivation for the development of cost equivalence was to provide substitutive equivalences with respect to a simple calculus for time analysis for the relationship to other work on time analysis of ....

.... be generated as the derived the equivalence relations ) The motivation for the development of cost equivalence was to provide substitutive equivalences with respect to a simple calculus for time analysis for the relationship to other work on time analysis of programs in lazy languages see [San90a, San91]. From the development of cost equivalence a program refinement relation arose naturally. This is a simple instance of the improvement simulation in a language which can easily be shown to be improvement extensional. In [Tal85] a class preorderings called comparison relations are considered for a ....

[Article contains additional citation context not shown here]

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Imperial College, September 1990.


Quantitative Observables, Averages and Constraint Programming - Di Pierro, Wiklicky (1999)   (Correct)

.... the transition) although new in the CCP setting, was already explored within the realm of Process Algebra (see e.g. 1] and Stochastic Process Algebra (see e.g. 3, 2, 23, 7] and references therein) Within the area of (lazy) functional programs, the idea of a counting analysis as developed in [16, 20] also seems to bear some similarities to the work presented in this paper. We also showed how average properties can be naturally expressed by means of our augmented operational semantics, thus providing a base for the speci cation and analysis of probabilistic properties such as the ones called ....

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Imperial College, University of London, London, September 1990.


Automatic Time-Bound Analysis for a Higher-Order Language - Gómez, Liu (1999)   (Correct)

....Analysis of program running time is important for reactive systems, interactive environments, compiler optimizations, performance evaluation, and many other computer applications. It has been extensively studied in many fields of computer science: algorithms [21, 12, 13, 40] programming languages [38, 22, 31, 35, 34], and systems [36, 29, 33, 32] Being able to predict accurate time bounds automatically and efficiently is particularly important for many applications, such as reactive systems. It is also particularly desirable to be able to do so for high level languages [36, 29] Since Shaw proposed timing ....

.... based on the semantics of the constructs [38, 5, 36] This transformation is straightforward for all constructs except lambda abstraction, i.e. first class function, where additional transformations are needed to build lambda expressions for computing running times, as proposed by Sands [35, 34]. We call parameters that describe the running times of program constructs primitive parameters. To calculate actual time bounds based on the time function, three difficult problems must be solved. First, since the goal is to calculate running time without being given particular inputs, the ....

[Article contains additional citation context not shown here]

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Department of Computing, Imperial College, London, U.K., Sept. 1990.


Advice from Bumble-Bees on Scheduling Parallel Functional Tasks - Parrott, Clack (1994)   (Correct)

....of Computer Science University College London. e mail: fdparrott,clackg cs.ucl.ac. uk July 14, 1994 Abstract It has been suggested that time complexity information can be derived at compile time and used to guide task scheduling decisions for functional programs executing on parallel processors [San90, Mah90]. However, in [Par93] we highlight several problems with this idea. The most serious problem is that estimates of mean time complexity can be misleading predictors of the absolute time required to evaluate tasks. This is a problem because the success or failure of scheduling decisions is heavily ....

....influenced by absolute timings. The problem is particularly acute when, at run time, the program receives input about which the compiler has no (or at best, limited) knowledge. Accurate time complexity information is extremely difficult to calculate for higher order, lazy functional programs [San90]. An alternative solution proposed in [Mah90] is that time complexity information can be estimated by recording sample execution profiles of the program under analysis. We adopt the latter approach and show that, if information is obtained by profiling programs, we can predict relationships that ....

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Imperial College London, Department of Computing, September 1990.


Operational Semantics Models of Complexity (thesis proposal) - Greiner (1994)   (Correct)

....the expression being evaluated (usually with different contexts) Recurrence equations can be formed from these two cases, with the former as base cases. Side conditions such as i 0 arise from conditional branches. 2 With currying, this does not restrict the expressiveness of the language [26]. 3 This is possible for at least call by value, call by name, and call by need languages without side effects or control abstractions. Data Types Data Abstr. Grammar Prof.Sem. Program Recur. Anal. cost eq ns. cost recurs. cost recurs. Main Analysis Figure 1: Structure of an automatic ....

....complexity analysis. Given a program, such a system attempts to automatically derive complexity bounds for this program. This analysis is undecidable, by the halting problem. Systems have been developed primarily for first order serial call by value functional languages with recursive datatypes [17, 18, 26, 34, 35, 36], although one has used parallelism with arrays [37, 38, 39] During this analysis, the program is translated into one which computes the cost of executing the original program. Later systems defined these translations via cost models based on operational semantics, although earlier systems simply ....

[Article contains additional citation context not shown here]

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, University of London, Imperial College, September 1990.


The Bird-Meertens Formalism as a Parallel Model - Skillicorn (1993)   (35 citations)  (Correct)

....better for the programmer. It comes with a methodology for software development (equational transformation) Nothing need be said at the program level about partitioning, communication or synchronisation. Cost measures (somewhat coarse ones in terms of function call counts) have been developed [19, 25, 26], and linear logic could be used to develop better ones. This abstraction at the programmer level causes difficulties for the implementer. Partitioning, communication, and synchronisation must be inferred, at compile time or dynamically during execution. This has been done with some success for ....

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Imperial College, September 1990.


A Provably Time-Efficient Parallel Implementation of Full.. - Greiner, Blelloch (1996)   (1 citation)  (Correct)

.... fetchadd (p) kv e P i d i=0 (a i a i 1 ) p T fetchadd (p) 2kv e ( P i d i=0 a i =p) dT fetchadd (p) 2kv e (w=p dT fetchadd (p) 2 5 Related Work Several researchers have used cost augmented semantics for automatic time analysis or definitional purposes, e.g. [34, 35, 38, 39], the most similar being that of Roe for a lenient language [32, 33] The following are the primary differences of Roe s model as compared to ours: ffl Looking up a variable does not wait for the value as in VAR. He waits for the value only if it is needed, e.g. to apply it. ffl Because of the ....

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, University of London, Imperial College, September 1990.


A Parallel Complexity Model for Functional Languages - Guy Blelloch, John Greiner (1994)   (3 citations)  (Correct)

....needs to capture some aspects of the parallel implementation of the language. To address these issues this paper makes the following contributions: 1. We introduce a parallel model based on the pure calculus with applicative order evaluation and specified in terms of a profiling semantics [33, 34] Complexity is given in terms of the total work executed by a program along with the depth (steps) of the computation, assuming that the two expressions of an application e 1 e 2 are evaluated in parallel. We show that the model is basically equivalent within constant factors to the functional ....

....two measures: the work complexity is the total number of reductions to evaluate the expression, and the step complexity is the time for evaluation assuming that e 1 and e 2 are always evaluated in parallel. We formalize these complexities in terms of a profiling semantics for the language [33, 34] In such a semantics, evaluating an expression always returns cost measures as well as the resulting value. Our profiling semantics is an extension of the standard environment based operational semantics of the applicative order calculus. The judgment E e Gamma v; s; w reads as In the ....

[Article contains additional citation context not shown here]

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, University of London, Imperial College, September 1990.


A Provable Time and Space Efficient Implementation of NESL - Blelloch, Greiner (1996)   (12 citations)  (Correct)

....about the performance of the implementation. In previous work we have studied provably time efficient parallel implementations of the calculus using both call by value [3] and speculative parallelism [18] These results accounted for work and depth of a computation using a profiling semantics [29, 30] and then related work and depth to running time on various machine models. This paper applies these ideas to the language Nesl and extends the work in two ways. First, it includes sequences (arrays) as a primitive data type and accounts for them in both the cost semantics and the implementation. ....

....g, respectively. Proof: Lemma 2 relates the DAG g to the P CEK(q) computation, where q = p log p. There are w=q d steps, and each step takes O(log p) time. 2 7 Related Work and Discussion Several researchers have used cost augmented semantics for automatic time analysis or definitional purposes [29, 30, 31, 27, 33, 14]. Hudak and Anderson [21] used partially ordered multisets (pomsets) to model the dependences in various implementations of the calculus. Because of the relationship between partially ordered sets and DAGs, these are quite similar in concept to our DAGS. For our bounds, however, we also need to ....

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, University of London, Imperial College, September 1990.


Parallelism in Sequential Functional Languages - Blelloch, Greiner (1995)   (8 citations)  (Correct)

....some aspects of the parallel implementation of the language. To address these issues this paper makes the following contributions: 1. We introduce a parallel model based on the pure calculus using applicative order (call by value) evaluation and specified in terms of a profiling semantics [38, 39]. This semantics defines two measures of complexity. The work is the total amount of computation executed by a program. The computational depth (or simply depth) is the depth of the computation tree, assuming that the two subexpressions of an application e1 e2 are evaluated in parallel. The ....

....of applying the result of e1 to the result of e2 . We keep track of the work in addition to the depth for the purpose of proving useful simulation bounds on parallel machines that have a fixed number of processors. We formalize the work and depth complexities in terms of a profiling semantics [38, 39], which extends the standard operational semantics with cost measures. The judgment E e Gamma v; w; d reads as In the environment E, the expression e evaluates to value v in work w and depth d. This relation is defined by the rules in Figure 2. When evaluating a program, we start with ....

[Article contains additional citation context not shown here]

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, University of London, Imperial College, September 1990.


A Naïve Time Analysis and its Theory of Cost Equivalence - Sands (1995)   Self-citation (Sands)   (Correct)

No context found.

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Department of Computing, Imperial College, University of London, September 1990.


Binding Time Analysis: A New PERspective - Hunt, Sands (1991)   (25 citations)  Self-citation (Sands)   (Correct)

....liveness analyses have previously been used. Examples include identifying conditions for certain program transformation (e.g. NN89] Chi90] in compile time garbage collection (e.g. necessity analysis in [JM89] and in the compositional time analysis of lazy higher order functions [San90]. 9 Conclusions We have presented a local binding time analysis which allows us to describe which parts of data structures are static, and also allows us to analyse higher order functions, thus overcoming a major limitation of [Lau89] The analysis is presented as an abstract interpretation, ....

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Imperial College, September 1990.


Binding Time Analysis: A New PERspective - Hunt, Sands (1991)   (25 citations)  Self-citation (Sands)   (Correct)

....liveness analyses have previously been used. Examples include identifying conditions for certain program transformation (e.g. NN89] Chi90] in compile time garbage collection (e.g. necessity analysis in [JM89] and in the compositional time analysis of lazy higher order functions [San90] 9 Conclusions We have presented a local binding time analysis which allows us to describe which parts of data structures are static, and also allows us to analyse higher order functions, thus overcoming a major limitation of [Lau89] The analysis is presented as an abstract interpretation, ....

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Imperial College, September 1990.


A Naïve Time Analysis and its Theory of Cost Equivalence - Sands (1995)   Self-citation (Sands)   (Correct)

....time analysis with respect to call by need evaluation, via the definition of a family of evaluators indexed by representations of strictness properties. To conclude, we consider related work in the area of intensional semantics. A preliminary version of this paper appeared as [39] and summarized [36][Ch. 4] In addition to the inclusion of proofs, further examples and additional technical results, Sections 7, 8, 9 and 10 are new, and contain a number of important extensions to the earlier work. 2 Time analysis: background A number of researchers have developed prototype (time) complexity ....

....for handling this problem were introduced in [34] where syntactic structures called cost closures were introduced to enable intensional properties to be carried by functions. Additional techniques for reasoning about higher order functions which complement this approach are described in [36]. A problem in reasoning about the efficiency of programs under lazy evaluation (i.e. call byname, or more usually, call by need, extended to data structures) is that the cost of computing the subexpression E is dependent entirely on the way in which the expression is used in the function fun. ....

[Article contains additional citation context not shown here]

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Department of Computing, Imperial College, University of London, September 1990.


A Naïve Time Analysis and its Theory of Cost Equivalence - Sands   Self-citation (Sands)   (Correct)

....analysis with respect to call by need evaluation, via the definition of a family of evaluators indexed by representations of strictness properties. To conclude, we consider related work in the area of intensional semantics. A preliminary version of this paper appeared as [San91b] and summarised [San90a] Ch. 4] In addition to the inclusion of proofs and additional technical results, Sections 7, 8, 9 and 10 are new, and contain a number of important extensions to the earlier work. 2 Time Analysis: Background A number of researchers have developed prototype (time) complexity analysis tools in ....

....for handling this problem were introduced in [San88] where syntactic structures called cost closures were introduced to enable intensional properties to be carried by functions. Additional techniques for reasoning about higher order functions which complement this approach are described in [San90a] A problem in reasoning about the efficiency of programs under lazy evaluation (i.e. call by name, or more usually, call by need, extended to data structures) is that the cost of computing the subexpression E is dependent entirely on the way in which the expression is used in the function fun. ....

[Article contains additional citation context not shown here]

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Imperial College, September 1990.


Static Dependent Costs for Estimating Execution Time - Brian Reistad David   (Correct)

No context found.

Sands, D. Calculi for Time Analysis of Functional Programs. Ph.D. Thesis, University of London, September 1990.


The Transformational Derivation of Parallel Programs using.. - Südholt   (Correct)

No context found.

D. Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, Department of Computing, Imperial College, University of London, September 1990.


A Security-Property Language for Self-Certified Code - Bernard (1999)   (Correct)

No context found.

David Sands. Calculi for Time Analysis of Functional Programs. PhD thesis, University of London, September 1990.

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