2006
DOI: 10.1007/s11219-006-9216-4
|View full text |Cite
|
Sign up to set email alerts
|

Theories, tools and research methods in program comprehension: past, present and future

Abstract: Program comprehension research can be characterized by both the theories that provide rich explanations about how programmers understand software, as well as the tools that are used to assist in comprehension tasks. In this paper, I review some of the key cognitive theories of program comprehension that have emerged over the past thirty years. Using these theories as a canvas, I then explore how tools that are commonly used today have evolved to support program comprehension. Specifically, I discuss how the th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
55
0

Year Published

2011
2011
2023
2023

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 91 publications
(56 citation statements)
references
References 73 publications
(78 reference statements)
1
55
0
Order By: Relevance
“…Thus, it is an illusion for project managers to focus on the professional status when recruiting a software design immigrant [19]. For practitioners, the fact that the students want to prove their know-how and that they frequently have class exams with short durations could justify their performance on accuracy and time spent.…”
Section: Rq3: Status Vs Expertisementioning
confidence: 99%
See 1 more Smart Citation
“…Thus, it is an illusion for project managers to focus on the professional status when recruiting a software design immigrant [19]. For practitioners, the fact that the students want to prove their know-how and that they frequently have class exams with short durations could justify their performance on accuracy and time spent.…”
Section: Rq3: Status Vs Expertisementioning
confidence: 99%
“…It relates both to the engineers' performance (or acquired skills) and the way to improve their skills. In software engineering, the study of expertise can help project managers recruiting design immigrants (designers new to a project, similar to "programmers new to a project" [19]). …”
Section: A Experts and Novices Comparisonmentioning
confidence: 99%
“…Furthermore, programmers use different types of problem-solving activities when initially considering a programming problem, examples being the top-down, bottom-up and integrated strategies. The top-down approach addresses the 'big picture' and subsequently decomposes it into smaller subproblems (Storey, 2006). By contrast, when using the bottom-up strategy, programmers focus initially on details of the individual parts that are combined into higher-level abstractions (Storey, 2006).…”
Section: Knowledge and Strategies Used In The Programming Processmentioning
confidence: 99%
“…The top-down approach addresses the 'big picture' and subsequently decomposes it into smaller subproblems (Storey, 2006). By contrast, when using the bottom-up strategy, programmers focus initially on details of the individual parts that are combined into higher-level abstractions (Storey, 2006). The integrated strategy combines top-down and bottom-up strategies in different levels of abstraction.…”
Section: Knowledge and Strategies Used In The Programming Processmentioning
confidence: 99%
“…Programmers need to go through diAEerent stages, such as coming to an understanding of desired behavior, gathering relevant information, and testing hypotheses [3]. At each of these diAEerent stages, they usually need to develop goals, hypotheses, and ask questions [15,3,14]. Moreover, in a large software system, task-related information is often scattered around in diAEerent places [8].…”
Section: Introductionmentioning
confidence: 99%