This paper features a result just begging to be applied to further research on the bias in programmer styles. The authors provide a means of measuring programmer bias in their choice of control structures by examining the sequency of BJm flowcharts. BJm flowcharts are charts which allow IF-THEN-ELSE, SEQUENCE, and DO-WHILE with up to m midloop exits. A flowchart can be considered as a selection of different types of nodes from a pool containing all types of nodes. This paper determines the asymptotic value for the number of possible flowcharts for a given number of nodes ( n ) by using generating functions. For large BJm charts, the average number of nodes of various types are calculated. The authors note that allowing arbitrary midloop exits only increases the fraction of DO-WHILE-type nodes by ten percent.
Finally, the authors calculate the average sequency (the number of IF-THEN-ELSE and DO-WHILE-WITH- m-EXITS charts concatenated to form the final chart). The authors note the average sequency lies between 2.4 and 2.5 for n → ∞ and m → ∞ The authors observe that programmers tend to produce programs with much higher sequency. They informally suggest that either the problems that we choose to solve are inherently sequential or that IF-THEN-ELSE and DO-WHILE constructs are inadequate to overcome our sequential organizational tendencies.
There are many alternative possible explanations. One is that we have no “natural” sequential organizational tendency but that, in the languages that we use, the sequence concept is more effectively implemented than the IF-THEN-ELSE or DO-WHILE concepts so the language pushes us to use the sequence concept rather than a basic preference by programmers.
These and other conjectures explaining the difference between empirically observed behavior of programmers and “expected” behavior should provide some interesting research topics.