|
ABSTRACT
Recently, several innovative tools have found their way into mainstream use in modern development environments. However, most of these tools have focused on creating and modifying code, despite evidence that most of programmers' time is spent understanding code as part of maintenance tasks. If new tools were designed to directly support these maintenance tasks, what types would be most helpful? To find out, a study of expert Java programmers using Eclipse was performed. The study suggests that maintenance work consists of three activities: (1) forming a working set of task-relevant code fragments; (2) navigating the dependencies within this working set; and (3) repairing or creating the necessary code. The study identified several trends in these activities, as well as many opportunities for new tools that could save programmers up to 35% of the time they currently spend on maintenance tasks.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
Boehm-Davis, D. A., Fox, J. E., and Philips, B. H., Techniques for Exploring Program Comprehension, Empirical Studies of Programmers, Washington D.C., 3--37, 1996.
|
| |
4
|
|
| |
5
|
|
| |
6
|
Crosby, M. E., Scholtz, J., and Widenbeck, S., The Roles Beacons Play in Comprehension for Novice and Expert Programmers, 14th Workshop of the Psychology of Programming Interest Group, Brunel University, 58--73, 2002.
|
| |
7
|
|
| |
8
|
|
 |
9
|
|
 |
10
|
Victor M. González , Gloria Mark, "Constant, constant, multi-tasking craziness": managing multiple working spheres, Proceedings of the SIGCHI conference on Human factors in computing systems, p.113-120, April 24-29, 2004, Vienna, Austria
[doi> 10.1145/985692.985707]
|
| |
11
|
Green, T. R. G., Petre, M., and Bellamy, R. K. E., Comprehensibility of Visual and Textual Programs: A Test of Superlativism against the 'Match-Mismatch' Conjecture, Empirical Studies of Programmers, 4th Workshop, 121--146, 1991.
|
| |
12
|
Ko, A. J. and Myers, B. A., A Framework and Methodology for Studying the Causes of Software Errors in Programming Systems, To appear in the Journal of Visual Languages and Computing, 2004.
|
 |
13
|
|
| |
14
|
Müller, H. A., Orgun, M. A., Tilley, S. R., and Uhl, J. S., A Reverse Engineering Approach to Subsystem Structure Identification, Journal of Software Maintenance: Research and Practice, 5, 4, 181--204, 1993.
|
| |
15
|
Perlow, L., The Time Famine: Toward a Sociology of Work Time, Administrative Science Quarterly, 44, 57--81, 1999.
|
 |
16
|
|
| |
17
|
|
| |
18
|
|
CITED BY 25
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mauro Cherubini , Gina Venolia , Rob DeLine , Andrew J. Ko, Let's go to the whiteboard: how and why software developers use drawings, Proceedings of the SIGCHI conference on Human factors in computing systems, April 28-May 03, 2007, San Jose, California, USA
|
|
|
|
|
|
Rajesh Krishna Balan , Darren Gergle , Mahadev Satyanarayanan , James Herbsleb, Simplifying cyber foraging for mobile devices, Proceedings of the 5th international conference on Mobile systems, applications and services, June 11-13, 2007, San Juan, Puerto Rico
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Scott D. Fleming , Eileen Kraemer , R. E. K. Stirewalt , Shaohua Xie , Laura K. Dillon, A study of student strategies for the corrective maintenance of concurrent software, Proceedings of the 30th international conference on Software engineering, May 10-18, 2008, Leipzig, Germany
|
|
|
|
|
|
|
|
|
|
REVIEW
"Andrew Brooks : Reviewer"
Do modern integrated development environments (IDEs) support the work of software maintenance well? To find out, ten experienced Java programmers were video recorded, for around 70 minutes, while they tackled five maintenance tasks on a 503-line p
more...
|