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.
Similar content being viewed by others
References
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)
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
Elspas, B., Levitt, K., Waldinger, R., Waksman, A.: An assessment of techniques for proving program correctness. Comput. Surveys 4, 97–147 (1972)
Hantler, S.L., King, J.C.: An introduction to proving the correctness of programs. Comput. Surveys 8, 331–353 (1976)
King, J.C.: A new approach to program testing. SIGPLAN Notices (Proc. Inter. Conf. Reliable Software) 10, 6, 228–233 (1975)
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
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)
Author information
Authors and Affiliations
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
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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00288882