skip to main content
10.1145/2470654.2466419acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
research-article

How tools in IDEs shape developers' navigation behavior

Published:27 April 2013Publication History

ABSTRACT

Understanding source code is crucial for successful software maintenance, and navigating the call graph is especially helpful to understand source code [12]. We compared maintenance performance across four different development environments: an IDE without any call graph exploration tool, a Call Hierarchy tool as found in Eclipse, and the tools Stacksplorer [7]and Blaze [11]. Using any of the call graph exploration tools more developers could solve certain maintenance tasks correctly. Only Stacksplorer and Blaze, however, were also able to decrease task completion times, although the Call Hierarchy offers access to a larger part of the call graph. To investigate if this result was caused by a change in navigation behavior between the tools, we used a set of predictive models to create formally comparable descriptions of programmer navigation. The results suggest that the decrease in task completion times has been caused by Stacksplorer and Blaze promoting call graph navigation more than the Call Hierarchy tool.

References

  1. Baeza-Yates, R. A., and Ribeiro-Neto, B. Modern Information Retrieval. Addison-Wesley Longman, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bragdon, A., Zeleznik, R., Reiss, S. P., Karumuri, S., Cheung, W., Kaplan, J., Coleman, C., Adeputra, F., and LaViola, J. J. Code Bubbles: A Working Set-based Interface for Code Understanding and Maintenance. In Proc. CHI '10, ACM (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Coblenz, M. J., Ko, A. J., and Myers, B. A. JASPER : An Eclipse Plug-In to Facilitate Software Maintenance Tasks. In Proc. 2006 OOPSLA Workshop on Eclipse Technology eXchange, ACM Press (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. DeLine, R., Czerwinski, M., and Robertson, G. Easing Program Comprehension by Sharing Navigation Data. In Proc. VLHCC '05, IEEE (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. DeLine, R., and Rowan, K. Code canvas: zooming towards better development environments. In Proc. ICSE '10, ACM (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Fouse, A., Weibel, N., Hutchins, E., and Hollan, J. D. ChronoViz: a system for supporting navigation of time-coded data. In Proc. CHI '11, ACM (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Karrer, T., Krämer, J.-P., Diehl, J., Hartmann, B., and Borchers, J. Stacksplorer: Call graph navigation helps increasing code maintenance efficiency. In Proc. UIST '11, ACM (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kersten, M., and Murphy, G. C. Mylar: A Degree-of-Interest Model for IDEs. In Proc. AOSD, ACM (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ko, A., Myers, B., Coblenz, M., and Aung, H. An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks. IEEE Transactions on Software Engineering 32, 12 (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Ko, A. J., and Myers, B. A. Debugging Reinvented: Asking and Answering Why and Why Not Questions about Program Behavior. In Proc. ICSE '08, IEEE (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Krämer, J.-P., Kurz, J., Karrer, T., and Borchers, J. Blaze: supporting two-phased call graph navigation in source code. In Proc. CHI EA '12, ACM (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. LaToza, T. D., and Myers, B. A. Developers Ask Reachability Questions. In Proc. ICSE '10, ACM (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. LaToza, T. D., and Myers, B. A. Visualizing Call Graphs. In Proc. VLHCC '11 (2011).Google ScholarGoogle ScholarCross RefCross Ref
  14. LaToza, T. D., Venolia, G., and DeLine, R. Maintaining Mental Models: A Study of Developer Work Habits. In Proc. ICSE '06, ACM (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lawrance, J., Bellamy, R., Burnett, M., and Rector, K. Using information scent to model the dynamic foraging behavior of programmers in maintenance tasks. In Proc. CHI '08, ACM (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Murphy, G. C., Kersten, M., and Findlater, L. How Are Java Software Developers Using the Eclipse IDE? IEEE Software 23, 4 (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Piorkowski, D., Fleming, S. D., Scaffidi, C., John, L., Bogart, C., John, B. E., Burnett, M., and Bellamy, R. Modeling programmer navigation: A head-to-head empirical evaluation of predictive models. In Proc. VL/HCC '11 (2011).Google ScholarGoogle ScholarCross RefCross Ref
  18. Pirolli, P., and Card, S. K. Information Foraging. Psychological Review 106, 4 (1999).Google ScholarGoogle ScholarCross RefCross Ref
  19. Pressman, R. S. Software Engineering: A Practitioner's Approach, 7th ed. McGraw-Hill, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Robillard, M. P., Coelho, W., and Murphy, G. C. How Effective Developers Investigate Source Code: An Exploratory Study. IEEE Transactions on Software Engineering 30, 12 (2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Sillito, J., Murphy, G. C., and Volder, K. D. Asking and Answering Questions during a Programming Change Task. IEEE Transactions on Software Engineering 34, 4 (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Singer, J., Elves, R., and Storey, M.-A. NavTracks: Supporting Navigation in Software Maintenance. In Proc. ICSM '05, IEEE (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Singer, J., Lethbridge, T., Vinson, N., and Anquetil, N. An Examination of Software Engineering Work Practices. In Proc. 1997 Conference of the Centre for Advanced Studies on Collaborative Research, IBM Press (1997). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Čubranić, D., and Murphy, G. C. Hipikat: Recommending Pertinent Software Development Artifacts. In Proc. ICSE '03, IEEE (2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Winograd, T. Breaking the complexity barrier again. ACM SIGIR Forum (1974). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. How tools in IDEs shape developers' navigation behavior

    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
      CHI '13: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
      April 2013
      3550 pages
      ISBN:9781450318990
      DOI:10.1145/2470654

      Copyright © 2013 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: 27 April 2013

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      CHI '13 Paper Acceptance Rate392of1,963submissions,20%Overall Acceptance Rate6,199of26,314submissions,24%

      Upcoming Conference

      CHI '24
      CHI Conference on Human Factors in Computing Systems
      May 11 - 16, 2024
      Honolulu , HI , USA

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader