Summary
Semantic decomposition results in a hierarchy of partitions which are small enough to be easily understood, and large enough to be meaningful to a program tester. Each partition results in the elimination of at least one local variable from consideration during error analysis, which further simplifies the testing process. Semantic decomposition reduces the complexity of the testing process, enhances the understandability of the program for the tester, and thus abstracts a program to a higher level. The decomposition yields a plan for hierarchical testing which, if followed conscientiously, should result in faster and more thorough testing for large or poorly structured programs. By reorganizing poorly structured programs into the modules indicated by semantic decomposition, an improved source level representation of the programs may be obtained.
Similar content being viewed by others
References
Allen, F.E.: Control flow analysis. SIGPLAN Notices 5, 1–19 (1970)
Bayer, R.: On program volume and program modularization. Technical Report CSD-TR-105, Purdue University 1973
Boehm, E.W.: Software and its impact: A quantitative assessment. Datamation I9, 48–59 (1973)
Bulut, N., Halstead, M.H.: Impurities found in algorithm implementations. SIGPLAN Notices 9, 9–12 (1974)
Cocke, J., Schwartz, J.T.: Programming languages and their compilers. Courant Institute, New York University 1970
Dahl, O.-J., Dijkstra, E.W., Hoare, C.A.R.: Structured programming. New York/London, Academic Press 1972
Dijkstra, E.W.: The structure of “THE”—Multiprogramming system. Comm. ACM II, 341–346 (1968)
Donaldson, F.W.: Programmer evaluation. 1967, unpublished, reported in M. H. Halstead: Language selection for applications. Proc. AFIPS 1973 NCC 42. Montvale (N. J.): AFIPS-Press 1973, p. 211–214
Florentin, J.J.: Flow analysis for program correctness. Research Report CSRR-2054, University of Waterloo, 1970
Halstead, M.H.: Natural laws · controlling algorithm Structure? SIGPLAN Notices 7: 2 19–26 (1972)
Halstead, M.H., Bayer, R.: Algorithm dynamics. Proc. ACM National Conference 1973, p. 126–135
Hetzel, W.C. (ed.): Program test methods. Englewood Cliffs (N.J.): Prentice-Hall 1973
Lowe, T.C.: Automatic segmentation of cyclic program structures based on connectivity and processor timing. Comm. ACM 13, 3–9 (1970)
Mills, H.D.: Mathematical foundations for structured programming. IBM Federal Systems Division, Report FSC 72-6012, 1972
Ramamoorthy, C.V.: The analytic design of a dynamic look-ahead and program segmenting scheme for multiprogrammed computers. Proc. ACM National Conference 1966, p. 229–239
Rubey, R. J.: A comparative evaluation of PL/I. Datamation I4, 22–25 (1968)
Schaefer, M.: A mathematical theory of global program optimization. Englewood Cliffs (N. J.): Prentice-Hall 1973
Ver Hoef, E.W.: Automatic program segmentation based on Boolean Connectivity. Proc. EFIPS 1971 SJCC 38. Montvale (N. J.): AFIPS-Press 1971, p. 491–495
Zislis, P.M.: Semantic decomposition of computer programs: A program test aid. Ph. D. Thesis, Purdue University, 1974
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Zislis, P.M. Semantic decomposition of computer programs: An aid to program testing. Acta Informatica 4, 245–269 (1975). https://doi.org/10.1007/BF00288729
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00288729