MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Efficient Computation via Incremental Computation

Download:
Download as a PDF | Download as a PS
by Yanhong A. Liu
ftp://ftp.cs.indiana.edu/pub/liu/ECvIC-TR99.ps
Add To MetaCart

Abstract:

Incremental computation takes advantage of repeated computations on inputs that differ slightly from one another, computing each output efficiently by exploiting the previous output. This paper gives an overview of a general and systematic approach to incrementalization: given a program f and an operation \Phi, the approach yields an incremental program that computes f(x \Phi y) efficiently by using the result of f(x), the intermediate results of f(x), and auxiliary information of f(x) that can be inexpensively maintained. Since every non-trivial computation proceeds by iteration or recursion, the approach can be used for achieving efficient computation by computing each iteration incrementally using an appropriate incremental program. This approach has applications in interactive systems, optimizing compilers, transformational programming, and many other areas, where problems were previously solved mostly in ad hoc and often error-prone ways. The design and implementation of a prototype system, CACHET,

Citations

5825 Introduction to Algorithms – Cormen, Leiserson, et al. - 2001
2004 The Design and Analysis of Computer Algorithms – Aho, Hopcroft, et al. - 1974
1153 A Discipline of Programming – Dijkstra - 1976
529 A transformation system for developing recursive programs – Burstall, Darlington - 1977
504 Data structures and network algorithms – Tarjan - 1983
425 The Science of Programming – Gries - 1981
352 The omega test: a fast and practical integer programming algorithm for dependence analysis – Pugh - 1991
260 Three partition refinement algorithms – Paige, Tarjan - 1987
215 A data structure for dynamic trees – Sleator, Tarjan - 1983
211 KIDS: A semiautomatic program development system – Smith - 1990
188 The Synthesizer Generator: A System for Constructing Language-Based Editors – Reps, Teitelbaum - 1988
137 Data structures for on-line updating of minimum spanning trees, with applications – Frederickson - 1985
125 CENTAUR: The System – Borras, Clement, et al. - 1988
122 An incremental constraint solver – Freeman-Benson, Maloney, et al. - 1990
111 Sparsification - a technique for speeding up dynamic graph algorithms – Eppstein, Galil, et al. - 1992
105 A deductive approach to program synthesis – Manna, Waldinger - 1980
82 The promotion and accumulation strategies in transformational programming – Bird - 1984
79 An incremental algorithm for a generalization of the shortestpath problem. Jounal of Algorithms – Ramalingam, Reps - 1996
78 Incremental Context-Dependent Analysis for Language Based Editors – Reps, Teitelbaum, et al. - 1983
74 Finite differencing of computable expressions – Paige, Koenig - 1982
73 Reduction of operator strength – ALLEN, COCKE, et al. - 1981
72 memo’ functions and machine learning – Michie - 1968
68 Tabulation Techniques for Recursive Programs – Bird - 1980
63 Automatic complexity analysis – Rosendahl
60 Incremental evaluation of computational circuits – Alpern, Hoover, et al. - 1990
59 Mechanical program analysis – Wegbreit - 1975
57 Lazy memo-functions – Hughes - 1985
54 Maintenance of a minimum spanning forest in a dynamic planar graph – Eppstein, Italiano, et al. - 1990
54 The Craft of Programming – Reynolds - 1981
52 Incremental computation via function caching – Pugh, Teitelbaum - 1989
50 Analysis and caching of dependencies – Abadi, Lampson, et al. - 1996
44 Incremental data flow analysis algorithms – Ryder, Paull - 1988
42 Formal program construction by transformations—computer-aided, intuition guided programming – Bauer, Möller, et al. - 1989
40 The Analysis of Algorithms – Purdom, Brown - 1985
39 Programming languages and their compilers: Preliminary notes – Cocke, Schwartz - 1970
39 Automating derivation of incremental programs – Zhang, Liu - 1998
32 Automatic accurate time-bound analysis for high-level languages – Liu, Gomez - 1998
32 ªImproved Data Structures for Fully Dynamic Biconnectivity,º – Rauch - 1994
31 Static caching for incremental computation – Liu, Stoller, et al. - 1998
29 Efficient Synthesis of Gaussian Filters by Cascaded Uniform Filters – Wells - 1986
28 Non-Restoring Integer Square Root: A Case Study – O’Leary, Leeser, et al. - 1995
27 Eliminating Redundant Recursive Calls – Cohen - 1983
27 Programming with invariants – Paige - 1986
27 INC: A language for incremental computations – Yellin, Strom - 1991
26 Transformational design and implementation of a new efficient solution to the ready simulation problem – Bloom, Paige - 1995
26 Building friendly parsers – Jalili, Gallier - 1982
26 Lazy strength reduction – Knoop, Ruthing, et al. - 1993
24 A note on a standard strategy for developing loop invariants and loops – Gries - 1982
24 Discovering auxiliary information for incremental computation – Liu, Stoller, et al. - 1996
24 A categorized bibliography on incremental computation – Ramalingam, Reps - 1993