Authors: Haris Mumtaz, Shahid Latif, Fabian Beck, Daniel Weiskopf
Abstract: Information about the quality of source code is necessary to reduce the costs of maintenance and improve reusability in software engineering. Although there exist many code inspection and software quality tools, information is often presented in a way that lacks putting the data into context. In this paper, we present a novel approach to generate exploranative (explanatory and exploratory) data-driven documents that explain and show source code quality in an interactive, exploratory environment. We employ a template-based natural language generation method to create the textual explanations about the code quality, dependent on data from software metrics. The interactive document is enriched by different kinds of visualization, including parallel coordinates plots and scatterplots for data exploration and graphics embedded into text. We devise an interaction model that allows users to explore code quality with consistent linking between text and visualizations; through integrated explanatory text, users are taught background knowledge about code quality aspects. Our approach to interactive documents was developed in a design study process that included software engineering and visual analytics experts. Although the solution is specific to the software engineering scenario, we discuss how the concept generalizes to multivariate data and report lessons learned in a broader scope.