NO.192 Augmented Software Visualization
November 27 - 30, 2023 (Check-in: November 26, 2023 )
- Leonel Merino
- Pontificia Universidad Catolica de Chile, Chile
- Craig Anslow
- Victoria University of Wellington, New Zealand
- Takashi Ishio
- Nara Institute of Science and Technology, Japan
- Alexandre Bergel
- RelationalAI, USA
Visualization is “the use of computer-supported, interactive, visual representations of abstract data in order to amplify cognition.” Software visualization is the use of such interactive and visual representations of software data for supporting software development activities. In the last two decades, multiple studies have been published across main software engineering journals (e.g., TSE, IST, JSS, JSEP) and conferences (e.g., ICSE, FSE, ICSME, ASE, MSR), confirming software visualization as a relevant topic in software engineering research. Nowadays, the field of software visualization is at the junction of two singular situations: (1) modern software systems are developed involving multiple sophisticated techniques and exhibit an increasing complexity, and (2) a variety of sensory technologies, such as virtual and augmented reality, eye-tracking, physiological sensors, are increasingly more available to both researchers and practitioners. These sensory technologies do not only represent opportunities to investigate visualizations suitable for complex systems, but also to evaluate the impact of such visualizations in human cognition. We consider that this Shonan meeting is a unique and extraordinary tool to reflect on the challenges.
Topics to Be Discussed in the Seminar
The goal of the Shonan meeting is to reflect on the following challenges of software visualization: sensory augmentation, cognitive methods, and software complexity.
Sensory Augmentation. Traditionally, developers have interacted with software visualizations through windows, icons, menus, and pointers (WIMP) as they do when developing software systems. However, recent years have seen a number of advanced devices that significantly augment the way that humans can sense the real world. For instance, augmented and virtual reality (AR/VR) technology is becoming mature and affordable. Also, eye-tracking as well as other physiological technologies are often present in smartphones and laptops. Indeed, a few SVs have explored the use of a medium to display visualizations different than the computer screen, and the use of interaction techniques different than windows, icons, menus, pointers. We ask: What is the role of sensory ugmentation to comprehend software systems?
Cognitive Methods. User evaluations in software engineering have focused on user performance, which has been almost always carried out by measuring the accuracy and the time users require to complete a task. Consequently, software visualization evaluations have been limited to the analysis of user performance. Accuracy and completion time can be useful to analyze cognitive aspects such as decision making and problem solving. However, there are multiple other cognitive aspects that have been grossly neglected from evaluations such as cognitive load, learnability, emotions, memory, attention. Cognitive aspects often interplay, and therefore, measures of high accuracy and little completion time can be a consequence of multiple cognitive aspects that should be included in user evaluations. We ask: How to adopt cognitive methods in software visualization evaluations?
Software Complexity. Software systems have reached a complexity that humanity has never experienced before. The evolution of hardware and the exposition of software to a large audience have contributed to the increasing complexity of software systems. Nowadays, software systems are written in numerous programming languages, and run on many executing platforms. As such, making software visualizations able to cope with the complexity is challenging. We ask: How can visualizations deal with the increasing trend of the complexity of software systems?
The results of the discussions will be collected as recommendations for the use of sensory augmentation to support software development activities. In particular, we would like to elaborate on strengths and weaknesses of technologies, application domains, and implications for user evaluations. Finally, we would like to define guidelines for using cognitive methods in user evaluations. Concretely, we could (1) identify cognitive aspects that can play a role in user evaluations, (2) describe available data collection methods suitable for the analysis of those aspects, and (3) elaborate on how can researcher use those methods in practice.
We also would like to describe research opportunities in using visualization to deal with software complexity. Specifically, we plan to outline project ideas of various sizes (e.g., paper project ideas, bachelor and master project ideas, and ideas for larger projects) that could be eventually funded, and then, realized by the community in the future.