SOAR: A Synthesis Approach for Data Science API Refactoring
Not on the map. Why?
Abstract (arXiv)
With the growth of the open-source data science community, both the number of data science libraries and the number of versions for the same library are increasing rapidly. To match the evolving APIs from those libraries, open-source organizations often have to exert manual effort to refactor the APIs used in the code base. Moreover, due to the abundance of similar open-source libraries, data scientists working on a certain application may have an abundance of libraries to choose, maintain and migrate between. The manual refactoring between APIs is a tedious and error-prone task. Although recent research efforts were made on performing automatic API refactoring between different languages, previous work relies on statistical learning with collected pairwise training data for the API matching and migration. Using large statistical data for refactoring is not ideal because such training data will not be available for a new library or a new version of the same library. We introduce Synthesis for Open-Source API Refactoring (SOAR), a novel technique that requires no training data to achieve API migration and refactoring. SOAR relies only on the documentation that is readily available at the release of the library to learn API representations and mapping between libraries. Using program synthesis, SOAR automatically computes the correct configuration of arguments to the APIs and any glue code required to invoke those APIs. SOAR also uses the interpreter's error messages when running refactored code to generate logical constraints that can be used to prune the search space. Our empirical evaluation shows that SOAR can successfully refactor 80% of our benchmarks corresponding to deep learning models with up to 44 layers with an average run time of 97.23 seconds, and 90% of the data wrangling benchmarks with an average run time of 17.31 seconds.
Key facts. Cited by 8 papers in the map (data through 7 Oct 2026). First posted on arXiv 12 Feb 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2022: 2; 2023: 4; 2024: 0; 2025: 1; 2026: 1.
8 papers.
- 2023Coeditor: Leveraging Contextual Changes for Multi-round Code Auto-editingcited by 9
- 2023NeuRI: Diversifying DNN Generation via Inductive Rule Inferencecited by 6
- 2023MELT: Mining Effective Lightweight Transformations from Pull Requestscited by 2
- 2026SPELL: Synthesis of Programmatic Edits using LLMscited by 1
- 2022Example-based Synthesis of Static Analysis Rulescited by 0
- 2022A Survey on Semantics in Automated Data Sciencecited by 0
- 2023A Vision for Semantically Enriched Data Sciencecited by 0
- 2025Speculative Automated Refactoring of Imperative Deep Learning Programs to Graph Executioncited by 0
- 2026SPELL: Synthesis of Programmatic Edits using LLMs1 Feb 2026
- 2025Speculative Automated Refactoring of Imperative Deep Learning Programs to Graph Execution7 Apr 2025
- 2023MELT: Mining Effective Lightweight Transformations from Pull Requests28 Aug 2023
- 2023Coeditor: Leveraging Contextual Changes for Multi-round Code Auto-editing29 May 2023
- 2023A Vision for Semantically Enriched Data Science2 Mar 2023
- 2023NeuRI: Diversifying DNN Generation via Inductive Rule Inference4 Feb 2023
- 2022A Survey on Semantics in Automated Data Science16 May 2022
- 2022Example-based Synthesis of Static Analysis Rules19 Apr 2022