Program navigation analysis to support task-aware software development environments
Abstract
Performing a software modification requires a developer to investigate a program to find and understand the code relevant to the modification task. Although standard program investigation tools can help developers in this activity, developers often get lost in the complex web of information available about a program. To address this problem we propose to use program navigation analysis, a technique to record and analyze the actions of a developer using a software development environment in order to infer the current task and the subset of a program relevant to this task. Our hypothesis is that we can use the results of program navigation analysis to dynamically configure the interface of a software development environment in a way that alleviates the problems of disorientation experienced by developers. In this paper, we define program navigation analysis and present an overview of its underpinnings, summarize our experience with the technique, highlight important technical challenges, and discuss the benefits that can be reaped from use of the technique.
Integrity signals
Registry
Cites
Statistics
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?
Only little research has been performed on task switch detection in the software development domain and all of this research has focused solely on software development tasks within the IDE.
“Only little research has been performed on task switch detection in the software development domain and all of this research has focused solely on software development tasks within the IDE.”
From Detecting Developers' Task Switches and Types (2022) · cites this paper as [28]
Robillard and Murphy proposed to use program navigation logs to infer development tasks and built a prototype without evaluating it.
“Robillard and Murphy [28] proposed to use program navigation logs to infer development tasks and they built a prototype, however, without evaluating it.”
From Detecting Developers' Task Switches and Types (2022) · cites this paper as [28]
Cites
Hypertext: An Introduction and Survey
Conklin (1987) · Computer · doi:10.1109/mc.1987.1663693 · Cited by 2,733 · see citing works
SMALLTALK-80: the interactive programming environment
Goldberg, A. (1984) · HAL (Le Centre pour la Communication Scientifique Directe) · Cited by 718 · see citing works
Software Change Impact Analysis
Arnold, R. S. (1996) · Medical Entomology and Zoology · Cited by 673 · see citing works
Hill, W. C., Hollan, J. D., Wroblewski, D., & McCandless, T. (1992) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/142750.142751 · Cited by 518 · see citing works
Wexelblat, A., & Maes, P. (1999) · CHI Conference on Human Factors in Computing Systems · doi:10.1145/302979.303060 · Cited by 360 · see citing works
The Interlisp Programming Environment
Teitelman, W., & Masinter, L. M. (1981) · Computer · doi:10.1109/c-m.1981.220410 · Cited by 356 · see citing works
ADAPTIVE INTERFACES AND AGENTS
Jameson, A. (2007) · CRC Press eBooks · doi:10.1201/9781410615862-33 · Cited by 299 · see citing works
An examination of software engineering work practices
Singer, J., Lethbridge, T. C., Vinson, N. G., & Anquetil, N. (2010) · doi:10.1145/1925805.1925815 · Cited by 298 · see citing works
Robillard, M. P., & Murphy, G. C. (2002) · Proceedings/Proceedings - International Conference on Software Engineering · doi:10.1145/581339.581390 · Cited by 288 · see citing works
Self-citationThe C information abstraction system
Chen, Y.-F., Nishimoto, M., & Ramamoorthy, C. V. (1990) · IEEE Transactions on Software Engineering · doi:10.1109/32.48940 · Cited by 279 · see citing works
Can We Ever Escape from Data Overload? A Cognitive Systems Diagnosis
Woods, D. D., Patterson, E. S., & Roth, E. M. (2002) · Cognition Technology & Work · doi:10.1007/s101110200002 · Cited by 241 · see citing works
Navigating and querying code without getting lost
Janzen, D., & Volder, K. D. (2003) · International Conference on Aspect-Oriented Software Development (AOSD) · doi:10.1145/643603.643622 · Cited by 234 · see citing works
Spatial metaphors and disorientation in hypertext browsing
KIM, H., & HIRTLE, S. C. (1995) · Behaviour & Information Technology · doi:10.1080/01449299508914637 · Cited by 224 · see citing works
Characterizing user navigation through complex data structures
Canter, D. V., Rivers, R., & Storrs, G. (1985) · Behaviour and Information Technology · doi:10.1080/01449298508901791 · Cited by 195 · see citing works
Eclipse Platform Technical Overview
Als-Nscort (2003) · Purdue e-Pubs (Purdue University System) · Cited by 176 · see citing works
Tools for reading and browsing hypertext
Foss, C. L. (1989) · Information Processing & Management · doi:10.1016/0306-4573(89)90068-x · Cited by 113 · see citing works
Exploiting the map metaphor in a tool for software evolution
Griswold, W. G., Yuan, J. J., & Kato, Y. (2001) · doi:10.5555/381473.381501 · Cited by 95 · see citing works
Support for maintaining object-oriented programs
Lejter, M., Meyers, S., & Reiss, S. P. (1992) · IEEE Transactions on Software Engineering · doi:10.1109/32.184759 · Cited by 92 · see citing works
Feat: A tool for locating, describing, and analyzing concerns in source code
Robillard, M. P., & Murphy, G. C. (2003) · Cited by 65 · see citing works
Self-citationAutomatically inferring concern code from program investigation activities
Robillard, M. P., & Murphy, G. C. (2004) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.2003.1240310 · Cited by 56 · see citing works
Self-citationThe Trellis programming environment
O’Brien, P., Halbert, D. C., & Kilian, M. F. (1987) · Conference on Object-Oriented Programming Systems, Languages, and Applications · doi:10.1145/38765.38815 · Cited by 51 · see citing works
Managing crosscutting concerns during software evolution tasks
Baniassad, E., Murphy, G. C., Schwanninger, C., & Kircher, M. (2002) · International Conference on Aspect-Oriented Software Development (AOSD) · doi:10.1145/508386.508401 · Cited by 44 · see citing works
A Study of Program Evolution Involving Scattered Concerns
Robillard, M. P., & Murphy, G. C. (2003) · Cited by 5 · see citing works
Self-citation
Flagged first, then by citations
Cited by
Sorted by citations
Robillard, M. P., & Warr, F. W. (2005) · Eclipse Technology eXchange · doi:10.1145/1117696.1117710 · Cited by 89 · see citing works
Self-citationThe Emergent Structure of Development Tasks
Murphy, G. C., Kersten, M., Robillard, M. P., & Čubranić, D. (2005) · Lecture Notes in Computer Science · doi:10.1007/11531142_2 · Cited by 69 · see citing works
Self-citationAutomated Identification of Tasks in Development Sessions
Coman, I. D., & Sillitti, A. (2008) · 2008 16th IEEE International Conference on Program Comprehension · doi:10.1109/icpc.2008.16 · Cited by 38 · see citing works
The Influence of the Task on Programmer Behaviour
Ying, A. T. T., & Robillard, M. P. (2011) · 2011 IEEE 19th International Conference on Program Comprehension · doi:10.1109/icpc.2011.35 · Cited by 41 · see citing works
Self-citationDetecting Developers' Task Switches and Types
Meyer, A. N., Satterfield, C., Zuger, M., Kevic, K., Murphy, G. C., Zimmermann, T., & Fritz, T. (2022) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2020.2984086 · Cited by 14 · see citing works
“The approaches Mylyn by Kersten and Murphy [6], and TaskTracer by Dragunov et al. [7], both explicitly capture task context by automatically recording user interactions within the IDE or the desktop environment respectively, given the user manually indicates the start and end of a task.”
BackgroundMajid, I., & Robillard, M. P. (2005) · Eclipse Technology eXchange · doi:10.1145/1117696.1117711 · Cited by 12 · see citing works
Self-citationZou, L., & Godfrey, M. W. (2012) · 2012 28th IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsm.2012.6405247 · Cited by 10 · see citing works
Automated Segmentation of Development Sessions Into Task-Related Subsections
Coman, I. D., & Sillitti, A. (2009) · International Journal of Computers and Applications · doi:10.1080/1206212x.2009.11441937 · Cited by 10 · see citing works
Characterizing Task-Relevant Information in Natural Language Software Artifacts
Marques, A., Bradley, N., & Murphy, G. C. (2020) · IEEE International Conference on Software Maintenance and Evolution · doi:10.1109/icsme46990.2020.00052 · Cited by 6 · see citing works
Mining Software Information Sites to Recommend Cross-Language Analogical Libraries
Nafi, K. W., Asaduzzaman, M., Roy, B., Roy, C. K., & Schneider, K. A. (2022) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner53432.2022.00109 · Cited by 6 · see citing works
Understanding Programmers' Working Context by Mining Interaction Histories
Zou, L. (2013) · UWSpace (University of Waterloo)
- Authors
- Robillard, M. P.
- Affiliations
- University of British Columbia (CA)
- Corresponding author
- Robillard, M.P.
- ORCID
- Robillard, M.P.
- Venue
- "Workshop on Directions in Software Engineering Environments (WoDiSEE2004)" W2S Workshop - 26th International Conference on Software Engineering
- Publisher
- IEE
- Published
- 2004
- Volume
- 2004
- Pages
- 83-88
- OpenAlex
- W2100510954
- Cited by
- 11
- References
- 23
- Citations by year
- 2022: 1 · 2020: 2 · 2013: 1 · 2012: 1
- FWCI
- 0.74
- Type
- conference paper
- Language
- en
- Open access
- closed
- 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 › Artificial Intelligence › Advanced Software Engineering Methodologies
- Keywords
- program comprehension, software modification
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