40 Years of Designing Code Comprehension Experiments: A Systematic Mapping Study
arXiv:2206.11102 · doi:10.1145/3626522
Abstract
The relevance of code comprehension in a developer's daily work was recognized more than 40 years ago. Consequently, many experiments were conducted to find out how developers could be supported during code comprehension and which code characteristics contribute to better comprehension. Today, such studies are more common than ever. While this is great for advancing the field, the number of publications makes it difficult to keep an overview. Additionally, designing rigorous code comprehension experiments with human participants is a challenging task, and the multitude of design options can make it difficult for researchers, especially newcomers to the field, to select a suitable design. We therefore conducted a systematic mapping study of 95 source code comprehension experiments published between 1979 and 2019. By structuring the design characteristics of code comprehension studies, we provide a basis for subsequent discussion of the huge diversity of design options in the face of a lack of basic research on their consequences and comparability. We describe what topics have been studied, as well as how these studies have been designed, conducted, and reported. Frequently chosen design options and deficiencies are pointed out to support researchers of all levels of domain expertise in designing their own studies.
Accepted for publication at ACM Computing Surveys
References in corpus (5)
- An Empirical Validation of Cognitive Complexity as a Measure of Source Code Understandability
- Evaluating Code Readability and Legibility: An Examination of Human-centric Studies
- The Mind Is a Powerful Place: How Showing Code Comprehensibility Metrics Influences Code Understanding
- Anchoring Code Understandability Evaluations Through Task Descriptions
- On the Usage of Psychophysiological Data in Software Engineering: An Extended Systematic Mapping Study
Cited by in corpus (8)
- How Do Microservice API Patterns Impact Understandability? A Controlled Experiment
- Evidence Tetris in the Pixelated World of Validity Threats
- Evidence Profiles for Validity Threats in Program Comprehension Experiments
- A Systematic Literature Review of the Use of GenAI Assistants for Code Comprehension: Implications for Computing Education Research and Practice
- Apples, Oranges, and Software Engineering: Study Selection Challenges for Secondary Research on Latent Variables
- Measuring how changes in code readability attributes affect code quality evaluation by Large Language Models
- Can a domain-specific language improve program structure comprehension of data pipelines? A mixed-methods study
- Refactoring for Novices in Java: An Eye Tracking Study on the Extract vs. Inline Methods