arrow
Return

Demystifying API misuses in deep learning applications

delete2024-02-16
delete0
PRE
AI
D
Deheng Yang
刘逵 (Kui Liu)
雷晏 (Yan Lei) *
L
Li Li
H
Huan Xie
C
Chunyan Liu
王振宇 cover
王振宇 (Zhenyu Wang)
X
Xiaoguang Mao
T
Tegawendé F. Bissyandé
DOI:10.1007/s10664-023-10413-9delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Deep Learning (DL) is achieving staggering performance on an increasing number of applications in various areas. Meanwhile, its associated data-driven programming paradigm comes with a set of challenges for the software engineering community, including the debugging activities for DL applications. Recent empirical studies on bugs in DL applications have shown that the API (i.e., Application Program Interface) misuse has been flagged as an important category of DL programming bugs. By exploring this literature towards API misuse bugs in DL applications, we identified three barriers that are locking an entire research direction. However, three barriers are hindering progress in this research direction: misclassification of API misuse bugs, lack of relevant dataset, and limited depth of analysis. Our work unlocks these barriers by providing an in-depth analysis of a frequent bug type that appears as a mystery. Concretely, we first offer a new perspective to a significant misclassification issue in the literature that hinders understanding of API misuses in DL applications. Subsequently, we curate the first dataset MisuAPI of 143 API misuses sampled from real-world DL applications. Finally, we perform systematic analyses to dissect API misuses and enumerate the symptoms of API misuses in DL applications as well as investigate the possibility of detecting them with state-of-the-art static analyzers. Overall, the insights summarized in this work are important for the community: 1) 18-35% of real API misuses are mislabelled in existing DL bug studies; 2) the widely adopted API misuse taxonomy, namely MUC, does not cover the cases of 1 out of 3 encountered API misuses; 3) DL library API misuses show significant differences from the general third-party library API misuses in terms of the API-usage element issue and symptoms; 4) Most (92.3%) API misuses lead to program crashes; 5) 95.8% API misuses remain undetectable by state-of-the-art static analyzers.
Keywords:
API misuse
Deep learning application
Bug dataset
Empirical study

Journal

Empirical Software Engineering cover
Empirical Software Engineering
IF:
3.6
Papers:
1.9K
Citations:
5.3K

Organization

H
huawei technologies
Scholars:
3.3K
Papers: 2.9K
Citations: 1
C
Chongqing University
Scholars:
5.1W
Papers: 4.1W
Citations: 6.0W
N
national university of defense technology - china
Scholars:
1.8W
Papers: 1.4W
Citations: 9
U
university of luxembourg
Scholars:
5.2K
Papers: 4.7K
Citations: 4
researcher View more organizations