Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. Artificial Intelligence Lab Publications
  4. AI Working Papers (1971 - 1995)
  5. Program Improvement by Automatic Redistribution of Intermediate Results

Program Improvement by Automatic Redistribution of Intermediate Results

Thumbnail Image
Download
Name

AI_WP_305.pdf

Description
Main article
Size

1.35 MB

Format

Adobe PDF

Checksum (MD5)

4f66ad0f54d9e31927dfc9269ae5b59d

Author(s)
Hall, Robert J.
Date Issued
May 1988
Publisher
MIT Artificial Intelligence Laboratory
Series/Report no.
MIT Artificial Intelligence Laboratory Working Papers, WP-305
Abstract
The problem of automatically improving the performance of computer programs has many facets. A common source of program inefficiency is the use of abstraction techniques in program design: general tools used in a specific context often do unnecessary or redundant work. Examples include needless copy operations, redundant subexpressions, multiple traversals of the same datastructure and maintenance of overly complex data invariants. I propose to focus on one broadly applicable way of improving a program's performance: redistributing intermediate results so that computation can be avoided. I hope to demonstrate that this is a basic principle of optimization from which many of the current approaches to optimization may be derived. I propose to implement a system that automatically finds and exploits opportunities for redistribution in a given program. In addition to the program source, the system will accept an explanation of correctness and purpose of the code. Beyond the specific task of program improvement, I anticipate that the research will contribute to our understanding of the design and explanatory structure of programs. Major results will include (1) definition and manipulation of representation of correctness and purpose of a program's implementation, and (2) definition, construction, and use of a representation of a program's dynamic behavior.
Description
This paper was originally a Ph.D. thesis proposal.
Persistent DSpace Link
http://hdl.handle.net/1721.1/41210
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.