Title :
Eliciting design requirements for maintenance-oriented IDEs: a detailed study of corrective and perfective maintenance tasks
Author :
Ko, Andrew J. ; Aung, Htet Htet ; Myers, Brad A.
Author_Institution :
Human-Comput. Interaction Inst., Carnegie Mellon Univ., Pittsburgh, PA, USA
Abstract :
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.
Keywords :
programming environments; reverse engineering; software maintenance; software tools; systems analysis; Eclipse; corrective maintenance; design requirements elicitation; expert Java programmers; maintenance-oriented IDE; perfective maintenance; Human factors; Java; Modems; Navigation; Permission; Programming environments; Programming profession; Software engineering; Software maintenance; Software tools;
Conference_Titel :
Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on
Print_ISBN :
1-59593-963-2
DOI :
10.1109/ICSE.2005.1553555