Title :
CACHET: an interactive, incremental-attribution-based program transformation system for deriving incremental programs
Author_Institution :
Dept. of Comput. Sci., Cornell Univ., Ithaca, NY, USA
Abstract :
The paper describes the design and implementation of an interactive, incremental-attribution-based program transformation system, CACHET, that derives incremental programs from non-incremental programs written in a functional language. CACHET is designed as a programming environment and implemented using a language-based editor generator, the Synthesizer Generator, with extensions that support complex transformations. Transformations directly manipulate the program tree and take into consideration information obtained from program analyses. Program analyses are performed via attribute evaluation, which is done incrementally as transformations change the program tree. The overall approach also explores a general framework for describing dynamic program semantics using annotations, which allows interleaving transformations with external input, such as user input. Designing CACHET as a programming environment also facilitates the integration of program derivation and validation with interactive editing, compiling, debugging, and execution
Keywords :
attribute grammars; functional programming; incremental compilers; interactive programming; knowledge based systems; program debugging; program verification; programming environments; software tools; system monitoring; CACHET programming environment; Synthesizer Generator; annotations; attribute evaluation; compiling; complex transformations; debugging; dynamic program semantics; execution; external input; functional language; incremental program derivation; interactive editing; interactive incremental-attribution-based program transformation system; interleaving transformations; language-based editor generator; nonincremental programs; program analyses; program derivation; program tree; program validation; user input; Computer science; Contracts; Databases; Information analysis; Interleaved codes; Performance analysis; Performance evaluation; Programming environments; Synthesizers; Usability;
Conference_Titel :
Knowledge-Based Software Engineering Conference, 1995 .Proceedings., 10th
Conference_Location :
Boston, MA
Print_ISBN :
0-8186-7204-8
DOI :
10.1109/KBSE.1995.490115