Automating third-party library migrations

Alexey Mikhailovich Zorchenkov
{"title":"Automating third-party library migrations","authors":"Alexey Mikhailovich Zorchenkov","doi":"10.7256/2454-0714.2022.1.34337","DOIUrl":null,"url":null,"abstract":"\n Manual migration between various third-party libraries is a problem for software developers. Developers usually need to study the application programming interfaces of both libraries, as well as read their documentation to find suitable comparisons between the replacement and the replaced methods. In this article, I will present a new approach (MIG) to machine learning that recommends mappings between the methods of two API libraries. My model learns from manually found data of implemented migrations, extracts a set of functions related to the similarity of the method signature and text documentation. I evaluated the model using 8 popular migrations compiled from 57,447 open source Java projects. The results show that the model can recommend appropriate library API mappings with an average accuracy rate of 87%.   This study examines the problem of recommending method comparisons when migrating between third-party libraries. A new approach is described that recommends the comparison of methods between two unknown libraries using features extracted from the lexical similarity between method names and textual similarity of method documentation. I evaluated the result by checking how this approach and three other most commonly used approaches recommend a comparison of migration methods for 8 popular libraries. I have shown that the proposed approach shows much better accuracy and performance than the other 3 methods. Qualitative and quantitative analysis of the results shows an increase in accuracy by 39.51% in comparison with other well-known approaches.\n","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"13 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Программные системы и вычислительные методы","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.7256/2454-0714.2022.1.34337","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Manual migration between various third-party libraries is a problem for software developers. Developers usually need to study the application programming interfaces of both libraries, as well as read their documentation to find suitable comparisons between the replacement and the replaced methods. In this article, I will present a new approach (MIG) to machine learning that recommends mappings between the methods of two API libraries. My model learns from manually found data of implemented migrations, extracts a set of functions related to the similarity of the method signature and text documentation. I evaluated the model using 8 popular migrations compiled from 57,447 open source Java projects. The results show that the model can recommend appropriate library API mappings with an average accuracy rate of 87%.   This study examines the problem of recommending method comparisons when migrating between third-party libraries. A new approach is described that recommends the comparison of methods between two unknown libraries using features extracted from the lexical similarity between method names and textual similarity of method documentation. I evaluated the result by checking how this approach and three other most commonly used approaches recommend a comparison of migration methods for 8 popular libraries. I have shown that the proposed approach shows much better accuracy and performance than the other 3 methods. Qualitative and quantitative analysis of the results shows an increase in accuracy by 39.51% in comparison with other well-known approaches.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
自动化第三方库迁移
对于软件开发人员来说,在各种第三方库之间进行手动迁移是一个问题。开发人员通常需要研究这两个库的应用程序编程接口,并阅读它们的文档,以找到替换方法和被替换方法之间的适当比较。在本文中,我将介绍一种机器学习的新方法(MIG),该方法建议在两个API库的方法之间进行映射。我的模型从手动找到的已实现迁移的数据中学习,提取一组与方法签名和文本文档相似度相关的函数。我使用从57,447个开源Java项目中编译的8个流行迁移来评估该模型。结果表明,该模型可以推荐合适的库API映射,平均准确率为87%。本研究考察了在第三方库之间迁移时推荐方法比较的问题。本文描述了一种新的方法,该方法使用从方法名称的词汇相似度和方法文档的文本相似度中提取的特征来推荐两个未知库之间的方法比较。我通过检查这种方法和其他三种最常用的方法如何推荐8个流行库的迁移方法来评估结果。我已经证明,所提出的方法比其他3种方法具有更好的准确性和性能。定性和定量分析结果表明,与其他已知方法相比,准确度提高了39.51%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Algorithm and software implementation of real-time collaborative editing of graphical schemes using Socket.IO library Integration of cloud, fog, and edge technologies for the optimization of high-load systems Development of an automated system for testing a cloud service for deploying virtual machines using modern monitoring tools Eye-tracking detection of the area of interest in data visualization Ambiguous Results when Using Parallel Class Methods within the .NET Framework
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1