The DOI matches its Crossref record; 22 of the 22 references it cites were found in a registry or an index.
Questions programmers ask during software evolution tasks
Abstract
Though many tools are available to help programmers working on change tasks, and several studies have been conducted to understand how programmers comprehend systems, little is known about the specific kinds of questions programmers ask when evolving a code base. To fill this gap we conducted two qualitative studies of programmers performing change tasks to medium to large sized programs. One study involved newcomers working on assigned change tasks to a medium-sized code base. The other study involved industrial programmers working on their own change tasks on code with which they had experience. The focus of our analysis has been on what information a programmer needs to know about a code base while performing a change task and also on howthey go about discovering that information. Based on this analysis we catalog and categorize 44 different kinds of questions asked by our participants. We also describe important context for how those questions were answered by our participants, including their use of tools.
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
In the citing paper
“Despite these gains, however, little is known at the foundational level of developer navigation-how well developers go about choosing where to navigate.”
From Foraging and navigations, fundamentally: developers' predictions of value and cost (2016) · cites this paper as [42]
In the citing paper
“These studies have also revealed that developers seek this information to answer specific questions that they have [23,42], to test mental hypotheses about how an existing program works [4], to develop an overall sense of context [13], or to follow leads that simply look relevant to their current task [26].”
From Foraging and navigations, fundamentally: developers' predictions of value and cost (2016) · cites this paper as [42]
Citations
Cites
Wagner, H. R., Glaser, B. G., & Strauss, A. L. (1968) · Social Forces · doi:10.2307/2575405 · Cited by 46,525
(1998) · Sage eBooks · Cited by 38,631
The Think Aloud Method: A Practical Guide to Modelling Cognitive Processes
van Someren, M. (1994) · Cited by 975
Empirical Studies of Programming Knowledge
Soloway, E. M., & Ehrlich, K. (1984) · IEEE Transactions on Software Engineering · doi:10.1109/tse.1984.5010283 · Cited by 875
Strengthening the case for pair programming
Williams, L. A., Kessler, R. R., Cunningham, W., & Jeffries, R. (2000) · IEEE Software · doi:10.1109/52.854064 · Cited by 779
Program comprehension during software maintenance and evolution
von Mayrhauser, A., & Vans, A. M. (1995) · Computer · doi:10.1109/2.402076 · Cited by 578
Stimulus structures and mental representations in expert comprehension of computer programs
Pennington, N. (1987) · Cognitive Psychology · doi:10.1016/0010-0285(87)90007-7 · Cited by 526
Constructive Interaction and the Iterative Process of Understanding
Miyake, N. (1986) · Cognitive Science · doi:10.1207/s15516709cog1002_2 · Cited by 445
Cognitive processes in program comprehension
Letovsky, S. I. (1987) · Journal of Systems and Software · doi:10.1016/0164-1212(87)90032-x · Cited by 353
The Interlisp Programming Environment
Teitelman, W., & Masinter, L. M. (1981) · Computer · doi:10.1109/c-m.1981.220410 · Cited by 351
How effective developers investigate source code: an exploratory study
Robillard, M. P., Coelho, W., & Murphy, G. C. (2004) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2004.101 · Cited by 263
Self-citationCognitive design elements to support the construction of a mental model during software exploration
Storey, M.-A., Fracchia, F. D., & Müller, H. A. (1999) · Journal of Systems and Software · doi:10.1016/s0164-1212(98)10055-9 · Cited by 240
Eliciting design requirements for maintenance-oriented IDEs
Ko, A. J., Aung, H. H., & Myers, B. A. (2005) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1062455.1062492 · Cited by 182
How do program understanding tools affect how programmers understand programs?
Storey, M.-A., Wong, K. K., & Müller, H. A. (2000) · Science of Computer Programming · doi:10.1016/s0167-6423(99)00036-2 · Cited by 156
Towards understanding programs through wear-based filtering
DeLine, R., Khella, A., Czerwinski, M., & Robertson, G. (2005) · Proceedings of the 2005 ACM symposium on Software visualization · doi:10.1145/1056018.1056044 · Cited by 91
From code understanding needs to reverse engineering tool capabilities
von Mayrhauser, A., & Vans, A. M. (2002) · International Workshop on Computer-Aided Software Engineering (CASE) · doi:10.1109/case.1993.634824 · Cited by 76
Preserving knowledge in design projects
Herbsleb, J. D., & Kuwana, E. (1993) · ACM SIGCHI Conference on Human Factors in Computing Systems (CHI) · doi:10.1145/169059.169061 · Cited by 55
Early field experience with the Software Reconnaissance technique for program comprehension
Wilde, N., & Casey, C. J. (2002) · doi:10.1109/wcre.1996.558934 · Cited by 49
Partial comprehension of complex programs (enough to perform maintenance)
Erdos, K., & Sneed, H. M. (2002) · doi:10.1109/wpc.1998.693322 · Cited by 46
Managing software change tasks: an exploratory study
Sillito, J., Volder, K. D., Fisher, B., & Murphy, G. C. (2005) · International Symposium on Empirical Software Engineering · doi:10.1109/isese.2005.1541811 · Cited by 39
Self-citationInteractive Explanation of Software Systems
Johnson, W. L., & Erdem, A. (1997) · Automated Software Engineering · doi:10.1023/a:1008655629091 · Cited by 33
Task oriented software understanding
Erdem, A., Johnson, W. L., & Marsella, S. (2002) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.1998.732658 · Cited by 30
Research works printed but not linked: 10
- 10.5555/521138.786884 · DOI
- 10.5555/580914.858205 · DOI
- Flor N. V., 1991, Proceedings of the Empirical Studies of Programmers: Fourth Workshop, 36
- Glaser B. G., 1967, Aldine Publishing
- 10.5555/164632.260021 · DOI
- 10.5555/788007.788157 · DOI
- Letovsky S., 1986, Proceedings of Conference on Empirical Studies of Programmers, 80
- Strauss A. L., 1998, Sage Publications
- van Someren M. W., 1994, Academic Press
- Wilde N., 1996, Proceedings of WCRE, 270
Cited by
Sorted by citations
Information Needs in Collocated Software Development Teams
Ko, A. J., DeLine, R., & Venolia, G. (2007) · 29th International Conference on Software Engineering (ICSE'07) · doi:10.1109/icse.2007.45 · Cited by 499
Automatic patch generation learned from human-written patches
Kim, D., Nam, J., Song, J., & Kim, S. (2013) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2013.6606626 · Cited by 471
Automatic patch generation learned from human-written patches
Kim, D., Nam, J., Song, J., & Kim, S. (2013) · Cited by 438
How do programmers ask and answer questions on the web? (NIER track)
Treude, C., Barzilay, O., & Storey, M. (2011) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1985793.1985907 · Cited by 398
Asking and Answering Questions during a Programming Change Task
Sillito, J., Murphy, G. C., & Volder, K. D. (2008) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2008.26 · Cited by 320
Self-citation
Metadata
- Authors
- Sillito, J., Murphy, G. C., & De Volder, K.
- Affiliations
- University of British Columbia (CA)
- University of British Columbia, Vancouver, B.C. Canada
- Venue
- Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
- Publisher
- ACM
- Published
- 2006-11-05
- Pages
- 23-34
- OpenAlex
- W2080534028
- Semantic Scholar
- 3dda5d9a5e4eb27760e8a4a381a1057ce0ba7d65
- Cited by
- 270
- References
- 22
- Citations by year
- 2026: 6 · 2025: 14 · 2024: 9 · 2023: 1 · 2022: 10 · 2021: 11 · 2020: 9 · 2019: 10 · 2018: 12 · 2017: 18 · 2016: 16 · 2015: 20 · 2014: 20 · 2013: 25 · 2012: 23
- FWCI
- 9.47
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) (publishedVersion)
- Funders
- Natural Sciences and Engineering Research Council of Canada
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Physical Sciences › Computer Science › Software › Advanced Software Engineering Methodologies
- Keywords
- software evolution, information needs, novice programmers, software tools
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review