arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2201.07201cs.SEcs.LG
收藏

弥合语言鸿沟:跨软件包生态系统的开源机器学习库绑定实证研究

Bridging the Language Gap: An Empirical Study of Bindings for Open Source Machine Learning Libraries Across Software Package Ecosystems

University of Alberta(阿尔伯塔大学)

Hao Li, Cor-Paul Bezemer

AI总结:

本文通过BindFind方法收集并实证研究跨13个软件包生态系统的2,436个ML库绑定,揭示其多由社区维护、版本覆盖有限且技术滞后严重,为开发者集成与后续研究提供依据。

摘要:

开源机器学习(ML)库使开发者能够将先进的ML功能集成到自己的应用程序中。然而,像TensorFlow这样的流行ML库并非在所有编程语言和软件包生态系统中都原生可用。因此,希望使用在其所选编程语言或生态系统中不可用的ML库的开发者,可能需要借助所谓的绑定库(binding)。绑定为跨编程语言和包生态系统重用宿主库提供了支持。例如,Keras .NET绑定在NuGet(.NET)生态系统中为Keras库提供支持,尽管Keras库是用Python编写的。在本文中,我们通过使用一种名为BindFind的方法,收集了跨13个软件包生态系统的546个ML库的2,436个跨生态系统绑定,该方法能够自动识别绑定并将其链接到宿主库。此外,我们对40个流行开源ML库的133个跨生态系统绑定及其开发进行了深入研究。我们的发现表明,大多数ML库绑定由社区维护,其中npm是这些绑定最流行的生态系统。我们的研究还表明,大多数绑定仅覆盖宿主库版本发布范围的有限部分,在支持新版本方面经常经历相当大的延迟,并且存在普遍的技术滞后。我们的发现强调了开发者在集成ML库绑定时需要考虑的关键因素,并为研究人员进一步研究软件包生态系统中的绑定开辟了途径。

英文摘要:

Open source machine learning (ML) libraries enable developers to integrate advanced ML functionality into their own applications. However, popular ML libraries, such as TensorFlow, are not available natively in all programming languages and software package ecosystems. Hence, developers who wish to use an ML library which is not available in their programming language or ecosystem of choice, may need to resort to using a so-called binding library (or binding). Bindings provide support across programming languages and package ecosystems for reusing a host library. For example, the Keras .NET binding provides support for the Keras library in the NuGet (.NET) ecosystem even though the Keras library was written in Python. In this paper, we collect 2,436 cross-ecosystem bindings for 546 ML libraries across 13 software package ecosystems by using an approach called BindFind, which can automatically identify bindings and link them to their host libraries. Furthermore, we conduct an in-depth study of 133 cross-ecosystem bindings and their development for 40 popular open source ML libraries. Our findings reveal that the majority of ML library bindings are maintained by the community, with npm being the most popular ecosystem for these bindings. Our study also indicates that most bindings cover only a limited range of the host library's releases, often experience considerable delays in supporting new releases, and have widespread technical lag. Our findings highlight key factors to consider for developers integrating bindings for ML libraries and open avenues for researchers to further investigate bindings in software package ecosystems.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑