2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE) 2021
DOI: 10.1109/icse43902.2021.00023
|View full text |Cite
|
Sign up to set email alerts
|

SOAR: A Synthesis Approach for Data Science API Refactoring

Abstract: 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.… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
19
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 17 publications
(19 citation statements)
references
References 39 publications
0
19
0
Order By: Relevance
“…In this section, we use PyMigTax to identify the types of real-world migrations that existing library migration techniques support. We specifically discuss four state-ofthe-art API mapping techniques [4][5][6]42] and, to the best of our knowledge, the only existing client code transformation technique for library migration [37]. Note that the API mapping techniques [4][5][6]42] are for Java and the transformation technique [37] is for Python.…”
Section: Discussionmentioning
confidence: 99%
See 2 more Smart Citations
“…In this section, we use PyMigTax to identify the types of real-world migrations that existing library migration techniques support. We specifically discuss four state-ofthe-art API mapping techniques [4][5][6]42] and, to the best of our knowledge, the only existing client code transformation technique for library migration [37]. Note that the API mapping techniques [4][5][6]42] are for Java and the transformation technique [37] is for Python.…”
Section: Discussionmentioning
confidence: 99%
“…Other techniques use various metrics, based on functional and non-functional characteristics of libraries, to select or recommend such analogous libraries [14,19,24]. Similar approaches have also been used for API mapping, whether through mining previous migration instances or API descriptions to discover analogous APIs [4,6,9,37,42,52], or by building recommender systems around these API mappings [5]. For client code transformation, researchers used various techniques such as program synthesis [37], data flow analysis [32], patch generalization [20,51] and differential testing [20].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…A large amount of work has been done on API migration [38,[97][98][99]105],the task of migrating code using one API to use a new API. Likewise, a number of API-recommendation tools [68,137] have been developed, although these do not tell the programmer how to integrate the API.…”
Section: Existing Compilation Techniquesmentioning
confidence: 99%
“…They do not automate the task of synthesizing a rule from a cluster of code changes. Program synthesis has also been recently applied to other code related applications such as API migration [Gao et al 2021;Ni et al 2021], synthesis of merge conflict resolutions [Pan et al 2021], interactive code search ]. Datalog synthesis: There is a rich body of recent work on datalog synthesis [Albarghouthi et al 2017;Si et al 2018Si et al , 2019Thakkar et al 2021] and its application to code related tasks such as interactive code search .…”
Section: Related Workmentioning
confidence: 99%