Are Machine Learning Cloud APIs Used Correctly?

Are Machine Learning Cloud APIs Used Correctly?
复制标题

DOI:
10.1109/icse43902.2021.00024
复制
发表时间:
2021-05
期刊:
2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Chengcheng Wan;Shicheng Liu;H. Hoffmann;M. Maire;Shan Lu
Chengcheng Wan;Shicheng Liu;H. Hoffmann;M. Maire;Shan Lu
中科院分区:
其他
文献类型:
--
作者:
Chengcheng Wan;Shicheng Liu;H. Hoffmann;M. Maire;Shan Lu

文献摘要

相似文献

机器学习(ML)云应用程序编程接口(API)使开发人员能够轻松地将学习解决方案融入软件系统。不幸的是,鉴于其独特的语义、数据要求以及准确性与性能的权衡,正确且高效地使用ML API具有挑战性。许多先前的研究已经探讨了如何开发ML API或ML云服务,但没有研究开源应用程序如何使用ML API。在本文中,我们手动研究了360个使用谷歌或亚马逊网络服务(AWS)基于云的ML API的有代表性的开源应用程序,发现这些应用程序中有70%在其最新版本中存在API误用情况,这降低了软件的功能、性能或经济质量。我们根据手动研究总结出了8种反模式,并开发了自动检查工具,这些工具又识别出数百个存在ML API误用情况的应用程序。
Machine learning (ML) cloud APIs enable developers to easily incorporate learning solutions into software systems. Unfortunately, ML APIs are challenging to use correctly and efficiently, given their unique semantics, data requirements, and accuracy-performance tradeoffs. Much prior work has studied how to develop ML APIs or ML cloud services, but not how open-source applications are using ML APIs. In this paper, we manually studied 360 representative open-source applications that use Google or AWS cloud-based ML APIs, and found 70% of these applications contain API misuses in their latest versions that degrade functional, performance, or economical quality of the software. We have generalized 8 anti-patterns based on our manual study and developed automated checkers that identify hundreds of more applications that contain ML API misuses.