10.1145/1753326.1753706acmconferencesArticle/Chapter ViewAccess DenialPublication PageschiConference Proceedingsconference-collections
research-article

Code bubbles: a working set-based interface for code understanding and maintenance

Online:10 April 2010Publication History

ABSTRACT

Developers spend significant time reading and navigating code fragments spread across multiple locations. The file-based nature of contemporary IDEs makes it prohibitively difficult to create and maintain a simultaneous view of such fragments. We propose a novel user interface metaphor for code understanding based on collections of lightweight, editable fragments called bubbles, which form concurrently visible working sets. We present the results of a qualitative usability evaluation, and the results of a quantitative study which indicates Code Bubbles significantly improved code understanding time, while reducing navigation interactions over a widely-used IDE, for two controlled tasks.

Get full access to this Publication

Purchase, subscribe or recommend this publication to your librarian.

Supplemental Material

p2503.mov

References

  1. Erlikh, L. Leveraging Legacy System Dollars for E-Business. IT Pro, May/June (2000), 17--23. Google ScholarGoogle Scholar
  2. Ko, A.J. , Myers B, Coblenz, Aung H. An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks. IEEE TSE'06, 971--987. Google ScholarGoogle Scholar
  3. Plumlee, M.D., Ware C. Zooming versus multiple window inter-faces: Cognitive costs of visual comparisons. ToCHI'06. p179--209. Google ScholarGoogle Scholar
  4. Reiss, Steven. P. The Desert environment. TSM'99. p297--342. Google ScholarGoogle Scholar
  5. Nackman, L.R. An overview of Montana. IBM Research '96.Google ScholarGoogle Scholar
  6. Stockton R. Kramer, Nick. The Sheets hypercode editor. 1993.Google ScholarGoogle Scholar
  7. Murphy, G. Kersten M, et al. How are Java software developers using the Eclipse IDE? IEEE Software 23, 2006, p76--83. Google ScholarGoogle Scholar
  8. Robillard M. Coelho W et al. How effective developers investiage source code: An exploratory study. TSE'04, p 889--903. Google ScholarGoogle Scholar
  9. Sherwood, Kaitlin Duck. Path exploration during code navigation. The University of British Columbia, 2008.Google ScholarGoogle Scholar
  10. DeLine, R, Czerwinski M et al . Code Thumbnails: Using Spatial Memory to Navigate Source Code. VL/HCC'06, p11--18. Google ScholarGoogle Scholar
  11. Coblenz M et al. JASPER: an Eclipse plug-in to facilitate software maintenance tasks. OOPSLA WETeX '06.. Google ScholarGoogle Scholar
  12. Singer, J Elves, R, and Storey. Navtracks: supporting navigation in software. ICPC'05, p173--175. Google ScholarGoogle Scholar
  13. Kersten M and Murphy Gail C. Using task context to improve programmer productivity. SIGSOFT'06/FSE'14, 1--11. Google ScholarGoogle Scholar
  14. DeLine, R, Czerwinski M et al. Easing program comprehension by sharing navigation data. VLHCC'05, p241--248. Google ScholarGoogle Scholar
  15. Cubranic, D, Murphy, G C. Hipikat: recommending pertinant software development artifacts. ICSE'03.Google ScholarGoogle Scholar
  16. Robillard, M.and Murphy Gail C. FEAT: a tool for locating, describing, and analyzing concerns in source code. ICSE'03. p822--823. Google ScholarGoogle Scholar
  17. Robillard, M et al. ConcernMapper: simple view-based separation of scattered concerns. In OOPSLAWETex'05, p65--69. Google ScholarGoogle Scholar
  18. Kersten, M and Murphy Gail C. Mylar: a degree-of-interest model for IDEs. AOSD '05, 159--168. Google ScholarGoogle Scholar
  19. Wright, W, Schroh D, Proulx P, Skaburskis A, Cort B . The Sandbox for analysis: concepts and methods. CHI'06, p801--810. Google ScholarGoogle Scholar
  20. Tan, D et al. WinCuts: manipulating arbitrary window regions for more effective use of screen space. CHI'04, p1525--1528. Google ScholarGoogle Scholar
  21. Bly, S , Rosenber J.K. A comparison of tiled and overlapping windows. CHI'86, p101--106. Google ScholarGoogle Scholar
  22. Henderson, D. et al. Rooms: the use of multiple virtual workspaces to reduce space contention in a window-based graphical UI. TOG'86. Google ScholarGoogle Scholar
  23. Robertson, G. Horowitz E, Czerwinski M et al. Scalable Fabric: flexible task management. AVI'04, p 85--89. Google ScholarGoogle Scholar
  24. Bragdon, A. Creating Simultaneous Views of Source Code in Contemporary IDEs using Tab Panes and MDI Child Windows: A Pilot Study. TR CS-09-09, Brown Univ. '09.Google ScholarGoogle Scholar
  25. Bragdon, A. et al. GestureBar: improving the approachability of gesture-based interfaces. CHI'09, p2269--2278. Google ScholarGoogle Scholar
  26. Watanabe, N. et al. Bubble clusters: an interface for manipulating spatial aggregation of graphical objects. UIST'07. p173--182. Google ScholarGoogle Scholar

Index Terms

  1. Code bubbles: a working set-based interface for code understanding and maintenance

      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

        ACM Conferences cover image
        CHI '10: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
        April 2010
        2690 pages
        ISBN:9781605589299
        DOI:10.1145/1753326

        Copyright © 2010 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Qualifiers

        • research-article
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!