Resolving unwanted couplings through interactive exploration of co-evolving software entities - An experience report

  • Authors:
  • Adam Vanya;Rahul Premraj;Hans van Vliet

  • Affiliations:
  • VU University Amsterdam, De Boelelaan 1081, 1081 HV Amsterdam, The Netherlands;VU University Amsterdam, De Boelelaan 1081, 1081 HV Amsterdam, The Netherlands;VU University Amsterdam, De Boelelaan 1081, 1081 HV Amsterdam, The Netherlands

  • Venue:
  • Information and Software Technology
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Context: Frequent changes to groups of software entities belonging to different parts of the system may indicate unwanted couplings between those parts. Visualizations of co-changing software entities have been proposed to help developers identify unwanted couplings. Identifying unwanted couplings, however, is only the first step towards an important goal of a software architect: to improve the decomposition of the software system. An in-depth analysis of co-changing entities is needed to understand the underlying reasons for co-changes, and also determine how to resolve the issues. Objective: In this paper we discuss how interactive visualizations can support the process of analyzing the identified unwanted couplings. Method: We applied a tool that interactively visualizes software evolution in 10 working sessions with architects and developers of a large embedded software system having a development history of more than a decade. Results: The participants of the working sessions were overall very positive about their experiences with the interactive visualizations. In 70% of the cases investigated, a decision could be taken on how to resolve the unwanted couplings. Conclusion: Our experience suggests that interactive visualization not only helps to identify unwanted couplings but it also helps experts to reason about and resolve them.