ABSTRACT
When working on a large software system, a programmer typically spends an inordinate amount of time sifting through thousands of artifacts to find just the subset of information needed to complete an assigned task. All too often, before completing the task the programmer must switch to working on a different task. These task switches waste time as the programmer must repeatedly find and identify the information relevant to the task-at-hand. In this paper, we present a mechanism that captures, models, and persists the elements and relations relevant to a task. We show how our task context model reduces information overload and focuses a programmer's work by filtering and ranking the information presented by the development environment. A task context is created by monitoring a programmer's activity and extracting the structural relationships of program artifacts. Operations on task contexts integrate with development environment features, such as structure display, search, and change management. We have validated our approach with a longitudinal field study of Mylar, our implementation of task context for the Eclipse development environment. We report a statistically significant improvement in the productivity of 16 industry programmers who voluntarily used Mylar for their daily work.
- Backus, J.W. Automatic programming: properties and performance of FORTRAN systems I and II. Proceedings of the Symposium on the Mechanisation of Thought Processes, The National Physical Laboratory, 1958.Google Scholar
- Bellotti, V., Dalal, B., Good, N., Bobrow, D. G., Ducheneaut, N. What a to-do: studies of task management towards the design of a personal task list manager. Proceedings of the Conference on Human Factors in Computing Systems. p. 735--742. 2004. Google ScholarDigital Library
- Card, S. K. and D. Nation. Degree-of-Interest Trees: A Component of an Attention-Reactive User Interface. Advanced Visual Interfaces Conference, 2002. Google ScholarDigital Library
- DeLine, R., Czerwinski, C. and Robertson, G. Easing program comprehension by sharing navigation data. Proceedings of IEEE Symposium on Visual Languages & Human-Centered Computing. p. 241--248, 2005. Google ScholarDigital Library
- DeLine, R. Khella, A. Czerwinski, M. Robertson, G. Visualization frameworks and empirical evaluation: Towards understanding programs through wear-based filtering. Proceedings of the 2004 ACM Symposium on Software Visualization. p. 183--192, 2005. Google ScholarDigital Library
- Dourish, P., Edwards, W. K., LaMarca, A., Salisbury, M. Using properties for uniform interaction in the Presto document system. Proceedings of the 12th Annual ACM Symposium on User Interface Software and Technology. p. 55--64. 1999. Google ScholarDigital Library
- Dragunov, A.N., Dietterich, T.G., Johnsrude, K., McLaughlin, M., Li, L., Herlocker, J.L. TaskTracer: A Desktop Environment to Support Multi-tasking Knowledge Workers. International Conference on Intelligent User Interfaces. p. 75--82, 2005. Google ScholarDigital Library
- Furnas, G.W. Generalized fisheye views. Proceedings of the Conference on Human Factors in Computing Systems. p.16--23, 1986. Google ScholarDigital Library
- Gonzales, V.M., Mark, G. Constant, constant, multi-tasking craziness: managing multiple working spheres. Proceedings of the Conference on Human Factors in Computing Systems. p. 113--120, 2004. Google ScholarDigital Library
- Harrison, W., Ossher, H., Tarr, P., Kruskal, V. and Tip, F. CAT: A Toolkit for Assembling Concerns. Research Report RC22686, IBM, Yorktown Heights, NY, Dec. 2002.Google Scholar
- Hijikata, Y. User modeling II: Implicit user profiling for on demand relevance feedback. Proceedings of the 9th international conference on Intelligent User Interfaces. p. 198--205, 2004. Google ScholarDigital Library
- Hilbert, D. M., Redmiles, D.F. Separating the wheat from the chaff in Internet-mediated user feedback expectation-driven event monitoring. ACM SIGGROUP Bulletin. p. 35--40, 1999. Google ScholarDigital Library
- Hill, W. C., Hollan, J. D., Wroblewski, D., and McCandless, T. Edit wear and read wear. Proceedings of the Conference on Human Factors and Computing Systems, p. 2--9. 1992. Google ScholarDigital Library
- Jacobs, T. Musial, B. Debugging and finding faults: Interactive visual debugging with UML. Proceedings of the 2003 ACM Symposium on Software Visualization. p. 115--122, 2003. Google ScholarDigital Library
- Janzen, D. and de Volder, K. Programming With Crosscutting Effective Views, Proceedings of the European Conference on Object-Oriented Programming. p. 195--218, 2004.Google Scholar
- Kaptelinin, V. Integrating tools and tasks: UMEA: translating interaction histories into project contexts. Proceedings of the Conference on Human Factors in Computing System. p. 353--360, 2003. Google ScholarDigital Library
- Kersten, M., Murphy, G. C., Mylar: a degree-of-interest model for IDEs. Proceedings of the 4th international conference on Aspect-Oriented Software Development. p. 159--168, 2005. Google ScholarDigital Library
- Merriam-Webster's collegiate dictionary (11th ed.), Springfield, MA: Merriam-Webster. 2003.Google Scholar
- Murphy, G. C., Kersten, M., Findlater, L., How are Java Software Developers using the Eclipse IDE? IEEE Software. Vol. 23, No. 5. 2006. Google ScholarDigital Library
- Murphy, G., Kersten, M., Robillard, M. and Cubranic, D. The Emergent Structure of Development Tasks. Proceedings of the European Conference on Object-Oriented Programming. p. 33--48, 2005. Google ScholarDigital Library
- Parnas D. L., On the Criteria to be Used in Decomposing Systems into Modules, Communications of the ACM, Vol. 15, No. 12, 1972. Google ScholarDigital Library
- Rhodes, B. and Maes, P. Just-in-time information retrieval agents. IBM Systems Journal special issue on the MIT Media Laboratory, 39(3-4):685--704, 2000. Google ScholarDigital Library
- Robillard, M. P., and Murphy, G.C. Concern Graphs: Finding and Describing Concerns Using Structural Program Dependencies. IEEE 24th International Conference on Software Engineering. p. 406--416, 2002. Google ScholarDigital Library
- Robillard, M.P., Automatic Generation of Suggestions for Program Investigation. Proceedings of the Joint European Software Engineering Conference and ACM Symposium on the Foundations of Software Engineering, p. 11--20, 2005. Google ScholarDigital Library
- Shen, J., Li, L., Dietterich, T.G., Herlocker, J.L., A hybrid learning system for recognizing user tasks from desk activities and email messages. International Conference on Intelligent User Interfaces. p. 86--92, 2006. Google ScholarDigital Library
- Teitelman, W. and Masinter, L. The Interlisp programming environment. IEEE Computer, vol. 14, 25--34, 1981.Google ScholarDigital Library
Index Terms
- Using task context to improve programmer productivity
Recommendations
Fishtail: from task context to source code examples
TOPI '11: Proceedings of the 1st Workshop on Developing Tools as Plug-insImplementing software development tools as integrated development environment (IDE) plugins gives tools direct access to a range of useful representations of the program being created and can improve programmer efficiency. These benefits must be weighed ...
Study of task processes for improving programmer productivity
ICSE Companion 2014: Companion Proceedings of the 36th International Conference on Software EngineeringIn a mature overall process of software development, productivity of a software project considerably depends on the effectiveness with which programmers execute tasks. A task process refers to the processes used by a programmer for executing an ...
Early warning of task failure using task processing logs
AH '17: Proceedings of the 8th Augmented Human International ConferenceThis study realizes a task management system that enhances people's work productivity by evaluating the task process situation accurately with respect to the deadline. Often, tasks are not completed before their deadline because of poor time management, ...
Comments