Abstract
Our basic premise is that the ability to construct and modify programs will not improve without a new and comprehensive look at the entire programming process. Past theoretical research, say, in the logics of programs, has tended to focus on methods for reasoning about individual programs; little has been done, it seems to us, to develop a sound understanding of the process of programming — the process by which programs evolve in concept and in practice. At present, we lack the means to describe the techniques of program construction and improvement in ways that properly link verification, documentation and adaptability.
Keywords
- Formal Proof
- Mathematical Proof
- Defense Advance Research Project Agency
- Program Verification
- Derivation Structure
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, access via your institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Balzer, R.: 1981, ‘Transformational Implementation: An Example’, IEEE Transactions on Software Engineering SE-7(1), 3–14.
Barstow, D. R.: 1980, ‘The Roles of Knowledge and Deduction in Algorithm Design’, Yale Research Report 178, April.
Bates, J. L.: 1979, ‘A Logic for Correct Program Development’, Ph.D. Thesis, Cornell University.
Bates, J. L. and Constable, R. L.: 1982, ‘Proofs as Programs’, Cornell University Technical Report.
Bauer, F. L. et al: 1981, ‘Programming in a Wide Spectrum language: A Collection of Examples’, Science of Computer Programming 1, 73–114.
Bauer, F. L.: 1982, ‘From Specifications to Machine Code: Program Construction through Formal Reasoning’, Sixth International Conference on Software Engineering.
Beckman, L., Haraldsson, A., Oskarsson, Ö, and Sandewall, E.: 1976, ‘A Partial Evaluator and its Use as a Programming Tool’, Artificial Intelligence 7, 319–357.
Broy, M. and Pepper, P.: 1981, ‘Program Development as a Formal Activity’, IEEE Transactions on Software Engineering SE-7(1), 14–22.
Burstall, R. M. and Darlington, J.: 1977, ‘A Transformation System for Developing Recursive Programs’, Journal of the ACM 24(1), 44–67.
Carbonell, J.: 1982, ‘Learning by Analogy: Formulating and Generalizing Plans from Past Experience’, Carnegie-Mellon University Technical Report.
Cheatham, T. E. and Wegbreit, B.: 1972, ‘A Laboratory for the Study of Automatic Programmming’, AFIPS Spring Joint Computer Conference 40.
Cheatham, T. E., Townley, J. A., and Holloway, G. H.: 1979, ‘A System for Program Refinement’, Fourth International Conference on Software Engineering, 53–63.
Clark, K. and Darlington, J.: 1980, ‘Algorithm Classification through Synthesis’, Computer Journal 23(1).
Clocksin, W. F. and Melish, C.S.: 1981, Programming in PROLOG, Springer-Verlag.
De Millo, R. A., Lipton, R. J., and Perlis, A. J.: 1979, ‘Social Processes and Proofs of Theorems and Programs’, Communications of the ACM 22(5), 271–280.
Detlefsen, M. and Luker, M.: 1980, ‘The Four-Color Theorem and Mathematical Proof’, The Journal of Philosophy 77(12), 803–820.
Dijkstra, E. W.: 1971. ‘Notes on Structured Programming’, in: Structured Programming, O. J. Dahl, E. W. Dijkstra, C. A. R. Hoare (Eds.) Academic Press.
Dijkstra, E. W.: 1976, A Discipline of Programming, Prentice-Hall.
Ershov, A. P.: 1978, ‘On the Essence of Compilation’, in: Formal Descriptions of Programming Concepts, E. J. Neuhold (Ed.), North-Holland.
Feather, M. S.: 1982, ‘A System for Assisting Program Transformation’, ACM Transactions on Programming Languages and Systems 4(1), 1–20.
Floyd, R. W.: 1979, ‘The Paradigms of Programming’, Communications of the ACM 22(8), 455–460.
Goad, C.: 1982, ‘Automatic Construction of Special-Purpose Programs’, 6th Conference on Automated Deduction.
Gordon, M. J., Milner, A. J., and Wadsworth, C. P.: 1979, Edinburgh LCF. Springer-Verlag Lecture Notes in Computer Science.
Green, C. C. and Barstow, D. R.: 1978, ‘On Program Synthesis Knowledge’, Artificial Intelligence 10, 241.
Green, C. et al. 1981, ‘Research on Knowledge-Based Programming and Algorithm Design’, Kestrel Institute Technical Report.
Gries, D.: 1981, The Science of Computer Programming, Springer-Verlag.
Haken, W., Appel, K. and Koch, J.: 1977, ‘Every Planar Map is Four-Colorable’, Illinois Journal of Mathematics 21(84), 429–567.
Knuth, D. E.: 1974, ‘Structured Programming with Goto Statements’, Computing Surveys 6(4), 261–301.
Kriesel, G.: 1981, ‘Neglected Possibilities of Processing Assertions and Proofs Mechanically: Choice of Problems and Data’, in: University-Level Computer-Assisted Instruction at Stanford: 1968–1980. Stanford University.
Manna, Z. and Waldinger, R.: 1979, ‘Synthesis: dreams => programs’, IEEE Transactions on Software Engineering SE-5(4).
Martin-Löf, P.: 1979, ‘Constructive Mathematics and Computer Programming’, 6th International Congress for Logic, Methodology and Philosophy of Science.
Paige, R. and Koenig, S.: 1982, ‘Finite Differencing of Computable Expressions’, ACM Transactions on Programming Languages and Systems 4(3), 402–454.
Reif, J. and Scherlis, W. L.: 1982, ‘Deriving Efficient Graph Algorithms’, Carnegie-Mellon University Technical Report.
Rich, C. and Shrobe, H.: 1978, ‘Initial Report on a Lisp Programmer’s Apprentice’, IEEE Transactions on Software Engineering SE-4(6), 456–467.
Scherlis, W. L.: 1981, ‘Program Improvement by Internal Specialization’, 8th Symposium on Principles of Programming Languages, pp. 41–49.
Schwartz, J. T.: 1973, ‘On Programming, an Interim Report on the SETL Project’, Courant Institute of Mathematical Sciences, New York University.
Schwartz, J. T.: 1979, ‘On Correct Program Technology’, Courant Institute of Mathematical Sciences, New York University.
Sintzoff, M.: 1980, ‘Suggestions for Composing and Specifying Program Design Decisions’, International Symposium on Programming, Springer-Verlag Lecture Notes in Computer Science.
Swart, E. R.: 1980, ‘The Philosophical Implications of the Four-Color Problem’, American Mathematical Monthly 87(9), 697–707.
Swartout, W. and Balzer, R.: 1982, ‘On the Inevitable Intertwining of Specification and Implementation’, Communications of the ACM 25(7), 438–440.
Teller, P.: 1980, ‘Computer Proof’, The Journal of Philosophy 77(12), 803–820.
Tymoczko, T.: ‘The Four-Color Problem and its Philosophical Significance’, The Journal of Philosophy 66(2), 57–83.
Wand, M.: 1980, ‘Continuation-Based Program Transformation Strategies’, Journal of the ACM 27(1), 164–180.
Waters, R. C.: 1981. ‘A Knowledge Based Program Editor’, 7th International Joint Conference on Artificial Intelligence, Vancouver.
Wile, D. S.: 1981, ‘Program Developments as Formal Objects’, USC/Information Sciences Institute Technical Report.
Wirth, N.: 1971, ‘Program Development by Stepwise Refinement’, Communications of the ACM 14 (4), 221–227.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Scherlis, W.L., Scott, D.S. (1993). First Steps Towards Inferential Programming. In: Colburn, T.R., Fetzer, J.H., Rankin, T.L. (eds) Program Verification. Studies in Cognitive Systems, vol 14. Springer, Dordrecht. https://doi.org/10.1007/978-94-011-1793-7_6
Download citation
DOI: https://doi.org/10.1007/978-94-011-1793-7_6
Publisher Name: Springer, Dordrecht
Print ISBN: 978-94-010-4789-0
Online ISBN: 978-94-011-1793-7
eBook Packages: Springer Book Archive