Incremental Computation: A Semantics-Based Systematic Transformational Approach
No Access Until
Permanent Link(s)
Collections
Other Titles
Author(s)
Abstract
Incremental computation takes advantage of repeated computations on
inputs that differ slightly from one another, computing each new output incrementally by making use of the previous output rather than from scratch. This thesis concerns the theory, design, and implementation of a general approach to incremental computation. It also elucidates the essence of improving the efficiency of computations by relating it to incremental computation. Our general approach allows incremental computation to be obtained systematically from non-incremental computation and program efficiency to be systematically improved. This research focuses on identifying the fundamentals of efficient incremental computation out of domain-specific properties and language-specific features, devising a general framework that accommodates these fundamentals, and developing a systematic approach based on the framework that exploits program semantics. Three fundamental aspects of incremental computation are identified: avoiding repeated identical computations, caching useful intermediate results, and discovering appropriate auxiliary information. Given a program