Skip to main content

First Steps Towards Inferential Programming

  • Chapter
Program Verification

Part of the book series: Studies in Cognitive Systems ((COGS,volume 14))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 259.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 329.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 329.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Balzer, R.: 1981, ‘Transformational Implementation: An Example’, IEEE Transactions on Software Engineering SE-7(1), 3–14.

    Article  Google Scholar 

  2. Barstow, D. R.: 1980, ‘The Roles of Knowledge and Deduction in Algorithm Design’, Yale Research Report 178, April.

    Google Scholar 

  3. Bates, J. L.: 1979, ‘A Logic for Correct Program Development’, Ph.D. Thesis, Cornell University.

    Google Scholar 

  4. Bates, J. L. and Constable, R. L.: 1982, ‘Proofs as Programs’, Cornell University Technical Report.

    Google Scholar 

  5. Bauer, F. L. et al: 1981, ‘Programming in a Wide Spectrum language: A Collection of Examples’, Science of Computer Programming 1, 73–114.

    Article  MATH  Google Scholar 

  6. Bauer, F. L.: 1982, ‘From Specifications to Machine Code: Program Construction through Formal Reasoning’, Sixth International Conference on Software Engineering.

    Google Scholar 

  7. Beckman, L., Haraldsson, A., Oskarsson, Ö, and Sandewall, E.: 1976, ‘A Partial Evaluator and its Use as a Programming Tool’, Artificial Intelligence 7, 319–357.

    Article  MATH  Google Scholar 

  8. Broy, M. and Pepper, P.: 1981, ‘Program Development as a Formal Activity’, IEEE Transactions on Software Engineering SE-7(1), 14–22.

    Article  MathSciNet  Google Scholar 

  9. Burstall, R. M. and Darlington, J.: 1977, ‘A Transformation System for Developing Recursive Programs’, Journal of the ACM 24(1), 44–67.

    Article  MathSciNet  MATH  Google Scholar 

  10. Carbonell, J.: 1982, ‘Learning by Analogy: Formulating and Generalizing Plans from Past Experience’, Carnegie-Mellon University Technical Report.

    Google Scholar 

  11. Cheatham, T. E. and Wegbreit, B.: 1972, ‘A Laboratory for the Study of Automatic Programmming’, AFIPS Spring Joint Computer Conference 40.

    Google Scholar 

  12. Cheatham, T. E., Townley, J. A., and Holloway, G. H.: 1979, ‘A System for Program Refinement’, Fourth International Conference on Software Engineering, 53–63.

    Google Scholar 

  13. Clark, K. and Darlington, J.: 1980, ‘Algorithm Classification through Synthesis’, Computer Journal 23(1).

    Google Scholar 

    Google Scholar 

  14. Clocksin, W. F. and Melish, C.S.: 1981, Programming in PROLOG, Springer-Verlag.

    MATH  Google Scholar 

  15. 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.

    Article  Google Scholar 

  16. Detlefsen, M. and Luker, M.: 1980, ‘The Four-Color Theorem and Mathematical Proof’, The Journal of Philosophy 77(12), 803–820.

    Article  MATH  Google Scholar 

  17. Dijkstra, E. W.: 1971. ‘Notes on Structured Programming’, in: Structured Programming, O. J. Dahl, E. W. Dijkstra, C. A. R. Hoare (Eds.) Academic Press.

    Google Scholar 

  18. Dijkstra, E. W.: 1976, A Discipline of Programming, Prentice-Hall.

    MATH  Google Scholar 

  19. Ershov, A. P.: 1978, ‘On the Essence of Compilation’, in: Formal Descriptions of Programming Concepts, E. J. Neuhold (Ed.), North-Holland.

    Google Scholar 

  20. Feather, M. S.: 1982, ‘A System for Assisting Program Transformation’, ACM Transactions on Programming Languages and Systems 4(1), 1–20.

    Article  MATH  Google Scholar 

  21. Floyd, R. W.: 1979, ‘The Paradigms of Programming’, Communications of the ACM 22(8), 455–460.

    Article  Google Scholar 

  22. Goad, C.: 1982, ‘Automatic Construction of Special-Purpose Programs’, 6th Conference on Automated Deduction.

    Google Scholar 

  23. Gordon, M. J., Milner, A. J., and Wadsworth, C. P.: 1979, Edinburgh LCF. Springer-Verlag Lecture Notes in Computer Science.

    Book  MATH  Google Scholar 

  24. Green, C. C. and Barstow, D. R.: 1978, ‘On Program Synthesis Knowledge’, Artificial Intelligence 10, 241.

    Article  Google Scholar 

  25. Green, C. et al. 1981, ‘Research on Knowledge-Based Programming and Algorithm Design’, Kestrel Institute Technical Report.

    Google Scholar 

  26. Gries, D.: 1981, The Science of Computer Programming, Springer-Verlag.

    Book  Google Scholar 

  27. Haken, W., Appel, K. and Koch, J.: 1977, ‘Every Planar Map is Four-Colorable’, Illinois Journal of Mathematics 21(84), 429–567.

    MathSciNet  MATH  Google Scholar 

  28. Knuth, D. E.: 1974, ‘Structured Programming with Goto Statements’, Computing Surveys 6(4), 261–301.

    Article  MathSciNet  MATH  Google Scholar 

  29. 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.

    Google Scholar 

  30. Manna, Z. and Waldinger, R.: 1979, ‘Synthesis: dreams => programs’, IEEE Transactions on Software Engineering SE-5(4).

    Google Scholar 

  31. Martin-Löf, P.: 1979, ‘Constructive Mathematics and Computer Programming’, 6th International Congress for Logic, Methodology and Philosophy of Science.

    Google Scholar 

  32. Paige, R. and Koenig, S.: 1982, ‘Finite Differencing of Computable Expressions’, ACM Transactions on Programming Languages and Systems 4(3), 402–454.

    Article  MATH  Google Scholar 

  33. Reif, J. and Scherlis, W. L.: 1982, ‘Deriving Efficient Graph Algorithms’, Carnegie-Mellon University Technical Report.

    Google Scholar 

  34. Rich, C. and Shrobe, H.: 1978, ‘Initial Report on a Lisp Programmer’s Apprentice’, IEEE Transactions on Software Engineering SE-4(6), 456–467.

    Article  Google Scholar 

  35. Scherlis, W. L.: 1981, ‘Program Improvement by Internal Specialization’, 8th Symposium on Principles of Programming Languages, pp. 41–49.

    Google Scholar 

  36. Schwartz, J. T.: 1973, ‘On Programming, an Interim Report on the SETL Project’, Courant Institute of Mathematical Sciences, New York University.

    Google Scholar 

  37. Schwartz, J. T.: 1979, ‘On Correct Program Technology’, Courant Institute of Mathematical Sciences, New York University.

    Google Scholar 

  38. Sintzoff, M.: 1980, ‘Suggestions for Composing and Specifying Program Design Decisions’, International Symposium on Programming, Springer-Verlag Lecture Notes in Computer Science.

    Google Scholar 

  39. Swart, E. R.: 1980, ‘The Philosophical Implications of the Four-Color Problem’, American Mathematical Monthly 87(9), 697–707.

    Article  MathSciNet  MATH  Google Scholar 

  40. Swartout, W. and Balzer, R.: 1982, ‘On the Inevitable Intertwining of Specification and Implementation’, Communications of the ACM 25(7), 438–440.

    Article  Google Scholar 

  41. Teller, P.: 1980, ‘Computer Proof’, The Journal of Philosophy 77(12), 803–820.

    Article  Google Scholar 

  42. Tymoczko, T.: ‘The Four-Color Problem and its Philosophical Significance’, The Journal of Philosophy 66(2), 57–83.

    Google Scholar 

  43. Wand, M.: 1980, ‘Continuation-Based Program Transformation Strategies’, Journal of the ACM 27(1), 164–180.

    Article  MathSciNet  MATH  Google Scholar 

  44. Waters, R. C.: 1981. ‘A Knowledge Based Program Editor’, 7th International Joint Conference on Artificial Intelligence, Vancouver.

    MATH  Google Scholar 

  45. Wile, D. S.: 1981, ‘Program Developments as Formal Objects’, USC/Information Sciences Institute Technical Report.

    Google Scholar 

  46. Wirth, N.: 1971, ‘Program Development by Stepwise Refinement’, Communications of the ACM 14 (4), 221–227.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics