{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,3]],"date-time":"2026-07-03T16:41:56Z","timestamp":1783096916670,"version":"3.54.6"},"reference-count":60,"publisher":"Association for Computing Machinery (ACM)","issue":"FSE","license":[{"start":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T00:00:00Z","timestamp":1720742400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. ACM Softw. Eng."],"published-print":{"date-parts":[[2024,7,12]]},"abstract":"<jats:p>\n                    Developers heavily rely on Application Programming Interfaces (APIs) from libraries to build their software. As software evolves, developers may need to replace the used libraries with alternate libraries, a process known as\n                    <jats:italic toggle=\"yes\">library migration<\/jats:italic>\n                    . Doing this manually can be tedious, time-consuming, and prone to errors. Automated migration techniques can help alleviate some of this burden. However, designing effective automated migration techniques requires understanding the types of code changes required to transform client code that used the old library to the new library. This paper contributes an empirical study that provides a holistic view of Python library migrations, both in terms of the code changes required in a migration and the typical development effort involved. We manually label 3,096 migration-related code changes in 335 Python library migrations from 311 client repositories spanning 141 library pairs from 35 domains. Based on our labeled data, we derive a taxonomy for describing migration-related code changes,\n                    <jats:sc>PyMigTax<\/jats:sc>\n                    . Leveraging\n                    <jats:sc>PyMigTax<\/jats:sc>\n                    and our labeled data, we investigate various characteristics of Python library migrations, such as the types of program elements and properties of API mappings, the combinations of types of migration-related code changes in a migration, and the typical development effort required for a migration. Our findings highlight various potential shortcomings of current library migration tools. For example, we find that 40% of library pairs have API mappings that involve non-function program elements, while most library migration techniques typically assume that function calls from the source library will map into (one or more) function calls from the target library. As an approximation for the development effort involved, we find that, on average, a developer needs to learn about 4 APIs and 2 API mappings to perform a migration, and change 8 lines of code. However, we also found cases of migrations that involve up to 43 unique APIs, 22 API mappings, and 758 lines of code, making them harder to manually implement. Overall, our contributions provide the necessary knowledge and foundations for developing automated Python library migration techniques. We make all data and scripts related to this study publicly available at\n                    <jats:ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" ext-link-type=\"uri\" xlink:href=\"https:\/\/doi.org\/10.6084\/m9.figshare.24216858.v2\">https:\/\/doi.org\/10.6084\/m9.figshare.24216858.v2<\/jats:ext-link>\n                    .\n                  <\/jats:p>","DOI":"10.1145\/3643731","type":"journal-article","created":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T10:22:09Z","timestamp":1720779729000},"page":"92-114","source":"Crossref","is-referenced-by-count":8,"title":["Characterizing Python Library Migrations"],"prefix":"10.1145","volume":"1","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6822-2270","authenticated-orcid":false,"given":"Mohayeminul","family":"Islam","sequence":"first","affiliation":[{"name":"University of Alberta, Edmonton, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2771-353X","authenticated-orcid":false,"given":"Ajay Kumar","family":"Jha","sequence":"additional","affiliation":[{"name":"North Dakota State University, Fargo, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6660-8890","authenticated-orcid":false,"given":"Ildar","family":"Akhmetov","sequence":"additional","affiliation":[{"name":"Northeastern University, Vancouver, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0091-6030","authenticated-orcid":false,"given":"Sarah","family":"Nadi","sequence":"additional","affiliation":[{"name":"University of Alberta, Edmonton, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2024,7,12]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106267"},{"key":"e_1_3_1_3_2","doi-asserted-by":"publisher","DOI":"10.1002\/9780470606834"},{"key":"e_1_3_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380405"},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1983.235271"},{"key":"e_1_3_1_6_2","doi-asserted-by":"crossref","unstructured":"Hussein Alrubaye and Mohamed Wiem Mkaouer. 2018. Automating the detection of third-party Java library migration at the function level.. In CASCON. 60\u201371.","DOI":"10.1109\/ICSME.2019.00072"},{"key":"e_1_3_1_7_2","doi-asserted-by":"publisher","unstructured":"Hussein Alrubaye Mohamed Wiem Mkaouer Igor Khokhlov Leon Reznik Ali Ouni and Jason Mcgoff. 2020. Learning to recommend third-party library migration opportunities at the API level. Applied Soft Computing 90 (2020) 106140. https:\/\/doi.org\/10.1016\/j.asoc.2020.106140 10.1016\/j.asoc.2020.106140","DOI":"10.1016\/j.asoc.2020.106140"},{"key":"e_1_3_1_8_2","doi-asserted-by":"crossref","first-page":"414","DOI":"10.1109\/ICSME.2019.00072","volume-title":"2019 IEEE international conference on software maintenance and evolution (ICSME)","author":"Alrubaye Hussein","year":"2019","unstructured":"Hussein Alrubaye, Mohamed Wiem Mkaouer, and Ali Ouni. 2019. Migrationminer: An automated detection tool of third-party java library migration at the method level. In 2019 IEEE international conference on software maintenance and evolution (ICSME). IEEE, 414\u2013417."},{"key":"e_1_3_1_9_2","doi-asserted-by":"crossref","unstructured":"Hussein Alrubaye Mohamed Wiem Mkaouer and Ali Ouni. 2019. On the use of information retrieval to automate the detection of third-party java library migration at the method level. In 2019 IEEE\/ACM 27th International Conference on Program Comprehension (ICPC). IEEE 347\u2013357.","DOI":"10.1109\/ICPC.2019.00053"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/1103845.1094832"},{"issue":"4","key":"e_1_3_1_11_2","doi-asserted-by":"crossref","first-page":"94","DOI":"10.1007\/s10664-021-10072-8","article-title":"Sampling in software engineering research: A critical review and guidelines.","volume":"27","author":"Baltes Sebastian","year":"2022","unstructured":"Sebastian Baltes and Paul Ralph. 2022. Sampling in software engineering research: A critical review and guidelines. Empirical Software Engineering 27, 4 (2022), 94.","journal-title":"Empirical Software Engineering"},{"key":"e_1_3_1_12_2","doi-asserted-by":"crossref","first-page":"435","DOI":"10.1109\/CSMR.2012.55","volume-title":"2012 16th European Conference on Software Maintenance and Reengineering","author":"Bauer Veronika","year":"2012","unstructured":"Veronika Bauer and Lars Heinemann. 2012. Understanding API usage to support informed decision making in software maintenance. In 2012 16th European Conference on Software Maintenance and Reengineering. IEEE, 435\u2013440."},{"issue":"6","key":"e_1_3_1_13_2","doi-asserted-by":"crossref","first-page":"349","DOI":"10.1002\/smr.412","article-title":"Understanding software maintenance and evolution by analyzing individual changes: a literature review.","volume":"21","author":"Benestad Hans Christian","year":"2009","unstructured":"Hans Christian Benestad, Bente Anda, and Erik Arisholm. 2009. Understanding software maintenance and evolution by analyzing individual changes: a literature review. Journal of Software Maintenance and Evolution: Research and Practice 21, 6 (2009), 349\u2013378.","journal-title":"Journal of Software Maintenance and Evolution: Research and Practice"},{"key":"e_1_3_1_14_2","unstructured":"B Boehm and D Reifer. 2000. Software Cost Estimation with COCOMO II. Prentice Hall. Upper Saddle River NJ (2000)."},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","unstructured":"Aline Brito Laerte Xavier Andre Hora and Marco Tulio Valente. 2018. APIDiff: Detecting API breaking changes. In 2018 IEEE 25th International Conference on Software Analysis Evolution and Reengineering (SANER). 507\u2013511. https:\/\/doi.org\/10.1109\/SANER.2018.8330249 10.1109\/SANER.2018.8330249","DOI":"10.1109\/SANER.2018.8330249"},{"issue":"3","key":"e_1_3_1_16_2","doi-asserted-by":"crossref","first-page":"432","DOI":"10.1109\/TSE.2019.2896123","article-title":"Mining likely analogical apis across third-party libraries via large-scale unsupervised api semantics embedding.","volume":"47","author":"Chen Chunyang","year":"2019","unstructured":"Chunyang Chen, Zhenchang Xing, Yang Liu, and Kent Ong Long Xiong. 2019. Mining likely analogical apis across third-party libraries via large-scale unsupervised api semantics embedding. IEEE Transactions on Software Engineering 47, 3 (2019), 432\u2013447.","journal-title":"IEEE Transactions on Software Engineering"},{"key":"e_1_3_1_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2896123"},{"issue":"1","key":"e_1_3_1_18_2","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1177\/001316446002000104","article-title":"A coefficient of agreement for nominal scales.","volume":"20","author":"Cohen Jacob","year":"1960","unstructured":"Jacob Cohen. 1960. A coefficient of agreement for nominal scales. Educational and psychological measurement 20, 1 (1960), 37\u201346.","journal-title":"Educational and psychological measurement"},{"key":"e_1_3_1_19_2","doi-asserted-by":"crossref","first-page":"96","DOI":"10.1109\/TSE.1979.234165","article-title":"Measuring the psychological complexity of software maintenance tasks with the Halstead and McCabe metrics.","volume":"2","author":"Curtis Bill","year":"1979","unstructured":"Bill Curtis, Sylvia B. Sheppard, Phil Milliman, MA Borst, and Tom Love. 1979. Measuring the psychological complexity of software maintenance tasks with the Halstead and McCabe metrics. IEEE Transactions on software engineering 2 (1979), 96\u2013104.","journal-title":"IEEE Transactions on software engineering"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/MSR52588.2021.00074"},{"key":"e_1_3_1_21_2","doi-asserted-by":"crossref","unstructured":"Erik Derr Sven Bugiel Sascha Fahl Yasemin Acar and Michael Backes. 2017. Keep me updated: An empirical study of third-party library updatability on android. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. 2187\u20132200.","DOI":"10.1145\/3133956.3134059"},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.5555\/2700539"},{"key":"e_1_3_1_23_2","unstructured":"Python Software Foundation. [n. d.]. Python Package Index - PyPI. Retrieved March 31 2022 from https:\/\/pypi.org"},{"issue":"12","key":"e_1_3_1_24_2","article-title":"The state-of-the-art in software development effort estimation.","volume":"30","author":"Gautam Swarnima Singh","year":"2018","unstructured":"Swarnima Singh Gautam and Vrijendra Singh. 2018. The state-of-the-art in software development effort estimation. Journal of Software: Evolution and Process 30, 12 (2018), e1983.","journal-title":"Journal of Software: Evolution and Process"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","unstructured":"Georgios Gousios and Diomidis Spinellis. 2012. GHTorrent: Github\u2019s data from a firehose. In 2012 9th IEEE Working Conference on Mining Software Repositories (MSR). 12\u201321. https:\/\/doi.org\/10.1109\/MSR.2012.6224294 10.1109\/MSR.2012.6224294","DOI":"10.1109\/MSR.2012.6224294"},{"key":"e_1_3_1_26_2","first-page":"627","volume-title":"2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)","author":"Gu Haiqiao","year":"2023","unstructured":"Haiqiao Gu, Hao He, and Minghui Zhou. 2023. Self-Admitted Library Migrations in Java, JavaScript, and Python Packaging Ecosystems: A Comparative Study. In 2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 627\u2013638."},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.5555\/540137"},{"key":"e_1_3_1_28_2","doi-asserted-by":"crossref","first-page":"1109","DOI":"10.1109\/ICOEI.2017.8300883","volume-title":"2017 international conference on trends in electronics and informatics (ICEI)","author":"Hariprasad T","year":"2017","unstructured":"T Hariprasad, G Vidhyagaran, K Seenu, and Chandrasegar Thirumalai. 2017. Software complexity analysis using halstead metrics. In 2017 international conference on trends in electronics and informatics (ICEI). IEEE, 1109\u20131113."},{"key":"e_1_3_1_29_2","doi-asserted-by":"crossref","unstructured":"Hao He Runzhi He Haiqiao Gu and Minghui Zhou. 2021. A large-scale empirical study on Java library migrations: prevalence trends and rationales. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 478\u2013490.","DOI":"10.1145\/3468264.3468571"},{"key":"e_1_3_1_30_2","doi-asserted-by":"crossref","first-page":"72","DOI":"10.1109\/SANER50967.2021.00016","volume-title":"2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)","author":"He Hao","year":"2021","unstructured":"Hao He, Yulin Xu, Yixiao Ma, Yifei Xu, Guangtai Liang, and Minghui Zhou. 2021. A multi-metric ranking approach for library migration recommendations. In 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 72\u201383."},{"key":"e_1_3_1_31_2","volume-title":"Practical software project estimation: a toolkit for estimating software development effort & duration","author":"Hill Peter R","year":"2011","unstructured":"Peter R Hill. 2011. Practical software project estimation: a toolkit for estimating software development effort & duration. McGraw-Hill Education."},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/MSR59073.2023.00075"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","unstructured":"Mohayeminul Islam Sarah Nadi Ildar Akhmetov and Ajay Kumar Jha. 2024. Characterizing Python Library Migrations - artifacts. (1 2024). https:\/\/doi.org\/10.6084\/m9.figshare.24216858.v2 10.6084\/m9.figshare.24216858.v2","DOI":"10.6084\/m9.figshare.24216858.v2"},{"issue":"2","key":"e_1_3_1_34_2","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1109\/MS.2014.49","article-title":"What we do and don\u2019t know about software development effort estimation.","volume":"31","author":"J\u00f8rgensen Magne","year":"2014","unstructured":"Magne J\u00f8rgensen. 2014. What we do and don\u2019t know about software development effort estimation. IEEE software 31, 2 (2014), 37\u201340.","journal-title":"IEEE software"},{"key":"e_1_3_1_35_2","first-page":"154","volume-title":"2016 IEEE\/ACM 13th Working Conference on Mining Software Repositories (MSR)","author":"Kabinna Suhas","year":"2016","unstructured":"Suhas Kabinna, Cor-Paul Bezemer, Weiyi Shang, and Ahmed E Hassan. 2016. Logging library migrations: A case study for the apache software foundation projects. In 2016 IEEE\/ACM 13th Working Conference on Mining Software Repositories (MSR). IEEE, 154\u2013164."},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","unstructured":"Jeremy Katz. 2020. Libraries.io Open Source Repository and Dependency Metadata. https:\/\/doi.org\/10.5281\/ZENODO.808272 10.5281\/ZENODO.808272","DOI":"10.5281\/ZENODO.808272"},{"key":"e_1_3_1_37_2","doi-asserted-by":"publisher","unstructured":"Ameya Ketkar Oleg Smirnov Nikolaos Tsantalis Danny Dig and Timofey Bryksin. 2022. Inferring and applying type changes. In Proceedings of the 44th International Conference on Software Engineering. 1206\u20131218. https:\/\/doi.org\/10.1145\/3510003.3510115 10.1145\/3510003.3510115","DOI":"10.1145\/3510003.3510115"},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/571681.571686"},{"key":"e_1_3_1_39_2","first-page":"221","volume-title":"Content analysis: An introduction to its methodology","author":"Krippendorff Klaus","year":"2013","unstructured":"Klaus Krippendorff. 2013. Content analysis: An introduction to its methodology (3rd ed.). Sage publications, Thousand Oaks, California. 221\u2013250 pages."},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9521-5"},{"key":"e_1_3_1_41_2","doi-asserted-by":"crossref","unstructured":"J Richard Landis and Gary G Koch. 1977. The measurement of observer agreement for categorical data. biometrics (1977) 159\u2013174.","DOI":"10.2307\/2529310"},{"key":"e_1_3_1_42_2","doi-asserted-by":"crossref","unstructured":"Enrique Larios Vargas Maur\u00edcio Aniche Christoph Treude Magiel Bruntink and Georgios Gousios. 2020. Selecting third-party libraries: The practitioners\u2019 perspective. In Proceedings of the 28th ACM joint meeting on european software engineering conference and symposium on the foundations of software engineering. 245\u2013256.","DOI":"10.1145\/3368089.3409711"},{"issue":"7","key":"e_1_3_1_43_2","article-title":"A systematic review of studies on use case points and expert-based estimation of software development effort.","volume":"32","author":"Mahmood Yasir","year":"2020","unstructured":"Yasir Mahmood, Nazri Kama, and Azri Azmi. 2020. A systematic review of studies on use case points and expert-based estimation of software development effort. Journal of Software: Evolution and Process 32, 7 (2020), e2245.","journal-title":"Journal of Software: Evolution and Process"},{"key":"e_1_3_1_44_2","doi-asserted-by":"crossref","first-page":"308","DOI":"10.1109\/TSE.1976.233837","article-title":"A complexity measure.","volume":"4","author":"McCabe Thomas J","year":"1976","unstructured":"Thomas J McCabe. 1976. A complexity measure. IEEE Transactions on software Engineering 4 (1976), 308\u2013320.","journal-title":"IEEE Transactions on software Engineering"},{"issue":"2","key":"e_1_3_1_45_2","doi-asserted-by":"crossref","first-page":"78","DOI":"10.1109\/MS.2013.142","article-title":"A large-scale empirical study on software reuse in mobile apps.","volume":"31","author":"Mojica Israel J","year":"2013","unstructured":"Israel J Mojica, Bram Adams, Meiyappan Nagappan, Steffen Dienst, Thorsten Berger, and Ahmed E Hassan. 2013. A large-scale empirical study on software reuse in mobile apps. IEEE software 31, 2 (2013), 78\u201386.","journal-title":"IEEE software"},{"key":"e_1_3_1_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/2889160.2892661"},{"key":"e_1_3_1_47_2","first-page":"112","volume-title":"2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE)","author":"Ni Ansong","year":"2021","unstructured":"Ansong Ni, Daniel Ramos, Aidan ZH Yang, In\u00eas Lynce, Vasco Manquinho, Ruben Martins, and Claire Le Goues. 2021. Soar: a synthesis approach for data science api refactoring. In 2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE). IEEE, 112\u2013124."},{"key":"e_1_3_1_48_2","doi-asserted-by":"crossref","first-page":"74","DOI":"10.1109\/ICSE43902.2021.00020","volume-title":"2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE)","author":"Nielsen Benjamin Barslev","year":"2021","unstructured":"Benjamin Barslev Nielsen Martin Toldam Torp and Anders M\u00f8ller. 2021. Semantic patches for adaptation of javascript programs to evolving libraries. In 2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE). IEEE, 74\u201385."},{"key":"e_1_3_1_49_2","unstructured":"R OpenAI. 2023. GPT-4 technical report. arXiv (2023) 2303\u201308774."},{"key":"e_1_3_1_50_2","unstructured":"Qualtrics. [n. d.]. How to use stratified random sampling in 2023. https:\/\/www.qualtrics.com\/experience-management\/research\/stratified-random-sampling\/."},{"key":"e_1_3_1_51_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-019-09713-w"},{"key":"e_1_3_1_52_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.799955"},{"key":"e_1_3_1_53_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.protcy.2012.05.116"},{"key":"e_1_3_1_54_2","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2012.38"},{"key":"e_1_3_1_55_2","doi-asserted-by":"crossref","first-page":"192","DOI":"10.1109\/WCRE.2013.6671294","volume-title":"2013 20th Working Conference on Reverse Engineering (WCRE)","author":"Teyton C\u00e9dric","year":"2013","unstructured":"C\u00e9dric Teyton, Jean-R\u00e9my Falleri, and Xavier Blanc. 2013. Automatic discovery of function mappings between similar libraries. In 2013 20th Working Conference on Reverse Engineering (WCRE). IEEE, 192\u2013201. Proc. ACM Softw. Eng., Vol. 1, No. FSE, Article 5. Publication date: July 2024."},{"key":"e_1_3_1_56_2","doi-asserted-by":"publisher","DOI":"10.1002\/smr.1660"},{"key":"e_1_3_1_57_2","doi-asserted-by":"crossref","unstructured":"Jiawei Wang Li Li Kui Liu and Haipeng Cai. 2020. Exploring how deprecated python library apis are (not) handled. In Proceedings of the 28th acm joint meeting on european software engineering conference and symposium on the foundations of software engineering. 233\u2013244.","DOI":"10.1145\/3368089.3409735"},{"key":"e_1_3_1_58_2","doi-asserted-by":"crossref","first-page":"35","DOI":"10.1109\/ICSME46990.2020.00014","volume-title":"2020 IEEE International Conference on Software Maintenance and Evolution (ICSME)","author":"Wang Ying","year":"2020","unstructured":"Ying Wang, Bihuan Chen, Kaifeng Huang, Bowen Shi, Congying Xu, Xin Peng, Yijian Wu, and Yang Liu. 2020. An empirical study of usages, updates and risks of third-party libraries in java projects. In 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 35\u201345."},{"key":"e_1_3_1_59_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.70747"},{"key":"e_1_3_1_60_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-019-09771-0"},{"key":"e_1_3_1_61_2","doi-asserted-by":"crossref","unstructured":"Zejun Zhang Minxue Pan Tian Zhang Xinyu Zhou and Xuandong Li. 2020. Deep-diving into documentation to develop improved java-to-swift api mapping. In Proceedings of the 28th International Conference on Program Comprehension. 106\u2013116.","DOI":"10.1145\/3387904.3389282"}],"container-title":["Proceedings of the ACM on Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3643731","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3643731","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,2,4]],"date-time":"2026-02-04T07:52:46Z","timestamp":1770191566000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3643731"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,7,12]]},"references-count":60,"journal-issue":{"issue":"FSE","published-print":{"date-parts":[[2024,7,12]]}},"alternative-id":["10.1145\/3643731"],"URL":"https:\/\/doi.org\/10.1145\/3643731","relation":{},"ISSN":["2994-970X"],"issn-type":[{"value":"2994-970X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,7,12]]}}}