Mere numbers aren't enough

A plea for visualization

P. Runeson    Lund University, Lund, Sweden

Abstract

Quantitative data comes with enormous possibilities for presenting key characteristics of the data in a very compressed form. Basic descriptive statistics, like mean and standard deviation, comprise thousands or millions of data points into single numbers. In contrast, qualitative data, with its focus on descriptions, words, and phrases does not come with such tools, leading to wordy descriptions of the analysis. However, mean and standard deviation do not bring the full understanding of the underlying. Thus, we need visualization, or visual analytics, which combine the exactness and compactness of quantitative data with the richness and communication of qualitative communication.

Keywords

Quantitative data; Qualitative data; Visualization; Visual analytics

Numbers Are Good, but…

Quantitative data comes with enormous possibilities for presenting key characteristics of the data in a very compressed form. Basic descriptive statistics, like mean and standard deviation, comprise thousands or millions of data points into single numbers. This is a very powerful tool when communicating quantitative data analyses. In contrast, qualitative data, with its focus on descriptions, words, and phrases does not come with such powerful tools, leading to wordy descriptions of the analysis. However, mean and standard deviation do not bring the full understanding of the underlying phenomenon, and not even the underlying distribution.

In data science for software engineering, we cannot trust numbers only, but need additional tools to analyze the data and communicate the findings and conclusions of the analysis. Visualization, or visual analytics, provides such a tool. Visualization combines the exactness and compactness of quantitative data with the richness and communication of qualitative communication. Thereby, both the analysis and interpretation of data can be improved.

Case Studies on Visualization

As examples of the use of visualization in data science for software engineering, we show two case studies on product scoping [1] and test selection [2], respectively.

Product Scoping

Selecting which features to spend development resources on is a key task for product managers, referred to as product scoping. The product manager must decide which features to invest development effort in and which to exclude from the project. In order to analyze how well a company was able to identify the feasible set of features at an early stage for later development and release, researchers collected data on which features were selected for development. Further, they analyzed which features made it into the final release, and which were excluded during later stages of development, for example, due to changing market situations or competing products. Excluding features late in the process implies that development effort is wasted.

The researchers defined several relevant metrics. Basic ones include the average share of excluded features, and the time to birth and time to removal of a feature. However, the overall view was hard to communicate until they presented the feature survival chart, visualizing features and their status change in an x-y–diagram, see Fig. 1. The features are listed on the y axis—one row for each feature—and time and milestones are marked on the x axis. Feature status is color coded: red/dark for excluded features, and two shades of green/grey for inserted features, depending on the source of the feature request.

f55-01-9780128042069
Fig. 1 Product scoping chart. From Wnuk K, Regnell B, Karlsson L. What happened to our features? Visualization and understanding of scope change dynamics in a large-scale industrial setting. In Proceedings of the 17th IEEE international requirements engineering conference, 2009. p. 89–98.

Through the visualization chart, managers got an overview of the scoping of features and were able to connect major decisions in the project to the scope, marked with numbers in Fig. 1, and further explained by Wnuk et al. [1]. For example, number 1 in Fig. 1 represents a significant scope reduction (features turning from green to red), related to a cancellation of the products from the product line. At number 3, new features were included, while others were excluded in parallel. This was the desired behavior at the company, since development resources were limited. On the contrary, at number 4, new features were included late in the project, which is related to significant risks. This analysis helped them rethink the scoping process to make it more efficient.

Regression Test Selection

Selecting test cases for regression testing of a new software version is the second case study on visualization. In a product-line project, there are several dimensions that are relevant to analyze to support the choice of regression tests, for example (1) levels of abstraction (unit, integration, system, etc.), (2) regression testing as the system evolves over time with new versions, and (3) testing over different product variants, sharing a common code base [3]. We collected data on a number of test cases, test case executions, failed tests, etc. However, for test designers and managers, none of these metrics were sufficient to support their regression test selection. The many dimensions made it hard to understand which test cases were run at which level, version, and variant.

We prototyped a visualization tool that enables the users to see multiple views of the data, and to combine several dimensions, see Fig. 2 for an example of a subset of an industrial software system [2]. Each dot represents one test coverage item, and the color coding signals the frequency of the metric under analysis, for example, the number of executed test cases. In this case, red means an insufficient number of test cases for the item under test, green means a sufficient number of test cases, and blue indicates the range in between. The example shows that version 3.0 was well tested in the system test, but insufficiently in the unit test. More unit testing and less system testing was conducted in versions 3.2 and 3.3, while integration testing remains the same across the releases.

f55-02-9780128042069
Fig. 2 Test coverage item overviews for test levels and software versions. From Engström E, Mäntylä M, Runeson P, Borg M. Supporting regression test scoping with visual analytics. In Proceedings of the international conference on software testing, verification and validation, 2014. p. 283–92.

We evaluated the tool in three industrial focus groups with experienced test managers and consultants. The users were generally in favor of the visualization prototype, while they provided detailed feedback on which data to visualize, and how. They wanted the x–y position to represent a meaning, and requested more dynamic interaction in the views than our prototype could manage.

These case studies clearly show the power of visualization. Graphs may help stakeholders get an overview of data, which is tailored to support their decisions. In the feature scoping case, some managers interpreted all descoped features as a waste, which might not be the case. The organization may have learned something during the work with the feature, although the visualization clearly signals it as a waste. This message has to be brought together with the visualization, so the graphs are not over-interpreted.

What to Do

Based on the experience from our case studies, we conclude that visualizations help with analysis and interpretation of software engineering data. Thus, we recommend that practitioners:

1. Create visualizations from data. Visual representation of data helps interpret and communicate the collected data in software engineering data science. There is no standard visualization model that fits every purpose; it has to be adapted to the type of data, the audience, and the purpose of the visualization.

2. Allow interactions in the graphs. Once the visualizations are produced, the users start realizing the opportunities to interact with the graphs. In our cases, users asked for the ability to change views and select data subsets dynamically, in order to understand the situation. Thus, visualization should be considered a dynamic, not a static, view of collected data.

3. Beware of the power of visualization. Visualizations may give a stronger impression than is actually supported by the data. Thus, the visualization has to be discussed with the users to understand how they interpreted it, to enable any necessary adjustments.

These recommendations align with Shneiderman's classical visualization mantra: Overview first, zoom and filter, then details-on-demand [4].

References

[1] Wnuk K., Regnell B., Karlsson L. What happened to our features? Visualization and understanding of scope change dynamics in a large-scale industrial setting. In: Proceedings of the 17th IEEE international requirements engineering conference; 2009:89–98.

[2] Engström E., Mäntylä M., Runeson P., Borg M. Supporting regression test scoping with visual analytics. In: Proceedings of the international conference on software testing, verification and validation; 2014:283–292.

[3] Runeson P., Engström E. Software product line testing—a 3D regression testing problem. In: Proceedings of 2nd international workshop on regression testing; 2012.

[4] Shneiderman B. The eyes have it: a task by data type taxonomy for information visualizations. In: Proceedings IEEE symposium on visual languages; 1996:336–343.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset