Using twinning to adapt programs to alternative APIs
Abstract
We describe twinning and its applications to adapting programs to alternative APIs. Twinning is a simple technique that allows programmers to specify a class of program changes, in the form of a mapping, without modifying the target program directly. Using twinning, programmers can specify changes that transition a program from using one API to using an alternative API.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
Code completion models are typically trained on data collected from existing codebases but then deployed more generally across other codebases, which may have different distributions of API usages.
“These models are typically trained on data collected from existing codebases but then deployed more generally across other codebases, which may have different distributions of API usages (Nita and Notkin, 2010; Proksch et al., 2016; Allamanis and Brockschmidt, 2017).”
From WILDS: A Benchmark of in-the-Wild Distribution Shifts (2020) · cites this paper as Nita and Notkin, 2010
Distribution shifts across codebases require systems to adapt to factors such as project content, coding conventions, or library/API usage.
“One major challenge is the shifts across codebases (which our Py150-wilds dataset focuses on), where systems need to adapt to factors such as project content, coding conventions, or library or API usage in each codebase (Nita and Notkin, 2010; Allamanis and Brockschmidt, 2017).”
From WILDS: A Benchmark of in-the-Wild Distribution Shifts (2020) · cites this paper as Nita and Notkin, 2010
As programming tools like code completion are expected to be used across codebases in real applications, it is important for models to learn generalizable representations of code and extrapolate well on unseen codebases.
“As programming tools like code completion are expected to be used across codebases in real applications (Nita and Notkin, 2010; Allamanis and Brockschmidt, 2017), it is important for models to learn generalizable representations of code and extrapolate well on unseen codebases.”
From WILDS: A Benchmark of in-the-Wild Distribution Shifts (2020) · cites this paper as Nita and Notkin, 2010
Cites
Tracking Code Clones in Evolving Software
Duala-Ekoko, E., & Robillard, M. P. (2007) · 29th International Conference on Software Engineering (ICSE'07) · doi:10.1109/icse.2007.90 · Cited by 222 · see citing works
Flagged first, then by citations
Cited by
Sorted by citations
WILDS: A Benchmark of in-the-Wild Distribution Shifts
Koh, P. W., Sagawa, S., Marklund, H., Xie, S. M., Zhang, M., Balsubramani, A., Hu, W., Yasunaga, M., Phillips, R. L., Gao, I., et al. (2020) · arXiv · doi:10.48550/arxiv.2012.07421 · Cited by 518 · see citing works
“One major challenge is the shifts across code bases, where systems need to adapt to the project content, coding convention, and library or API usage, etc. in each code base (Nita and Notkin, 2010; Allamanis and Brockschmidt, 2017).”
PYEVOLVE: Automating Frequent Code Changes in Python ML Systems
Dilhara, M., Dig, D., & Ketkar, A. (2023) · 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE) · doi:10.1109/icse48619.2023.00091 · Cited by 46 · see citing works
- Authors
- Nita, M., & Notkin, D.
- Affiliations
- University of Washington (US)
- Venue
- Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
- Publisher
- ACM
- Published
- 2010-05
- Pages
- 205-214
- ISSN
- 0270-5257 (ISSN-L)
- OpenAlex
- W2135742552
- Cited by
- 75
- References
- 1
- Citations by year
- 2025: 2 · 2024: 1 · 2023: 3 · 2022: 2 · 2021: 3 · 2020: 5 · 2019: 4 · 2018: 7 · 2017: 1 · 2016: 8 · 2015: 5 · 2014: 8 · 2013: 11 · 2012: 4
- FWCI
- 5.84
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) (publishedVersion)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Artificial Intelligence › Advanced Software Engineering Methodologies
- Physical Sciences › Computer Science › Artificial Intelligence › Logic, programming, and type systems
- Keywords
- twinning, program transformation, API mapping, software migration
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review