Software Engineering Practice in the Development of Deep Learning Applications
Xufan Zhang, Yilin Yang, Yang Feng, Zhenyu Chen

TL;DR
This paper surveys 195 practitioners to identify challenges and lacks in the software engineering practices of deep learning applications, providing insights and actionable recommendations to improve their development process.
Contribution
It offers the first comprehensive survey of software engineering practices for deep learning applications, highlighting key challenges and proposing practical improvements.
Findings
Identified 13 key challenges in DL application development.
Provided 7 actionable recommendations for practitioners and researchers.
Enhanced understanding of the unique software engineering needs of DL applications.
Abstract
Deep-Learning(DL) applications have been widely employed to assist in various tasks. They are constructed based on a data-driven programming paradigm that is different from conventional software applications. Given the increasing popularity and importance of DL applications, software engineering practitioners have some techniques specifically for them. However, little research is conducted to identify the challenges and lacks in practice. To fill this gap, in this paper, we surveyed 195 practitioners to understand their insight and experience in the software engineering practice of DL applications. Specifically, we asked the respondents to identify lacks and challenges in the practice of the development life cycle of DL applications. The results present 13 findings that provide us with a better understanding of software engineering practice of DL applications. Further, we distil these…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Adversarial Robustness in Machine Learning
