skip to main content
10.1145/1181775.1181777acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Using task context to improve programmer productivity

Published:05 November 2006Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. Card, S. K. and D. Nation. Degree-of-Interest Trees: A Component of an Attention-Reactive User Interface. Advanced Visual Interfaces Conference, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. Furnas, G.W. Generalized fisheye views. Proceedings of the Conference on Human Factors in Computing Systems. p.16--23, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Merriam-Webster's collegiate dictionary (11th ed.), Springfield, MA: Merriam-Webster. 2003.Google ScholarGoogle Scholar
  19. Murphy, G. C., Kersten, M., Findlater, L., How are Java Software Developers using the Eclipse IDE? IEEE Software. Vol. 23, No. 5. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. Parnas D. L., On the Criteria to be Used in Decomposing Systems into Modules, Communications of the ACM, Vol. 15, No. 12, 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. Teitelman, W. and Masinter, L. The Interlisp programming environment. IEEE Computer, vol. 14, 25--34, 1981.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Using task context to improve programmer productivity

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SIGSOFT '06/FSE-14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
      November 2006
      298 pages
      ISBN:1595934685
      DOI:10.1145/1181775

      Copyright © 2006 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 5 November 2006

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate17of128submissions,13%

      Upcoming Conference

      FSE '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader