一句话:提出集成于 R 数据分析 IDE 的 flowR 工具,通过静态数据流分析与交互可视化帮助理解脚本。
数据分析脚本常用于数据清洗与可视化,但研究显示它们往往难以理解和维护,影响可复现性与复用,且缺乏工具支持。本文面向 R 语言提出 flowR,作为 Positron 和 VS Code 的扩展。flowR 在已有静态后向程序切片器基础上,提供脚本概览、交互式图可视化、linting 与内联值标注。其核心是增量分析:交织过程间数据流和控制流分析来构建数据流图,并纳入 R 的动态与探索性特性;同时提供插件系统与接口以集成新分析或自定义可视化。对真实项目,计算完整数据流图平均耗时 576 ms,支持近实时反馈,从而帮助数据分析者理解脚本。
A lot of research relies on data analysis scripts to process, clean, and visualize data. However, recent studies show that these scripts are often hard to comprehend and maintain, hindering reproducibility and reuse, accompanied by a lack of tool support for handling such scripts. In this work, we focus on the R programming language, addressing this problem by presenting flowR as an extension for the common data analysis IDEs Positron and VS Code. Alongside a previously presented static backward program slicer, flowR provides an overview of data analysis scripts, interactive graph visualizations, linting, and inline value annotations to support data analysts. FlowR incrementally analyzes R projects by intertwining interprocedural data- and control-flow analyses to build a comprehensive dataflow graph, incorporating R's dynamic and explorative features. Additionally, flowR offers a plugin system and interfaces, allowing the integration of further analyses, such as new linting rules or custom visualizations. Requiring an average of 576 ms to calculate the full dataflow graph of real-world projects, this enables near real-time feedback. The demonstration video is available at https://youtu.be/hJzr-r-NmMg. For the full source code and extensive documentation, refer to https://github.com/flowr-analysis/flowr. To try the docker image, use docker run –rm-it eagleoutice/flowr.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-2604-15963,
title = {Supporting the Comprehension of Data Analysis Scripts},
author = {Florian Sihler and Oliver Gerstl and Lars Pfrenger and Julian Schubert and Matthias Tichy},
booktitle = {FSE},
year = {2026},
doi = {10.1145/3803437.3806402}
}