Refinement Types for Visualization
Jingtao Xia, Junrui Liu, Nicholas Brown, Yanju Chen, Yu Feng
Abstract
Visualizations have become crucial in the contemporary data-driven world as they aid in exploring, verifying, and sharing insights obtained from data. In this paper, we propose a new paradigm of visualization synthesis based on refinement types. Besides input-output examples, users can optionally use refinement-type annotations to constrain the range of valid values in the example visualization or to express complex interactions between different visual components. Our system's outputs include both data transformation and visualization programs that are consistent with refinementtype specifications. To mitigate the scalability challenge during the synthesis process, we introduce a new visualization synthesis algorithm that uses lightweight bidirectional type checking to prune the search space. As we demonstrate experimentally, this new synthesis algorithm results in significant speed-up compared to prior work. We have implemented the proposed approach in a tool called Calico and evaluated it on 40 visualization tasks collected from online forums and tutorials. Our experiments show that Calico can solve 98% of these benchmarks and, among those benchmarks that can be solved, the desired visualization is among the top-1 output generated by Calico. Furthermore, Calico takes an average of 1.56 seconds to generate the visualization, which is 50 times faster than Viser, a state-of-the-art synthesizer for data visualization.
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 bbd94c17-8b34-443e-ba47-340ada7aa719Cited by top-tier papers1
Ask how each one uses itBuilds on9
- Multi-modal synthesis of regular expressionsQiaochu Chen, Xinyu Wang, Xi Ye, Greg Durrett et al.PLDI 2020 · 81 citations
- Interactive Program Synthesis by Augmented ExamplesTianyi Zhang, London Lowmanstone, Xinyu Wang, Elena L. GlassmanUIST 2020 · 57 citations
- Visualization by exampleChenglong Wang, Yu Feng, Rastislav Bodík, Alvin Cheung et al.POPL 2020 · 36 citations
- Falx: Synthesis-Powered Visualization AuthoringChenglong Wang, Yu Feng, Rastislav Bodík, Isil Dillig et al.CHI 2021 · 35 citations
- Program Synthesis Using Deduction-Guided Reinforcement LearningYanju Chen, Chenglong Wang, Osbert Bastani, Isil Dillig et al.CAV 2020 · 30 citations
Related papers
- Type-directed synthesis of visualizations from natural language queriesQiaochu Chen, Shankara Pailoor, Celeste Barnaby, Abby Criswell et al.OOPSLA 2022 · 15 citations
- Data flow refinement type inferenceZvonimir Pavlinovic, Yusen Su, Thomas WiesPOPL 2021 · 15 citations
- Visualization question answering using introspective program synthesisYanju Chen, Xifeng Yan, Yu FengPLDI 2022
- PlotCoder: Hierarchical Decoding for Synthesizing Visualization Code in Programmatic ContextXinyun Chen, Linyuan Gong, Alvin Cheung, Dawn SongACL 2021
- NL2Viz: natural language to visualization via constrained syntax-guided synthesisZhengkai Wu, Vu Le, Ashish Tiwari, Sumit Gulwani et al.FSE 2022 · 10 citations
