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





Comments