Why and how program synthesis?

  • Yves Kodratoff
  • Marta Franova
  • Derek Partridge
Invited Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 397)


Among the several misunderstandings about Program Synthesis (PS), we particularly examine the one relative to Logic Programming alleged to have solve this problem. Even though theoretical reasons are well-known, we provide a detailed analysis of the practical reasons why a formal specification may be hard to program in PROLOG. All that contributes to the clarification of the exact role of PS in AI and in Software Engineering, and its possible application to software certification.


program synthesis from formal specifications inductive theorem proving certification cycle 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [agresti01]
    W. W. Agresti: New Paradigms for Software Development; IEEE Computer Society Press, North-Holland, Washington, DC.Google Scholar
  2. [amarel01]
    S. Amarel: On Representations of Problems of Reasoning about Actions; [webber01], 2–22.Google Scholar
  3. [arsac01]
    J. Arsac, Y. Kodratoff: Some Techniques for Recursion Removal from Recursive Functions; ACM Transactions on Programming Languages and Systems, Vol. 4, No. 2, April, 1982, 295–322.Google Scholar
  4. [azibi01]
    N. Azibi: TREQUASI: Un système pour la transformation automatique de programmes PROLOG récursifs en quasi-itératifs; Thesis, Univ. de Paris Sud, Centre d'Orsay, 1987.Google Scholar
  5. [bibel01]
    W. Bibel, K. M. Hoernig: LOPS — A System Based on a Strategical Approach to Program Synthesis; [biermann01], 1984, 69–91.Google Scholar
  6. [biermann01]
    A. Biermann, G. Guiho, Y. Kodratoff (ed): Automatic Program Construction Techniques; Macmillan Publishing Company, London, 1984.Google Scholar
  7. [biermann02]
    A. Biermann: Some Examples of Program Synthesis; [biermann01], 1984, 553–562.Google Scholar
  8. [biundo02]
    S. Biundo, Frantisek Zboray: Existence proofs by induction using methods of program synthesis; Interner Bericht 16/84, Universitat Karlsruhe, 1984.Google Scholar
  9. [burstall01]
    R.M. Burstall, J. Darlington: A transformation system for developping recursive programs; J.ACM 24, 1, January, 1977, 44–67.Google Scholar
  10. [dershowitz03]
    N. Dershowitz: Synthesis by Completion; [joshi02], 208–214.Google Scholar
  11. [franova08]
    M. Franova: Precomas Challenge; Rapport de Recherche No.376, L.R.I., Université de Paris-Sud, Orsay, France, September, 1987.Google Scholar
  12. [franoval0]
    M. Franova: CM-strategy: A Methodology for Inductive Theorem Proving or Constructive Well-Generalized Proofs; [joshi02], 1985, 1214–1220.Google Scholar
  13. [franoval1]
    M. Franova: An Implementation of Program Synthesis from Formal Specifications; [kodratoff23], 559–564.Google Scholar
  14. [franoval5]
    M. Franova: Fundamentals for a new methodology for inductive theorem proving: CM-construction of atomic formulae; [kodratoff23], 137–141.Google Scholar
  15. [franoval7]
    M. Franova: Fundamentals of a new methodology for Program Synthesis from Formal Specifications: CM-construction of atomic formulae; Thesis, Université Paris-Sud, November, Orsay, France, 1988.Google Scholar
  16. [fronhofer03]
    B. Fronhofer: The LOPS-Approach: Towards New Syntheses of Algorithms; [trost01], 108–119.Google Scholar
  17. [goto01]
    S. Goto: Program Synthesis from natural deduction proofs; in: Proceedings of the Sixth International Joint Conference on Artificial Intelligence, August 1979, Tokyo, 339–341.Google Scholar
  18. [hogger01]
    C.J. Hogger: Derivation of logic programs; J.ACM vol. 28, no. 2, 1981, 372–392.Google Scholar
  19. [hogger02]
    C.J. Hogger: Introduction to Logic Programming; Academic Press, Inc., London, 1984.Google Scholar
  20. [joshi02]
    A.K. Joshi, (ed.): Proceedings of the Ninth International Joint Conference on Artificial Intelligence; August, Los Angeles, 1985.Google Scholar
  21. [kodratoff04]
    Y. Kodratoff, M.Picard: Complétion de systèmes de réécriture et synthèse de programmes à partir de leurs spécifications; Bigre No.35, October, 1983.Google Scholar
  22. [kodratoff22]
    Y. Kodratoff: An Introduction to Machine Learning; Pitman, London, 1988.Google Scholar
  23. [kodratoff23]
    Y. Kodratoff: Proceedings of the 8th European Conference on Artificial Intelligence; August 1–5, Pitman, London, United Kingdom, 1988.Google Scholar
  24. [kowalski03]
    R. Kowalski: The relation between logic programming and logic specification; Phil. Trans. R. Soc. Lond., 1984.Google Scholar
  25. [kreisel11]
    G. Kreisel: Some Uses of Proof Theory for Finding Computer Programs; Colloque International de Logique, Clermont-Ferrand, July, 1975.Google Scholar
  26. [leith01]
    P. Leith: Fundamental Errors in Legal Logic Programming, in The Computer Journal, Vol.29, NO.6,1986.Google Scholar
  27. [leith02]
    P.Leith: Definition and Logic: Learning from the failure of AI, to appear in "AI and Software Engineering", D. Partridge (ed.), Albex: NY.Google Scholar
  28. [Iloyd01]
    J. W. Lloyd: Foundations of Logic Programming; Springer-Verlag, Berlin, 1984.Google Scholar
  29. [manna-waldinger01]
    Z. Manna, R. Waldinger: A Deductive Approach to Program Synthesis; ACM Transactions on Programming Languages and Systems, Vol. 2., No. 1, January, 1980, 90–121.Google Scholar
  30. [partridge01]
    D. Partridge: AI: applicationas in the future of software engineering; Ellis Horwood/Wiley, United Kingdom, 1986.Google Scholar
  31. [perdrix01]
    H. Perdrix: Program synthesis from specifications; ESPRIT'85, Status Report of Continuing Work, North-Holland 1986, 371–385.Google Scholar
  32. [perdrix02]
    H. Perdrix: Program synthesis from specifications; in: Ph. Jorrand and V. Sgurev (eds): Proceeding of AIMSA '86, North-Holland, 13–21.Google Scholar
  33. [peter01]
    R. Péter: Recursive Functions; Academic Press, New York, 1967.Google Scholar
  34. [plander01]
    I. Plander, (eds): Proceedings of Artificial Intelligence and Information-Control Systems of Robots-87; Bratislava, October, North-Holland, 1987.Google Scholar
  35. [rich01]
    Ch. Rich, R. C. Waters (eds): Reading in Artificial Intelligence and Software Engineering; Morgan Kaufmann, Los Altos, CA, 1986.Google Scholar
  36. [sato01]
    M. Sato: Towards a Mathematical Theory of Program Synthesis; Proc. 6th IJCAI, Tokyo, 1979, 757–762.Google Scholar
  37. [tareb02]
    N. Tareb, Y. Kodratoff: Synthesis of Specifications from Programs; [plander01], 467–471.Google Scholar
  38. [trost01]
    H. Trost, J. Retti (eds): ÖGAI-85; Vienna, Austria, Informatik-Fachberichte 106, September, Springer-Verlag, 1985.Google Scholar
  39. [waldinger01]
    R. Waldinger: Achieving Several Goals Simultaneously; [webber01], 250–271.Google Scholar
  40. [webber01]
    B. L. Webber, N. N. Nilson: Readings in Artificial Intelligence; Morgan Kaufmann, Los Altos, California, 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • Yves Kodratoff
    • 1
    • 2
    • 3
  • Marta Franova
    • 1
    • 2
    • 3
  • Derek Partridge
    • 1
    • 2
    • 3
  1. 1.CNRS & Université Paris Sud, LRIOrsayFrance
  2. 2.AI CenterGeorge Mason UniversityFairfaxUSA
  3. 3.Dep. of Comp. ScienceUniversity of ExeterExeterUnited Kingdom

Personalised recommendations