Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

A software engineering paradigm for program synthesis

A software engineering paradigm for program synthesis

For access to this article, please select a purchase option:

Buy article PDF
£12.50
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
Software Engineering Journal — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

The past study of program synthesis has mainly concentrated on attempting to synthesise programs by duplicating human methods for constructing programs, such as top-down design. Here we do not attempt this process but instead use a simple method that is based on sound software engineering practice. Knuth-Bendix completion is used in the synthesis process but without the need for the exhaustive completion of program axioms against each other. A software engineering framework is used to reduce the pairs of completed program axioms to the optimum for synthesising the required program. Examples of program synthesis are given and contrasted with an ad hoc method of synthesis.

References

    1. 1)
      • Willis, C.P., Paddon, D.J.: `Specification reuse for safety critical software', Proc. 6th Int. Conf. on Software Engineering and Knowledge Engineering, 1994, Latvia, p. 516–523.
    2. 2)
      • J. Darlington , R.M. Burstall . A system which automatically improves programs. Acta Informatica , 41 - 60
    3. 3)
      • Dershowitz, N.: `Synthesis by completion', Proc. 9th Int. Joint Conf. on Artificial Intelligence, 1985, Los Angeles, Morgan Kaufmann, p. 208–214.
    4. 4)
      • Musser, D.R.: `On proving inductive properties of abstract data types', Proc. 7th Annual Symp. on Principles of Programming Languages, 1980, Las Vegas, p. 154–162.
    5. 5)
      • N. Dershowitz . Synthetic programming. Artif. Intell. , 323 - 373
    6. 6)
      • T. Ellman . Explanation-based learning: a survey of programs and perspectives. ACM Comput. Surv. , 2 , 163 - 221
    7. 7)
      • Willis, C.P., Paddon, D.J.: `Synthesizing abstract data types by rewrite rules and explanation-based learning', Proc. Fourth Int. Conf. on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems, 1991, Hawaii, p. 294–300.
    8. 8)
      • A.W. Biermann , M. Rubinoff , M.C. Yovits . (1976) Approaches to automatic programming, Advances in computers.
    9. 9)
      • J.A. Robinson . A machine-oriented logic based on the resolution principle. J. ACM , 1 , 23 - 41
    10. 10)
      • Willis, C.P.: `Explanation completion for software reuse', 1992, PhD Thesis, University of Bristol.
    11. 11)
      • A.J.J. Dick . An introduction to Knuth-Bendix completion. Comput. J. , 1 , 2 - 15
    12. 12)
      • D.E. Knuth , P.B. Bendix , J. Leech . (1970) Simple word problems in universal algebras, Computational problems in abstract algebra.
    13. 13)
      • C. Willis , D. Paddon . (1992) , Abstraction and specification with Modula-2.
    14. 14)
      • T.G. Dietterich . Learning at the knowledge level. Mach. Learn. , 3 , 287 - 315
    15. 15)
      • J. Guttag , E. Horowitz , D. Musser . Abstract data types and software validation. Commun. ACM , 12 , 1048 - 1064
    16. 16)
      • D. Partridge . Connectionism as a software engineering paradigm. Adv. Inform. Syst. , 1 , 7 - 14
    17. 17)
      • T.M. Mitchell , R.M. Keller , S.T. Kedar-Cabelli . Explanation-based learning — a unifying view. Mach. Learn. , 1 , 47 - 80
    18. 18)
      • J.A. Goguen , J.W. Thatcher , E.G. Wagner , R.T. Yeh . (1978) An initial algebra approach to the specification, correctness and implementation of abstract data types, Current trends in programming methodology Vol. 4 Data Structuring.
    19. 19)
      • D. Kapur , M. Srivas . A rewrite rule based approach for synthesizing abstract data types. Lect. Notes Comput. Sci. , 188 - 208
http://iet.metastore.ingenta.com/content/journals/10.1049/sej.1994.0027
Loading

Related content

content/journals/10.1049/sej.1994.0027
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address