Program Comprehension and Code Complexity Metrics: An fMRI Study
Norman Peitek, Sven Apel, Chris Parnin, André Brechmann, Janet Siegmund
Abstract
Background: Researchers and practitioners have been using code complexity metrics for decades to predict how developers comprehend a program. While it is plausible and tempting to use code metrics for this purpose, their validity is debated, since they rely on simple code properties and rarely consider particularities of human cognition. Aims: We investigate whether and how code complexity metrics reflect difficulty of program comprehension. Method: We have conducted a functional magnetic resonance imaging (fMRI) study with 19 participants observing program comprehension of short code snippets at varying complexity levels. We dissected four classes of code complexity metrics and their relationship to neuronal, behavioral, and subjective correlates of program comprehension, overall analyzing more than 41 metrics. Results: While our data corroborate that complexity metrics can-to a limited degree-explain programmers' cognition in program comprehension, fMRI allowed us to gain insights into why some code properties are difficult to process. In particular, a code's textual size drives programmers' attention, and vocabulary size burdens programmers' working memory. Conclusion: Our results provide neuro-scientific evidence supporting warnings of prior research questioning the validity of code complexity metrics and pin down factors relevant to program comprehension. Future Work: We outline several follow-up experiments investigating fine-grained effects of code complexity and describe possible refinements to code complexity metrics. PRELUDE Let us begin with a short subjective assessment of code complexity. Consider the following code snippet 1 : 1 public List<Integer> compute(int a, int b, int c)
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 00e21dde-82ab-4a6e-be23-bf985e7aeb00Cited by top-tier papers12
- Correlates of programmer efficacy and their link to experience: a combined EEG and eye-tracking studyNorman Peitek, Annabelle Bergum, Maurice Rekrut, Jonas Mucke et al.FSE 2022 · 28 citations
- Convergent Representations of Computer Programs in Human and Artificial Neural NetworksShashank Srikant, Ben Lipkin, Anna A. Ivanova, Evelina Fedorenko et al.NeurIPS 2022 · 16 citations
- Causal Relationships and Programming Outcomes: A Transcranial Magnetic Stimulation ExperimentHammad Ahmad, Madeline Endres, Kaia Newman, Priscila Santiesteban et al.ICSE 2024 · 2 citations
- High Expectations: An Observational Study of Programming and Cannabis IntoxicationWenxin He, Manasvi Parikh, Westley Weimer, Madeline EndresICSE 2024 · 2 citations
- On the Relationship between Code Verifiability and UnderstandabilityKobi Feldman, Martin Kellogg, Oscar ChaparroFSE 2023 · 2 citations
Builds on1
Related papers
- Rethinking Code Complexity Through the Lens of Large Language ModelsChen Xie, Xiaodong Gu, Yuling Shi, Beijun ShenICML 2026
- The Role of Working Memory in Program TracingWill Crichton, Maneesh Agrawala, Pat HanrahanCHI 2021 · 13 citations
- The Mind Is a Powerful Place: How Showing Code Comprehensibility Metrics Influences Code UnderstandingMarvin Wyrich, Andreas Preikschat, Daniel Graziotin, Stefan WagnerICSE 2021 · 24 citations
- Developers' Visuo-spatial Mental Model and Program ComprehensionAbir Bouraffa, Gian-Luca Fuhrmann, Walid MaalejICSE 2023 · 1 citation
- Are Humans and LLMs Confused by the Same Code? An Empirical Study on Fixation-Related Potentials and LLM PerplexityYoussef Abdelsalam, Norman Peitek, Anna-Maria Maurer, Mariya Toneva et al.ICSE 2026
