TY - JOUR
T1 - Run-Time Prevention of Software Integration Failures of Machine Learning APIs
AU - Wan, Chengcheng
AU - Liu, Yuhan
AU - Du, Kuntai
AU - Hoffmann, Henry
AU - Jiang, Junchen
AU - Maire, Michael
AU - Lu, Shan
N1 - Publisher Copyright:
© 2023 Owner/Author.
PY - 2023/10/16
Y1 - 2023/10/16
N2 - Due to the under-specified interfaces, developers face challenges in correctly integrating machine learning (ML) APIs in software. Even when the ML API and the software are well designed on their own, the resulting application misbehaves when the API output is incompatible with the software. It is desirable to have an adapter that converts ML API output at runtime to better fit the software need and prevent integration failures. In this paper, we conduct an empirical study to understand ML API integration problems in real-world applications. Guided by this study, we present SmartGear, a tool that automatically detects and converts mismatching or incorrect ML API output at run time, serving as a middle layer between ML API and software. Our evaluation on a variety of open-source applications shows that SmartGear detects 70% incompatible API outputs and prevents 67% potential integration failures, outperforming alternative solutions.
AB - Due to the under-specified interfaces, developers face challenges in correctly integrating machine learning (ML) APIs in software. Even when the ML API and the software are well designed on their own, the resulting application misbehaves when the API output is incompatible with the software. It is desirable to have an adapter that converts ML API output at runtime to better fit the software need and prevent integration failures. In this paper, we conduct an empirical study to understand ML API integration problems in real-world applications. Guided by this study, we present SmartGear, a tool that automatically detects and converts mismatching or incorrect ML API output at run time, serving as a middle layer between ML API and software. Our evaluation on a variety of open-source applications shows that SmartGear detects 70% incompatible API outputs and prevents 67% potential integration failures, outperforming alternative solutions.
KW - machine learning API
KW - run-time patching
KW - software integration failure
UR - https://www.scopus.com/pages/publications/85174944268
U2 - 10.1145/3622806
DO - 10.1145/3622806
M3 - 文章
AN - SCOPUS:85174944268
SN - 2475-1421
VL - 7
JO - Proceedings of the ACM on Programming Languages
JF - Proceedings of the ACM on Programming Languages
IS - OOPSLA2
M1 - 231
ER -