An introduction to program comprehension for computer science educators
The area of program comprehension comprises a vast body of literature, with numerous
conflicting models having been proposed. Models are typically grounded in experimental …
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' …
programs, programming concepts, and programming in general. They guide programmers' …
An empirical validation of cognitive complexity as a measure of source code understandability
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 …
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 …
Previous studies have reported mixed results regarding the relationship between students'
use of self-regulated learning (SRL) strategies and their performance in introductory …
use of self-regulated learning (SRL) strategies and their performance in introductory …
40 years of designing code comprehension experiments: A systematic mapping study
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 …
than 40 years ago. Consequently, many experiments were conducted to find out how …
EASE: An Effort-aware Extension of Unsupervised Key Class Identification Approaches
Key class identification approaches aim at identifying the most important classes to help
developers, especially newcomers, start the software comprehension process. So far, many …
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 …
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
Static code analysis tools and integrated development environments present developers
with quality-related software metrics, some of which describe the understandability of source …
with quality-related software metrics, some of which describe the understandability of source …
Do developer perceptions have borders? Comparing C code responses across continents
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 …
atoms of confusion (or atoms for short), that can interfere with program comprehension. The …
A historical, textual analysis approach to feature location
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 …
functionality in software systems. A common approach is to leverage textual information in …