OctoBubbles: A Multi-view interactive environment for concurrent visualization and synchronization of UML models and code

The process of software understanding often requires developers to consult both high- and low-level software artifacts (i.e. models and code). The creation and persistence of such artifacts often take place in different environments, as well as seldom in one single environment. In both cases, software models and code fragments are viewable separately making the workspace overcrowded with many opened interfaces and tabs. In such a situation, developers might lose the big picture and spend unnecessary effort on navigation and locating the artifact of interest. To assist program comprehension and tackle the problem of software navigation, we present OctoBubbles, a multi-view interactive environment for concurrent visualization and synchronization of software models and code. A preliminary evaluation of OctoBubbles with 15 professional developers shows a high level of interest, and points out to potential benefits. Furthermore, we present a future plan to quantitatively investigate the effectiveness of the environment.

[1]  Stephan Diehl,et al.  Linking sketches and diagrams to source code artifacts , 2014, SIGSOFT FSE.

[2]  Kristin Decker,et al.  Uml Distilled A Brief Guide To The Standard Object Modeling Language , 2016 .

[3]  Siw Elisabeth Hove,et al.  The impact of UML documentation on software maintenance: an experimental evaluation , 2006, IEEE Transactions on Software Engineering.

[4]  Anneliese Amschler Andrews,et al.  Industrial experience with an integrated code comprehension model , 1995, Softw. Eng. J..

[5]  Michael Lawley,et al.  Model Synchronisation: Definitions for Round-Trip Engineering , 2008, ICMT@TOOLS.

[6]  Jean Scholtz,et al.  Evaluation metrics and methodologies for user-centered evaluation of intelligent systems , 2006, Interact. Comput..

[7]  Hausi A. Müller,et al.  Cognitive design elements to support the construction of a mental model during software exploration , 1999, J. Syst. Softw..

[8]  Orit Hazzan,et al.  The role of abstraction in software engineering , 2008, ICSE Companion '08.

[9]  Bran Selic,et al.  What will it take? A view on adoption of model-based methods in practice , 2012, Software & Systems Modeling.

[10]  Lionel C. Briand,et al.  A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance , 2008, IEEE Transactions on Software Engineering.

[11]  Thomas A. Corbi,et al.  Program Understanding: Challenge for the 1990s , 1989, IBM Syst. J..

[12]  Joseph H. Goldberg,et al.  Computer interface evaluation using eye movements: methods and constructs , 1999 .

[13]  Brad A. Myers,et al.  Eliciting design requirements for maintenance-oriented IDEs: a detailed study of corrective and perfective maintenance tasks , 2005, ICSE.

[14]  Colin Ware,et al.  Zooming versus multiple window interfaces: Cognitive costs of visual comparisons , 2006, TCHI.

[15]  Joseph J. LaViola,et al.  Code bubbles: a working set-based interface for code understanding and maintenance , 2010, CHI.

[16]  Oscar Nierstrasz,et al.  Autumn Leaves: Curing the Window Plague in IDEs , 2009, 2009 16th Working Conference on Reverse Engineering.

[17]  Jodi Forlizzi,et al.  Psycho-physiological measures for assessing cognitive load , 2010, UbiComp.

[18]  Michel R. V. Chaudron,et al.  Towards a New Generation of Software Design Environments: Supporting the Use of Informal and Formal Notations with OctoUML , 2016, HuFaMo@MoDELS.

[19]  Rodi Jolak,et al.  Understanding Software Design for Creating Better Design Environments , 2017 .

[20]  Timothy Lethbridge,et al.  Merging Modeling and Programming Using Umple , 2016, ISoLA.

[21]  Jeff Klingner,et al.  Fixation-aligned pupillary response averaging , 2010, ETRA.

[22]  Michel R. V. Chaudron,et al.  OctoUML: An Environment for Exploratory and Collaborative Software Design , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[23]  Michel R. V. Chaudron,et al.  Using Voice Commands for UML Modelling Support on Interactive Whiteboards: Insights and Experiences , 2017, CIbSE.