Automatic program synthesis from data structures
A system for the automatic synthesis of a program from the specification of its in and out data-structures, functional relations between elementary data and correspondences between structured data is presented. The structure of the program to synthetize results from a constrained unification of the data structures. The instructions which are added to the leaves of the program structure are mainly deduced from the functional relations between elementary data. The control structures (while-do, if-then) come implicitly from the program structure. This paper describes the behaviour of our system on simple problems (one in and one out file), but programs involving many files in entrance, and/or comprising "structure collisions", or "structure clashes" are under the scope of it.
Keywordsautomatic program synthesis data structures driven programming structured programs tree unification under constraints structures clashes heuristics
Synthese Automatique de Programme A Partir des Structures de Donnees
Unable to display preview. Download preview PDF.
- [ENSELME 85]ENSELME D., VEDA 2, un système de synthèse de programmes dirigée par les données, Thèse de 3ème cycle, Université PARIS VI, December 1985.Google Scholar
- [HOFFMAN 82]HOFFMAN C.M., O'DONNELL M.J., Pattern matching in trees, JACM Vol. 29 no1, January 1982.Google Scholar
- [HUGHES 79]HUGUES J.W., A formalisation and explication of the M. JACKSON method of program design, Software Practice & Experience, Vol 9, 1979.Google Scholar
- [JACKSON 75]JACKSON M., Principle of programming design, Academic Press, Londres, 1975.Google Scholar
- [KUO-CHUNG TAI 79]KUO-CHONG TAI, The tree-to-tree correction problem, JACM, Vol 26 no3, July 1979.Google Scholar
- [SIMON 83]SIMON H.U., Pattern matching in trees and sets, Acta Informatica, Vol 20 no20, 1983.Google Scholar
- [WARNIER 73]WARNIER J.D., Précis de logique informatique, Les Editions d'Organisation, Paris, 1973.Google Scholar
- [WILSON 84]WILSON A.D., Programs to process trees, representing program structures and data structure, Software Practice & Experience, Vol 14, September 1984.Google Scholar