Skip to main content
Log in

Program analysis and optimization through kernel-control decomposition

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

The decomposition of a program into a control part, which is concerned only with determining the flow of control, and a kernel part, which is concerned only with computing output values, is proposed. It is shown that such a kernel-control decomposition is easily made and forms a useful and intuitive basis for analyzing and optimizing programs. A sequence of four progressively more abstract formal models of programs is developed, based on the concept of kernel-control decomposition. The application of these models to the study of program equivalence, termination, and optimization is outlined. The most general of the formal models, that of a set of programs forming a control structure class, formalizes a broad notion of equivalence of control structures.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Boyer, R.S., Elspas, B., Levitt, K.N.: SELECT — A formal system for testing and debugging programs by symbolic execution. SIGPLAN Notices (Proc. Inter. Conf. Reliable Software) 10, 6, 234–245 (1975)

    Google Scholar 

  2. Dijkstra, E.: Notes on structured programming. In: Structured programming (O.J. Dahl, E.W. Dijkstra, C.A.R. Hoare, eds.), pp. 1–82. New York: Academic Press 1972

    Google Scholar 

  3. Elspas, B., Levitt, K., Waldinger, R., Waksman, A.: An assessment of techniques for proving program correctness. Comput. Surveys 4, 97–147 (1972)

    Google Scholar 

  4. Hantler, S.L., King, J.C.: An introduction to proving the correctness of programs. Comput. Surveys 8, 331–353 (1976)

    Google Scholar 

  5. King, J.C.: A new approach to program testing. SIGPLAN Notices (Proc. Inter. Conf. Reliable Software) 10, 6, 228–233 (1975)

    Google Scholar 

  6. Pratt, T.: Kernel equivalence of programs and proving kernel equivalence and correctness using test cases. Proc. 2nd Inter. Jt. Conf. on Artif. Intell., pp. 474–480. London: British Computer Society 1971

    Google Scholar 

  7. Pratt, T.: Four models for the analysis and optimization of program control structures. Proc. 7th ACM Symp. Theory of Computing, Albuquerque, pp. 167–176 (1975)

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was performed at the University of Texas at Austin under NSF Grants GJ-778, GJ-36424, and MCS 75-16858

Rights and permissions

Reprints and permissions

About this article

Cite this article

Pratt, T. Program analysis and optimization through kernel-control decomposition. Acta Informatica 9, 195–216 (1978). https://doi.org/10.1007/BF00288882

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00288882

Keywords

Navigation