TY - GEN
T1 - An Empirical Study of Common Challenges in Developing Deep Learning Applications
AU - Zhang, Tianyi
AU - Gao, Cuiyun
AU - Ma, Lei
AU - Lyu, Michael
AU - Kim, Miryung
N1 - Funding Information:
Thanks to anonymous reviewers for their valuable feedback. This work is supported by NSF grants CCF-1764077, CCF-1527923, CCF-1460325, CCF-1723773, ONR grant N00014-18-1-2037, Intel CAPA grant, Hong Kong RGC GRF grant CUHK-14210717, JSPS KAKENHI Grant-19H04086, and Qdai-Jump Research Program NO.01277.
Publisher Copyright:
© 2019 IEEE.
PY - 2019/10
Y1 - 2019/10
N2 - Recent advances in deep learning promote the innovation of many intelligent systems and applications such as autonomous driving and image recognition. Despite enormous efforts and investments in this field, a fundamental question remains under-investigated - what challenges do developers commonly face when building deep learning applications? To seek an answer, this paper presents a large-scale empirical study of deep learning questions in a popular Q&A website, Stack Overflow. We manually inspect a sample of 715 questions and identify seven kinds of frequently asked questions. We further build a classification model to quantify the distribution of different kinds of deep learning questions in the entire set of 39,628 deep learning questions. We find that program crashes, model migration, and implementation questions are the top three most frequently asked questions. After carefully examining accepted answers of these questions, we summarize five main root causes that may deserve attention from the research community, including API misuse, incorrect hyperparameter selection, GPU computation, static graph computation, and limited debugging and profiling support. Our results highlight the need for new techniques such as cross-framework differential testing to improve software development productivity and software reliability in deep learning.
AB - Recent advances in deep learning promote the innovation of many intelligent systems and applications such as autonomous driving and image recognition. Despite enormous efforts and investments in this field, a fundamental question remains under-investigated - what challenges do developers commonly face when building deep learning applications? To seek an answer, this paper presents a large-scale empirical study of deep learning questions in a popular Q&A website, Stack Overflow. We manually inspect a sample of 715 questions and identify seven kinds of frequently asked questions. We further build a classification model to quantify the distribution of different kinds of deep learning questions in the entire set of 39,628 deep learning questions. We find that program crashes, model migration, and implementation questions are the top three most frequently asked questions. After carefully examining accepted answers of these questions, we summarize five main root causes that may deserve attention from the research community, including API misuse, incorrect hyperparameter selection, GPU computation, static graph computation, and limited debugging and profiling support. Our results highlight the need for new techniques such as cross-framework differential testing to improve software development productivity and software reliability in deep learning.
UR - http://www.scopus.com/inward/record.url?scp=85076146596&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85076146596&partnerID=8YFLogxK
U2 - 10.1109/ISSRE.2019.00020
DO - 10.1109/ISSRE.2019.00020
M3 - Conference contribution
AN - SCOPUS:85076146596
T3 - Proceedings - International Symposium on Software Reliability Engineering, ISSRE
SP - 104
EP - 115
BT - Proceedings - 2019 IEEE 30th International Symposium on Software Reliability Engineering, ISSRE 2019
A2 - Wolter, Katinka
A2 - Schieferdecker, Ina
A2 - Gallina, Barbara
A2 - Cukier, Michel
A2 - Natella, Roberto
A2 - Ivaki, Naghmeh
A2 - Laranjeiro, Nuno
PB - IEEE Computer Society
T2 - 30th IEEE International Symposium on Software Reliability Engineering, ISSRE 2019
Y2 - 28 October 2019 through 31 October 2019
ER -