Remixing Visualization to Support Collaboration in Software Maintenance Margaret-Anne Storey Chris Bennett R. Ian Bull Daniel M. German Department of Computer Science, University of Victoria {mstorey, cbennet, irbull, dmg}@uvic.ca Abstract We propose that collaborative software visualization can improve team software maintenance. We first review how visualization can support software maintenance from the perspectives of system understanding, process understanding and software evolution. From this, we conclude that visualization tools are rarely designed to provide explicit support for collaborative authoring and sharing of views. We then provide an overview of research from a Computer Supported Cooperative Work perspective, and propose that this research should be applied to software visualization. We explore the opportunities and challenges this research focus presents and conclude that more attention paid to the social aspects of software visualization should improve both individual and team processes in software maintenance. 1. Introduction Software maintenance is a cognitively challenging task that benefits from effective tool support for activities such as program understanding, debugging and testing. Software maintenance tools can use visualization to reveal information that is not obvious from directly examining the system and related artifacts. Despite the many novel visualization techniques developed by researchers, uptake by industry has been relatively slow. We speculate that one reason may be a lack of attention to the social aspects of software maintenance. Software maintenance is inherently a social activity - large systems typically involve teams of developers and the participation of many stakeholders throughout the software lifecycle [1]. Computer supported collaborative work (CSCW) explores how tools can more effectively support work practices within socio- technical systems, such as software maintenance. To date, there has been limited research on how tools support collaborative software maintenance (some exceptions being work by Ko et al. [2] and Whitehead [3]). Even less research has explored how visualizations can support collaborative software maintenance. In this paper, we explore the intersection of CSCW, information visualization, and software maintenance (Figure 1). We suggest that software visualization tool designers borrow theories and tools from the disciplines of social computing and CSCW. We explore the opportunities and highlight the challenges that this line of research introduces. Figure 1: A Research Opportunity: Applying CSCW and information visualization to software maintenance This paper is structured as follows. In Section 2, we briefly review how visualization has been used to support software maintenance. Next, we provide an overview of the concepts, theories and tools from CSCW research and examine how these have been applied to software maintenance and information visualization (Section 3). In Section 4, we consider the role of CSCW research in how visualization supports collaborative maintenance activities and explore some opportunities and challenges that this presents. We conclude the paper by proposing that research that focuses on the social aspects of software visualization will improve how teams and individuals carry out software maintenance (Section 5). 978-1-4244-2655-3/08/$25.00 2008 IEEE FoSM 2008 139 Authorized licensed use limited to: ECOLE POLYTECHNIQUE DE MONTREAL. Downloaded on January 12, 2009 at 14:27 from IEEE Xplore. Restrictions apply.