Small programs are those which are written and understood by one. person. Large software systems usually consist of many small programs. The complexity of a small program is a prediction of how difficult it would be for someone to understand the program. This complexity depends of three factors: (1) the size and interelationships of the program itself; (2) the size and interelationships of the internal model of the program's purpose held by the person trying to understand the program; and (3) the complexity of the mapping between the model and the program. A theory of small program complexity based on these three factors is presented. The theory leads to several testable predictions. Experiments are described which test these predictions and whose results could verify or destroy the theory. © 1982, ACM. All rights reserved.
K. I. Magel, "A Theory Of Small Program Complexity," ACM SIGPLAN Notices, vol. 17, no. 3, pp. 37 - 45, Association for Computing Machinery, Jan 1982.
The definitive version is available at https://doi.org/10.1145/947912.947913
International Standard Serial Number (ISSN)
Article - Journal
© 2023 Association for Computing Machinery, All rights reserved.
03 Jan 1982