← Latest papers
💻 computer science

Supporting the Comprehension of Data Analysis Scripts

This paper introduces flowR, an extension for R IDEs like Positron and VS Code that enhances script comprehension and maintainability through near real-time, incremental dataflow analysis, interactive visualizations, and linting capabilities.

Original authors: Florian Sihler, Oliver Gerstl, Lars Pfrenger, Julian Schubert, Matthias Tichy

Published 2026-04-20
📖 5 min read🧠 Deep dive

Original authors: Florian Sihler, Oliver Gerstl, Lars Pfrenger, Julian Schubert, Matthias Tichy

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you've found a treasure map left by a fellow explorer. It's supposed to lead you to a hidden goldmine (a great data analysis result). But when you try to follow it, the map is scribbled in a confusing code, some of the landmarks are missing, and the instructions contradict each other. You're stuck.

This is the daily reality for many researchers using R, a popular language for data analysis. Their "maps" (scripts) are often hard to read, hard to fix, and impossible to reproduce.

Enter flowR, a new tool created by researchers at Ulm University. Think of flowR not just as a tool, but as a super-powered GPS and translator for these messy data maps.

Here is how flowR works, explained through simple analogies:

1. The "X-Ray Vision" (Understanding the Code)

When you look at a complex R script, it's like looking at a tangled ball of yarn. You can't see where one string ends and another begins.

  • What flowR does: It acts like an X-ray machine. It peels back the layers to show you exactly how data flows from one step to the next. It builds a Dataflow Graph, which is like a subway map showing every station (variable) and every track (connection) the data travels on.
  • Why it helps: Instead of guessing, you can instantly see, "Ah, this number comes from that spreadsheet, which was cleaned by this specific rule."

2. The "Highlighter" (Hover-Over Values)

Imagine reading a novel where, if you hover your mouse over a character's name, a little bubble pops up telling you exactly what they are wearing, where they are, and what they are holding right now.

  • What flowR does: As you type or read code, you can hover over any variable. flowR instantly tells you the shape of the data (e.g., "This is a list of 50 names") or the specific value (e.g., "This is the number 42").
  • Why it helps: You don't have to run the whole program to see what's happening. It's like having a live preview of the movie while you're still writing the script.

3. The "Butterfly Effect" (Impact Slicing)

In the movie The Butterfly Effect, a small change in the past causes a massive change in the future. In data analysis, changing one number in a spreadsheet can ruin a final chart.

  • What flowR does: It offers Forward Slicing (Impact Slicing). If you click on a specific input file, flowR highlights every single line of code that is affected by that file. It's like shining a spotlight on everything that would break if you deleted that one file.
  • Why it helps: It answers the question, "If I change this one number, how much of my work will I have to redo?"

4. The "Reverse Detective" (Backward Slicing)

Sometimes you see a weird result in your final chart and ask, "Where did this come from?"

  • What flowR does: It works backward like a detective tracing a crime. It starts at the final result and traces the path back to the very first source of the data, ignoring everything else.
  • Why it helps: It cuts a 1,000-line script down to just the 100 lines that actually matter for that specific result, making it easy to find the culprit.

5. The "Auto-Correct" for Reproducibility (Linting)

Have you ever tried to follow a recipe that says "add salt from the jar in the kitchen," but you are in a different house? The recipe fails. This happens in code when researchers use "absolute paths" (specific addresses on their computer) that don't work on anyone else's.

  • What flowR does: It acts as a strict but helpful editor. It scans your code for common mistakes that make scripts "non-reproducible" (like broken file paths or missing random seeds). Even better, it offers Quick-Fixes, like a smart auto-correct that suggests changing "C:/Users/John/..." to a relative path that works for everyone.
  • Why it helps: It ensures your script works not just on your computer, but on your colleague's computer, too.

6. The "Universal Adapter" (Notebook Support)

Data scientists often work in "Notebooks" (interactive documents that mix code, text, and charts), which are notoriously hard to analyze because they are messy.

  • What flowR does: It speaks the language of all major notebook formats (Jupyter, R Markdown, Quarto). It understands that code in "Cell 3" depends on "Cell 1," even if they are far apart on the screen.
  • Why it helps: It brings order to the chaos of interactive notebooks, making them just as easy to analyze as standard code files.

The Bottom Line

Before flowR, understanding a complex data script was like trying to assemble IKEA furniture without the instructions, in the dark, with half the screws missing.

flowR turns on the lights, provides the step-by-step instructions, highlights the parts you need, and even fixes the screws for you. It makes data analysis transparent, reproducible, and much less frustrating for scientists and researchers everywhere.

It's fast (analyzing a whole project in less than a second), it works in your favorite code editors (like VS Code), and it even runs in your browser. It's the ultimate co-pilot for anyone trying to make sense of data.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →