An introduction to program comprehension for computer science educators

C Schulte, T Clear, A Taherkhani, T Busjahn… - Proceedings of the …, 2010 - dl.acm.org
The area of program comprehension comprises a vast body of literature, with numerous
conflicting models having been proposed. Models are typically grounded in experimental …

[HTML][HTML] Synthesizing research on programmers' mental models of programs, tasks and concepts—A systematic literature review

A Heinonen, B Lehtelä, A Hellas… - Information and Software …, 2023 - Elsevier
Context: Programmers' mental models represent their knowledge and understanding of
programs, programming concepts, and programming in general. They guide programmers' …

An empirical validation of cognitive complexity as a measure of source code understandability

M Muñoz Barón, M Wyrich, S Wagner - Proceedings of the 14th ACM …, 2020 - dl.acm.org
Background: Developers spend a lot of their time on understanding source code. Static code
analysis tools can draw attention to code that is difficult for developers to understand …

[HTML][HTML] Exploring differences in self-regulated learning strategy use between high-and low-performing students in introductory programming: An analysis of eye …

G Cheng, D Zou, H Xie, FL Wang - Computers & Education, 2024 - Elsevier
Previous studies have reported mixed results regarding the relationship between students'
use of self-regulated learning (SRL) strategies and their performance in introductory …

40 years of designing code comprehension experiments: A systematic mapping study

M Wyrich, J Bogner, S Wagner - ACM Computing Surveys, 2023 - dl.acm.org
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 …

EASE: An Effort-aware Extension of Unsupervised Key Class Identification Approaches

W Pan, M Kessentini, H Ming, Z Yang - ACM Transactions on Software …, 2024 - dl.acm.org
Key class identification approaches aim at identifying the most important classes to help
developers, especially newcomers, start the software comprehension process. So far, many …

Exploring programmers' api learning processes: Collecting web resources as external memory

G Gao, F Voichick, M Ichinco… - 2020 IEEE Symposium …, 2020 - ieeexplore.ieee.org
Modern programming frequently requires the use of APIs (Application Programming
Interfaces). Yet many programmers struggle when trying to learn APIs. We ran an …

The mind is a powerful place: How showing code comprehensibility metrics influences code understanding

M Wyrich, A Preikschat, D Graziotin… - 2021 IEEE/ACM 43rd …, 2021 - ieeexplore.ieee.org
Static code analysis tools and integrated development environments present developers
with quality-related software metrics, some of which describe the understandability of source …

Do developer perceptions have borders? Comparing C code responses across continents

Y Zhuang, Y Yan, LA DeLong, MK Yeh - Software Quality Journal, 2024 - Springer
Recent studies have empirically validated the existence of small patterns in C code, named
atoms of confusion (or atoms for short), that can interfere with program comprehension. The …

A historical, textual analysis approach to feature location

M Chochlov, M English, J Buckley - Information and Software Technology, 2017 - Elsevier
Context Feature location is the task of finding the source code that implements specific
functionality in software systems. A common approach is to leverage textual information in …