The effect of data structures on the logical complexity of programs

  • Authors:
  • Farokh B. Bastani;S. Sitharama Iyengar

  • Affiliations:
  • Department of Computer Science, University of Houston, Houston, Tex.;Department of Computer Science, Louisiana State University, Baton Rouge, La.

  • Venue:
  • Communications of the ACM
  • Year:
  • 1987

Quantified Score

Hi-index 48.22

Visualization

Abstract

The logical complexity of a program is a measure of the effort required to understand it. We hypothesize that the logical complexity of a program increases with the increase in the opaqueness of the relationship between the physical data structures used in the program and their corresponding abstract data types. The results of an experiment conducted to investigate this hypothesis are reported. Documentation techniques for making programs easier to understand using complex data structures are discussed. Data structure diagrams, data structure invariants, stepwise transformation of data structures, and formal specification of the mapping between abstract and concrete data structures are illustrated using two nontrivial examples.