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.
Supplemental Material
- Erlikh, L. Leveraging Legacy System Dollars for E-Business. IT Pro, May/June (2000), 17--23. Google ScholarDigital Library
- 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 ScholarDigital Library
- Plumlee, M.D., Ware C. Zooming versus multiple window inter-faces: Cognitive costs of visual comparisons. ToCHI'06. p179--209. Google ScholarDigital Library
- Reiss, Steven. P. The Desert environment. TSM'99. p297--342. Google ScholarDigital Library
- 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 ScholarDigital Library
- Robillard M. Coelho W et al. How effective developers investiage source code: An exploratory study. TSE'04, p 889--903. Google ScholarDigital Library
- 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 ScholarDigital Library
- Coblenz M et al. JASPER: an Eclipse plug-in to facilitate software maintenance tasks. OOPSLA WETeX '06.. Google ScholarDigital Library
- Singer, J Elves, R, and Storey. Navtracks: supporting navigation in software. ICPC'05, p173--175. Google ScholarDigital Library
- Kersten M and Murphy Gail C. Using task context to improve programmer productivity. SIGSOFT'06/FSE'14, 1--11. Google ScholarDigital Library
- DeLine, R, Czerwinski M et al. Easing program comprehension by sharing navigation data. VLHCC'05, p241--248. Google ScholarDigital Library
- Cubranic, D, Murphy, G C. Hipikat: recommending pertinant software development artifacts. ICSE'03.Google ScholarDigital Library
- Robillard, M.and Murphy Gail C. FEAT: a tool for locating, describing, and analyzing concerns in source code. ICSE'03. p822--823. Google ScholarDigital Library
- Robillard, M et al. ConcernMapper: simple view-based separation of scattered concerns. In OOPSLAWETex'05, p65--69. Google ScholarDigital Library
- Kersten, M and Murphy Gail C. Mylar: a degree-of-interest model for IDEs. AOSD '05, 159--168. Google ScholarDigital Library
- Wright, W, Schroh D, Proulx P, Skaburskis A, Cort B . The Sandbox for analysis: concepts and methods. CHI'06, p801--810. Google ScholarDigital Library
- Tan, D et al. WinCuts: manipulating arbitrary window regions for more effective use of screen space. CHI'04, p1525--1528. Google ScholarDigital Library
- Bly, S , Rosenber J.K. A comparison of tiled and overlapping windows. CHI'86, p101--106. Google ScholarDigital Library
- Henderson, D. et al. Rooms: the use of multiple virtual workspaces to reduce space contention in a window-based graphical UI. TOG'86. Google ScholarDigital Library
- Robertson, G. Horowitz E, Czerwinski M et al. Scalable Fabric: flexible task management. AVI'04, p 85--89. Google ScholarDigital Library
- 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 ScholarDigital Library
- Watanabe, N. et al. Bubble clusters: an interface for manipulating spatial aggregation of graphical objects. UIST'07. p173--182. Google ScholarDigital Library
Index Terms
- Code bubbles: a working set-based interface for code understanding and maintenance
Recommendations
A research demonstration of code bubbles
ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2Today's integrated development environments (IDEs) are hampered by their dependence on files and file-based editing. We propose a novel user interface that is based on collections of lightweight editable fragments, called bubbles, which when grouped ...
Do bugs lead to unnaturalness of source code?
ESEC/FSE 2022: Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software EngineeringTexts in natural languages are highly repetitive and predictable because of the naturalness of natural languages. Recent research validated that source code in programming languages is also repetitive and predictable, and naturalness is an inherent ...
Particle-based simulation of bubbles in water–solid interaction
In this paper, a particle-based multiphase method for creating realistic animations of bubbles in water–solid interaction is presented. To generate bubbles from gas dissolved in the water on the fly, we propose an approximate model for the creation of ...
Comments