Quality Models Inside Out: Interactive Visualization of Software Metrics by Means of Joint Probabilities

Assessing software quality, in general, is hard; each metric has a different interpretation, scale, range of values, or measurement method. Combining these metrics automatically is especially difficult, because they measure different aspects of software quality, and creating a single global final quality score limits the evaluation of the specific quality aspects and trade-offs that exist when looking at different metrics. We present a way to visualize multiple aspects of software quality. In general, software quality can be decomposed hierarchically into characteristics, which can be assessed by various direct and indirect metrics. These characteristics are then combined and aggregated to assess the quality of the software system as a whole. We introduce an approach for quality assessment based on joint distributions of metrics values. Visualizations of these distributions allow users to explore and compare the quality metrics of software systems and their artifacts, and to detect patterns, correlations, and anomalies. Furthermore, it is possible to identify common properties and flaws, as our visualization approach provides rich interactions for visual queries to the quality models' multivariate data. We evaluate our approach in two use cases based on: 30 real-world technical documentation projects with 20,000 XML documents, and an open source project written in Java with 1000 classes. Our results show that the proposed approach allows an analyst to detect possible causes of bad or good quality.

[1]  Lucian Voinea,et al.  The Solid* toolset for software visual analytics of program structure and metrics comprehension: From research prototype to product , 2014, Sci. Comput. Program..

[2]  Andreas Jedlitschka,et al.  A Quality Model for Actionable Analytics in Rapid Software Development , 2018, 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[3]  Daniel A. Keim,et al.  Information Visualization and Visual Data Mining , 2002, IEEE Trans. Vis. Comput. Graph..

[4]  Andreas Kerren,et al.  Toward the role of interaction in Visual Analytics , 2012, Proceedings Title: Proceedings of the 2012 Winter Simulation Conference (WSC).

[5]  Matthew O. Ward,et al.  Interactive Data Visualization - Foundations, Techniques, and Applications , 2010 .

[6]  Xavier Franch,et al.  QuESo a quality model for open source software ecosystems , 2014, 2014 9th International Conference on Software Engineering and Applications (ICSOFT-EA).

[7]  Colin Ware,et al.  Information Visualization: Perception for Design , 2000 .

[8]  Chonlameth Arpnikanondt,et al.  A Visualization Technique for Metrics-Based Hierarchical Quality Models , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[9]  Sammie Bae Big-O Notation , 2019 .

[10]  Andrian Marcus,et al.  A task oriented view of software visualization , 2002, Proceedings First International Workshop on Visualizing Software for Understanding and Analysis.

[11]  John W. Tukey,et al.  A Projection Pursuit Algorithm for Exploratory Data Analysis , 1974, IEEE Transactions on Computers.

[12]  Ben Shneiderman,et al.  Dynamic queries for visual information seeking , 1994, IEEE Software.

[13]  W. Cleveland,et al.  Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods , 1984 .

[14]  Morgan Ericsson,et al.  The design and implementation of a software infrastructure for IQ assessment , 2012, Int. J. Inf. Qual..

[15]  Geoffrey E. Hinton,et al.  Visualizing Data using t-SNE , 2008 .

[16]  ShneidermanBen Dynamic Queries for Visual Information Seeking , 1994 .

[17]  Rudiger Lincke,et al.  Compendium of Software Quality Standards and Metrics - Version 1.0 , 2007 .

[18]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[19]  Romain Robbes,et al.  The Small Project Observatory: Visualizing software ecosystems , 2010, Sci. Comput. Program..

[20]  A. Tversky,et al.  Judgment under Uncertainty: Heuristics and Biases , 1974, Science.

[21]  ISO / IEC 25010 : 2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation ( SQuaRE ) — System and software quality models , 2013 .

[22]  Pierre Poulin,et al.  Visualization-based analysis of quality for large-scale software systems , 2005, ASE.

[23]  Mohammad Ghafari,et al.  Towards Actionable Visualisation in Software Development , 2016, 2016 IEEE Working Conference on Software Visualization (VISSOFT).

[24]  Martin Wattenberg,et al.  How to Use t-SNE Effectively , 2016 .

[25]  Reinhold Plösch,et al.  Operationalised product quality models and assessment: The Quamoco approach , 2014, Inf. Softw. Technol..

[26]  Eric O. Postma,et al.  Dimensionality Reduction: A Comparative Review , 2008 .

[27]  Alexander W. Skaburskis,et al.  The Sandbox for analysis: concepts and methods , 2006, CHI.

[28]  Mathématiques,et al.  Big-O Notation , 2010, Definitions.

[29]  Oscar Nierstrasz,et al.  Explora: A visualisation tool for metric analysis of software corpora , 2015, 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT).

[30]  Alexandru Telea,et al.  Visual Exploration of Combined Architectural and Metric Information , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[31]  Ben Shneiderman,et al.  The eyes have it: a task by data type taxonomy for information visualizations , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[32]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[33]  Cynthia A. Brewer,et al.  ColorBrewer.org: An Online Tool for Selecting Colour Schemes for Maps , 2003 .