Proceedings

A Method for Automatically Analyzing Programs

Download BibTeX Cite

Proceedings of the Sixth International Joint Conference on Artificial Intelligence. .

© 1979 International Joint Conferences on Artificial Intelligence

Abstract

This paper presents a method for automatically analyzing programs and discusses why it is a useful way to took at progr11ms. The method is based on the idea that there are only a few basic ways in which the logical structure of programs is buill up. An experiment is presented which shows that this accounts for the structure of a large class of progr11ms. The pap!!r discuo:.ses how the method can be used to automatically analyze the structure of a program, and how the resultinG an<~lysis can be used to guide a proof of correctness for the program. An automatic system is described which performs this type of analysis. The paper discusses the relationship between the structure building methods presented and programming language constructs.

  1. B. S. Baker, "An Algorithm for Structuring Flowgraphs", JACM V24 •I, pp. 98-120, J..nuary 1977.
  2. S. Basu and J. Misra, "Proving Loop Programs", IEEE Trans. on Software Eng. VI •I, pp. 76-86, March 1975.
  3. S. Basu and J. Mi~ra, "Some Clas~es of Naturally Provable Proer<~ms", Proc . 2nd Int. Coni. on Software Engineering, pp. 1100-406, October 1976.
  4. R. W. Floyd, "Assigninn Meaning to Programs", proc. symp. in Applied Math. Vl9, pp. 19-32, 1967.
  5. D.P. Friedman and O.S. Wise, "CONS Should Not Evaluate its Aq~uments", Indiana Technical Report 44, Nov. 1975.
  6. S. German and B. Wegbreit, "A Synlhesiser of Inductive Assertions", IEEE Trans. on Software Eng. VI •I, pp. 68-75, March 1975.
  7. L.J. Guibas and O.K. Wyatt, "Compliatiorl and Delayed Evaluation in APL", Proc. 5th ACM POPL Coni. 1978.
  8. P. Henderson and J.H. Morris, "A Lazy Evaluator", Proc. 3rd ACM POPL Coni., 1976.
  9. C.A.R. Hoare, ""An Axiomatic Basis for Computer Programming'", CACM Vl2 •10, pp. 576-383, October 1969.
  10. I
  11. IBM GH20 -0205-4, "Scientific Subroutine Package Vers ion 111 Programmer's Manual", IBM White Plains NY, 1970.
  12. G. Kahn and D.B. MacQueen, "Coroutines and Networks of Parallel Processes", Proceedings of IFIP Congress-77, North-Holland Pub!. Co, 1977.
  13. S. Katz and z. Manna, ""Logical Analysis of Programs", CACM V 19 tt4, pp. 188-206, April 1976.
  14. Fl.H. Liskov, A. Snyder, R. Atkinson, and C. Schaffert, "Abstraction Mechanisms in CLU", CACM V20 118, pp. 564-376, August 1977.
  15. J.H. Morris jr. and B. Wegbreil, "Subgoal Induction", CACM V20 tt4, pp. 209-222, April 1977.
  16. R.P. Polivka and S. Pakin, "APL: The Language and its Usage", Prentice-Hall, Englewood cliffs NJ, 1975.
  17. C. Rich, "A Representation for Programming Knowledge and Applications to Recognition, Generation, and Cataloguing of Programs", forlhcomming PhD thesis, MIT, August 1979.
  18. C. Rich and H. Shrobe, "Initial Report on a LISP Progrilmmer's Apprentice", MIT/AI/TR-354, MIT Cambridge MA, December 1976.
  19. M. Shaw <1nd W. A. Wulf, "Abstraction and Verification in ALPHARD: Defining and Specifying Iteration and Generators", CACM V20 118, pp. 553-364, August 1977.
  20. H.E. Shrobe, "Reasoning and Logic for Complex Program Understanding", PhD thesis, MIT, August 1978.
  21. R.C. Waters, "A System for Understanding Mathematical FORTRAN Programs", MIT /AIM-368, MIT Cambridge MA, August 1976.
  22. R.C. Waters, "Automatic Analysis of the Logical Structure of Programs", MIT I AI/TR -492, December 1978.
  23. Wegbreil, "The Synthesis of Loop Predicates", CACM Vl7 112, pp. 102-112, February 1974.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards