An Empirical Investigation of the Influence of a Type of Side Effects on Program Comprehension

This paper reports the results of a study on the impact of a type of side effect (SE) upon program comprehension. We applied a crossover design on different tests involving fragments of C code that include increment and decrement operators. Each test had an SE version and a side-effect-free counterpart. The variables measured in the treatments were the number of correct answers and the time spent in answering. The results show that the side-effect operators considered significantly reduce performance in comprehension-related tasks, providing empirical justification for the belief that side effects are harmful.

[1]  Brian W. Kernighan,et al.  The Practice of Programming , 1999 .

[2]  Steve McConnell Who Cares About Software Construction? , 1996, IEEE Softw..

[3]  Mark Anderson,et al.  Design of Experiments: Statistical Principles of Research Design and Analysis , 2001, Technometrics.

[4]  E. P. Schan,et al.  Recommended C Style and Coding Standards , 1997 .

[5]  R. Gonzalez Applied Multivariate Statistics for the Social Sciences , 2003 .

[6]  D. E. Johnson,et al.  Analysis of Messy Data Volume I: Designed Experiments , 1985 .

[7]  John W. Daly,et al.  Statistical power and its subcomponents - missing and misunderstood concepts in empirical software engineering research , 1997, Inf. Softw. Technol..

[8]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[9]  Jim Webber,et al.  Gotos Considered Harmful and Other Programmers' Taboos , 2000, PPIG.

[10]  J. Grizzle THE TWO-PERIOD CHANGE-OVER DESIGN AN ITS USE IN CLINICAL TRIALS. , 1965, Biometrics.

[11]  Ben Shneiderman,et al.  Program indentation and comprehensibility , 1983, CACM.

[12]  Dallas E. Johnson,et al.  Analysis of messy data , 1992 .

[13]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

[14]  Russell V. Lenth,et al.  Some Practical Guidelines for Effective Sample Size Determination , 2001 .

[15]  M. Hills,et al.  The two-period cross-over clinical trial. , 1979, British journal of clinical pharmacology.

[16]  L Q Yue,et al.  A note on the sample size determination in two-period repeated measurements crossover design with application to clinical trials. , 1998, Journal of biopharmaceutical statistics.

[17]  Mark Buchanan,et al.  Keep it simple , 2004, Nature.

[18]  Edsger W. Dijkstra,et al.  Letters to the editor: go to statement considered harmful , 1968, CACM.

[19]  Edsger W. Dijkstra,et al.  Go To Statement Considered Harmful , 2022, Software Pioneers.

[20]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[21]  Mark Harman,et al.  Side-effect removal transformation , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[22]  Curtis R. Cook,et al.  Typographic style is more than cosmetic , 1990, CACM.

[23]  T. Dean Hendrix,et al.  The Effectiveness of Control Structure Diagrams in Source Code Comprehension Activities , 2002, IEEE Trans. Software Eng..