DOI: 10.1109/VISSOFT64034.2024.00018
Terbit pada 6 Oktober 2024 Pada IEEE Working Conference on Software Visualization

Visualizing Analysis Results for SPL Models - A User Study

Rui Ming Xiong Rafael F. Toledo J. Atlee

Abstrak

Analyses of a software product line (SPL) model typically report variable results annotated with logical expressions to indicate the set of products for which each result holds. These expressions can be complicated and difficult to reason about when the SPL has lots of features and derivable products. In previous work, we introduced Neo4j Browser, a visualizer for graphical analysis results that highlights the results that apply to specific products. In this paper, we report on a controlled user study that evaluates the visualizer's effectiveness in helping the user (1) understand variable analysis results and (2) compare the analysis results of multiple products. Our findings suggest significant improvements in efficiency (30%), and correctness (22%), and significant reductions in cognitive load (42%).

Artikel Ilmiah Terkait

$\widehat{Neo4j}$ Browser: Visualizing Variable-Aware Analysis Results

Rafael F. Toledo Mingyu Liu Rui Ming Xiong + 1 lainnya

14 April 2024

A software product line (SPL) implements a family of related soft-ware products. As such, analyzing a software produce line produces variable results that apply to some SPL variants and not to others. Typically, such results are annotated with presence conditions, which are logical expressions that represent the product variants to which the results apply. When analyzing large SPLs, these expressions that annotate results can become overwhelmingly large and difficult to reason about. In this paper, we present $\widehat{Neo4j}$ Browser for visualizing and exploring the results of an SPL analysis. $\widehat{Neo4j}$ Browser provides an interactive and customiz-able interface that allows the user to highlight results according to product variants of interest. Previous evaluations show that the $\widehat{Neo4j}$ Browser improves the correctness and efficiency of the user's work and reduces the user's cognitive load in working with variable results. The tool can be downloaded at https://vault.cs.uwaterloo.ca/s/Rqy2f56PeC6s4XD, and a demo video pre-senting its features is at https://youtu.be/CoweflQQFWU.

Variability in data visualization: a software product line approach

J. Horcas J. Galindo David Benavides

12 September 2022

Data visualization aims to effectively communicate quantitative information by understanding which techniques and displays work better for different circumstances and why. There are a variety of software solutions capable of generating a multitude of different visualizations of the same dataset. However, data visualization exposes a large space of visual configurations depending on the type of data to be visualized, the different displays (e.g., scatter plots, line graphs, pie charts), the visual components to encode the data (e.g., lines, dots, bars), or the specific visual attributes of those components (e.g., color, shape, size, length). Researchers and developers are not usually aware about best practices in data visualization, and they are required to learn about both the design practices that make communication effective and the low level details of the specific software tool used to generate the visualization. This paper proposes a software product line approach to model and materialize the variability of the visualization design process, guided by feature models. We encode the visualization knowledge regarding the best design practices, resolve the variability following a step-wise configuration approach, and then evaluate our proposal for a specific software visualization tool. Our solution helps researchers and developers communicate their quantitative results effectively by assisting them in the selection and generation of the visualizations that work best for each case. We open a new window of research where data visualization and variability meet each other.

Variability-aware Neo4j for Analyzing a Graphical Model of a Software Product Line

Xiang Chen J. Atlee

1 Oktober 2023

Comprehensive analysis of a software product line (SPL) is expensive because the number of products to be analyzed is exponential in the number of the SPL’s features. To compensate, we analyze a model of the SPL rather than the source code, thereby reducing the size of the artifact under analysis. In this paper, we facilitate SPL analysis by lifting the Neo4j query engine to apply to an SPL model, so that a Neo4j query returns variability-aware results that cover all the SPL’s products. We used the lifted Neo4j to analyze five nontrivial SPLs (with respect to dataflows, control-flows, component interactions, etc.) and found that the overhead for returning variability-aware results for the full SPL, versus the results for just one product, ranges from 1.88% to 456%. In comparison to related work V-Soufflé (a lifted Datalog engine), lifted Neo4j is able to report complete path results whereas V-Soufflé reports only endpoints of paths. When both analyzers report the same results (e.g., endpoints of paths), lifted Neo4j is usually more efficient.

Dead or Alive: Continuous Data Profiling for Interactive Data Science

Adam Perer Vaishnavi Gorantla Will Epperson + 1 lainnya

8 Agustus 2023

Profiling data by plotting distributions and analyzing summary statistics is a critical step throughout data analysis. Currently, this process is manual and tedious since analysts must write extra code to examine their data after every transformation. This inefficiency may lead to data scientists profiling their data infrequently, rather than after each transformation, making it easy for them to miss important errors or insights. We propose continuous data profiling as a process that allows analysts to immediately see interactive visual summaries of their data throughout their data analysis to facilitate fast and thorough analysis. Our system, AutoProfiler, presents three ways to support continuous data profiling: (1) it automatically displays data distributions and summary statistics to facilitate data comprehension; (2) it is live, so visualizations are always accessible and update automatically as the data updates; (3) it supports follow up analysis and documentation by authoring code for the user in the notebook. In a user study with 16 participants, we evaluate two versions of our system that integrate different levels of automation: both automatically show data profiles and facilitate code authoring, however, one version updates reactively (“live”) and the other updates only on demand (“dead”). We find that both tools, dead or alive, facilitate insight discovery with 91% of user-generated insights originating from the tools rather than manual profiling code written by users. Participants found live updates intuitive and felt it helped them verify their transformations while those with on-demand profiles liked the ability to look at past visualizations. We also present a longitudinal case study on how AutoProfiler helped domain scientists find serendipitous insights about their data through automatic, live data profiles. Our results have implications for the design of future tools that offer automated data analysis support.

NL4DV: A Toolkit for Generating Analytic Specifications for Data Visualization from Natural Language Queries

J. Stasko Arpit Narechania Arjun Srinivasan

24 Agustus 2020

Natural language interfaces (NLls) have shown great promise for visual data analysis, allowing people to flexibly specify and interact with visualizations. However, developing visualization NLIs remains a challenging task, requiring low-level implementation of natural language processing (NLP) techniques as well as knowledge of visual analytic tasks and visualization design. We present NL4DV, a toolkit for natural language-driven data visualization. NL4DV is a Python package that takes as input a tabular dataset and a natural language query about that dataset. In response, the toolkit returns an analytic specification modeled as a JSON object containing data attributes, analytic tasks, and a list of Vega-Lite specifications relevant to the input query. In doing so, NL4DV aids visualization developers who may not have a background in NLP, enabling them to create new visualization NLIs or incorporate natural language input within their existing systems. We demonstrate NL4DV's usage and capabilities through four examples: 1) rendering visualizations using natural language in a Jupyter notebook, 2) developing a NLI to specify and edit Vega-Lite charts, 3) recreating data ambiguity widgets from the DataTone system, and 4) incorporating speech input to create a multimodal visualization system.

Daftar Referensi

0 referensi

Tidak ada referensi ditemukan.

Artikel yang Mensitasi

0 sitasi

Tidak ada artikel yang mensitasi.