A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Program Improvement by Source-to-Source Transformation
Journal of the ACM (JACM)
Symbolic execution and program testing
Communications of the ACM
The evolution of programs: a system for automatic program modification
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Goal-directed program transformation
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Is "sometime" sometimes better than "always"? Intermittent assertions in proving program correctness
Is "sometime" sometimes better than "always"? Intermittent assertions in proving program correctness
Grammar-Based Definition of Metaprogramming Systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
This is an exploration of a constructive strategy for program improvement and synthesis. A first part recalls unfolding-folding style of manipulations initiated by BURSTALL and DARLINGTON with an application to proofs of equivalence of certain function compositions. Second part, in a more abstract way, presents three basic “forms” and their associated “transforms” constructed with this strategy in a hierarchical order ; they may serve as goals of transformations. Last part associates self-redefinition to mixed strategies for program composition: symbolic macro replacement, logarithmic speed up, resolution of formal recurrences. Each situation, where technique and method apply, is depicted on examples and open problems are evoked.