Abstract
When a computer is used to synthesize a program, there is usually too much information for it to handle. In this paper, we propose the use of stepwise refinement technique, based upon the concept of structured programming, to overcome this difficulty.
- 1 Bohm, C. and Jacopini, G. (1966): Flow diagrams, Turing machines and languages with only two formation rules, Comm. of the ACM, Vol. 9, 1966, pp. 366-371. Google ScholarDigital Library
- 2 Chang, C. L. and Lee, R. C. T. (1973): Symbolic Logic and Mechanical Theorem Proving, Academic Press, N. Y., 1973. Google ScholarDigital Library
- 3 Dahl, O. J., Dijkstra, E. W. and Hoare, C. A. R. (1972): Structured Programming, Academic Press, N. Y., 1972. Google ScholarDigital Library
- 4 DiJkstra, E. W. (1969): Notes on Structured Programming, Technische Hogeschool Eindhoven, 1969.Google Scholar
- 5 Dijkstra, E. W. (1969): Structured programming, Software Engineering Techniques, NATO Science Committee, (edited by J. N. Burton and B. Randell), 1969, pp. 89-93.Google Scholar
- 6 Floyd, R. (1971): Toward Interactive Design of Correct Programs, Stanford Artificial Intelligence Project, Memo AIM-150, Computer Science Department, Stanford University, Stanford, Calif. 1971.Google Scholar
- 7 Green, C. (1969): Application of theorem-proving to problem solving, Proc. of the First International Joint Conference on Artificial Intelligence, 1969, pp. 219-239.Google ScholarDigital Library
- 8 Hilbert, D. and Ackermann, W. (1950): Principles of Mathematical Logic, Chelsea, N. Y., 1950.Google Scholar
- 9 Lee, R. C. T., Chang, C. L. and Waldinger, R. (1973): An improved program synthesizing algorithm and its correctness, Comm. of the ACM, March 1973. Google ScholarDigital Library
- 10 Manna,Z. and Waldinger, R. (1971): Toward automatic program synthesis, Comm. of the ACM, Vol. 10, No. 3, March 1971, pp. 151-164. Google ScholarDigital Library
- 11 McCarthy, J. (1962): LISP 1.5 Programmer's Manual, The M.I.T. Press, M.I.T., Cambridge, Mass. 1962. Google ScholarDigital Library
- 12 Mills, H. D. (1971): Top down programming in logic systems, Debugging Techniques in Large Systems, Courant Computer System Symposium, (edited by R. Randell), 1971, pp. 41-55.Google Scholar
- 13 Nilsson, N. J. (1971): Problem Solving Methods in Artificial Intelligence, McGraw-Hill, N. Y., 1971. Google ScholarDigital Library
- 14 Robinson, J. A. (1965): A machine oriented logic based on the resolution principle, JACM, Vol. 12, No. 1, Jan 1965, pp. 23-41. Google ScholarDigital Library
- 15 Slagle, J. R. (1971): Artificial Intelligence, the Heuristic Programming Approach, McGraw-Hill, N. Y., 1971.Google Scholar
- 16 Wirth, N. (1971): Program development by stepwise refinement, Comm. of the ACM, Vol. 14, No. 4, 1971, pp. 221-227. Google ScholarDigital Library
- 17 Waldinger, R. and Lee, R.C.T. (1969): PROW: a step toward automatic program writing, Proc. of the First International Joint Conf. on Artificial Intelligence, 1969, pp. 241-252.Google Scholar
Index Terms
- Structured programming and automatic program synthesis
Recommendations
Structured programming and automatic program synthesis
Proceedings of the ACM SIGPLAN symposium on Very high level languagesWhen a computer is used to synthesize a program, there is usually too much information for it to handle. In this paper, we propose the use of stepwise refinement technique, based upon the concept of structured programming, to overcome this difficulty.
From program verification to program synthesis
POPL '10This paper describes a novel technique for the synthesis of imperative programs. Automated program synthesis has the potential to make programming and the design of systems easier by allowing programs to be specified at a higher-level than executable ...
Algorithmic program synthesis: introduction
Program synthesis is a process of producing an executable program from a specification. Algorithmic synthesis produces the program automatically, without an intervention from an expert. While classical compilation falls under the definition of ...
Comments