Unravel: A Fluent Code Explorer for Data Wrangling
Nischal Shrestha, Titus Barik, Chris Parnin
Abstract
Data scientists have adopted a popular design pattern in programming called the fluent interface for composing data wrangling code. The fluent interface works by combining multiple transformations on a data table—or dataframes—with a single chain of expressions, which produces an output. Although fluent code promotes legibility, the intermediate dataframes are lost, forcing data scientists to unravel the chain through tedious code edits and re-execution. Existing tools for data scientists do not allow easy exploration or support understanding of fluent code. To address this gap, we designed a tool called Unravel that enables structural edits via drag-and-drop and toggle switch interactions to help data scientists explore and understand fluent code. Data scientists can apply simple structural edits via drag-and-drop and toggle switch interactions to reorder and (un)comment lines. To help data scientists understand fluent code, Unravel provides function summaries and always-on visualizations highlighting important changes to a dataframe. We discuss the design motivations behind Unravel and how it helps understand and explore fluent code. In a first-use study with 14 data scientists, we found that Unravel facilitated diverse activities such as validating assumptions about the code or data, exploring alternatives, and revealing function behavior.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 6936f1db-8941-47fd-b81d-ad35240bbfa3Cited by top-tier papers10
- WaitGPT: Monitoring and Steering Conversational LLM Agent in Data Analysis with On-the-Fly Code VisualizationLiwenhan Xie, Chengbo Zheng, Haijun Xia, Huamin Qu et al.UIST 2024 · 45 citations
- Revealing the Semantics of Data Wrangling Scripts With ComanticsKai Xiong, Zhongsu Luo, Siwei Fu, Yongheng Wang et al.IEEE VIS 2022 · 13 citations
- Meta-Manager: A Tool for Collecting and Exploring Meta Information about CodeAmber Horvath, Andrew Macvean, Brad A. MyersCHI 2024 · 13 citations
- Governor: Turning Open Government Data Portals into Interactive DatabasesChang Liu, Arif Usta, Jian Zhao, Semih SalihogluCHI 2023 · 9 citations
- Understanding and Supporting Debugging Workflows in CADFelix Hähnlein, Gilbert Bernstein, Adriana SchulzUIST 2024 · 5 citations
Builds on6
- Wrex: A Unified Programming-by-Example Interaction for Synthesizing Readable Code for Data ScientistsIan Drosos, Titus Barik, Philip J. Guo, Robert DeLine et al.CHI 2020 · 110 citations
- Fork It: Supporting Stateful Alternatives in Computational NotebooksNathaniel Weinman, Steven Mark Drucker, Titus Barik, Robert DeLineCHI 2021 · 55 citations
- Projection Boxes: On-the-fly Reconfigurable Visualization for Live ProgrammingSorin LernerCHI 2020 · 52 citations
- Small-Step Live Programming by ExampleKasra Ferdowsifard, Allen Ordookhanians, Hila Peleg, Sorin Lerner et al.UIST 2020 · 40 citations
- Datamations: Animated Explanations of Data Analysis PipelinesXiaoying Pu, Sean Kross, Jake M. Hofman, Daniel G. GoldsteinCHI 2021 · 33 citations
Related papers
- Xavier: Toward Better Coding Assistance in Authoring Tabular Data Wrangling ScriptsYunfan Zhou, Xiwen Cai, Qiming Shi, Yanwei Huang et al.CHI 2025 · 4 citations
- Diff in the Loop: Supporting Data Comparison in Exploratory Data AnalysisApril Yi Wang, Will Epperson, Robert A. DeLine, Steven Mark DruckerCHI 2022 · 34 citations
- TweakIt: Supporting End-User Programmers Who Transmogrify CodeSam Lau, Sruti Srinivasa Ragavan, Ken Milne, Titus Barik et al.CHI 2021 · 26 citations
- Ferry: Toward Better Understanding of Input/Output Space for Data Wrangling ScriptsZhongsu Luo, Kai Xiong, Jiajun Zhu, Ran Chen et al.IEEE VIS 2024 · 4 citations
- Subtle Bugs Everywhere: Generating Documentation for Data Wrangling CodeChenyang Yang, Shurui Zhou, Jin L. C. Guo, Christian KästnerASE 2021 · 25 citations
