2012
DOI: 10.1007/bf03323460
|View full text |Cite
|
Sign up to set email alerts
|

Challenges in Program Comprehension

Abstract: Program comprehension as a subtask of software maintenance and evolution consumes about half of the time spent by the developers who have to explore a systems' source code to find and understand the subset of the code which is relevant to their current task. The problems encountered during the comprehension process influence the time spent on program comprehension to a great extent. Although many empirical studies have been conducted in the field of program comprehension, only little is known about the challen… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

1
12
0

Year Published

2012
2012
2019
2019

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 13 publications
(13 citation statements)
references
References 5 publications
1
12
0
Order By: Relevance
“…They use additional standalone tools such as the rudimentary text search tool grep to look for specific words in different artifacts because they do not know all search features of the IDE. What we learned from our case study is, that beside the developers' missing knowledge about IDE capabilities described by [13], current IDEs lack the necessary integration of the different views that need to be co-evolved (requirements, architecture, code) and a uniform representation of the artifacts involved. The only mapping between these views can be done by means of textual matching, often carried out manually.…”
Section: Introductionmentioning
confidence: 97%
See 1 more Smart Citation
“…They use additional standalone tools such as the rudimentary text search tool grep to look for specific words in different artifacts because they do not know all search features of the IDE. What we learned from our case study is, that beside the developers' missing knowledge about IDE capabilities described by [13], current IDEs lack the necessary integration of the different views that need to be co-evolved (requirements, architecture, code) and a uniform representation of the artifacts involved. The only mapping between these views can be done by means of textual matching, often carried out manually.…”
Section: Introductionmentioning
confidence: 97%
“…it the most expensive type of activity in the entire software evolution process. A recent observational study [10] on how professional developers comprehend programs, allowed its authors to identify four recurring challenges, which make program comprehension especially difficult [13]. Three of them have a profound impact on the evolution of both requirements and architecture design.…”
Section: Introductionmentioning
confidence: 99%
“…To decide where to set a breakpoint, developers use their observations, recall their experiences with similar debugging tasks and formulate hypotheses about their tasks [14]. Tiarks and Röhms [15] observed that developers have difficulties in finding locations for setting the breakpoints, suggesting that this is a demanding activity and that supporting developers to set appropriate breakpoints could reduce debugging effort.…”
Section: Introductionmentioning
confidence: 99%
“…Source code is an essential artefact for software maintainers to become familiar with a software system (Carvalho, 2013;Corley, Kammer, & Kraft, 2012;Cornelissen, Zaidman, Society, & van Deursen, 2011;Sharafi, 2011;Tiarks, Röhm, & Roehm, 2013;Yazdanshenas & Moonen, 2012). Nowadays, the expansion in size and difficulty of software system led to difficulties in maintaining the system.…”
Section: Introductionmentioning
confidence: 99%