Run-Time Prevention of Software Integration Failures of Machine Learning APIs

Chengcheng Wan, Yuhan Liu, Kuntai Du, Henry Hoffmann, Junchen Jiang, Michael Maire, Shan Lu

Research output: Contribution to journalArticlepeer-review

3 Scopus citations

Abstract

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.

Original languageEnglish
Article number231
JournalProceedings of the ACM on Programming Languages
Volume7
Issue numberOOPSLA2
DOIs
StatePublished - 16 Oct 2023

Keywords

  • machine learning API
  • run-time patching
  • software integration failure

Fingerprint

Dive into the research topics of 'Run-Time Prevention of Software Integration Failures of Machine Learning APIs'. Together they form a unique fingerprint.

Cite this