Abstract
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.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
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.
HOFFMAN C.M., O'DONNELL M.J., Pattern matching in trees, JACM Vol. 29 no1, January 1982.
HUGUES J.W., A formalisation and explication of the M. JACKSON method of program design, Software Practice & Experience, Vol 9, 1979.
JACKSON M., Principle of programming design, Academic Press, Londres, 1975.
KUO-CHONG TAI, The tree-to-tree correction problem, JACM, Vol 26 no3, July 1979.
SIMON H.U., Pattern matching in trees and sets, Acta Informatica, Vol 20 no20, 1983.
WARNIER J.D., Précis de logique informatique, Les Editions d'Organisation, Paris, 1973.
WILSON A.D., Programs to process trees, representing program structures and data structure, Software Practice & Experience, Vol 14, September 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Enselme, D., Benay, G., Villemin, FY. (1987). Automatic program synthesis from data structures. In: Nichols, H., Simpson, D. (eds) ESEC '87. ESEC 1987. Lecture Notes in Computer Science, vol 289. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022126
Download citation
DOI: https://doi.org/10.1007/BFb0022126
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18712-7
Online ISBN: 978-3-540-48117-1
eBook Packages: Springer Book Archive