A theory of small program complexity

  • Authors:
  • Kenneth Magel

  • Affiliations:
  • University of Missouri-Rolla

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1982

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.