Software Engineering Practice in the Development of Deep Learning Applications
This work addresses gaps in software engineering practices for deep learning developers, providing insights for researchers and practitioners, though it is incremental as it builds on existing survey-based methods.
The authors surveyed 195 practitioners to identify challenges and lacks in software engineering practices for deep learning applications, resulting in 13 findings and 7 actionable recommendations.
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 findings into 7 actionable recommendations for software engineering researchers and practitioners to improve the development of DL applications.