Software engineering of Deep Learning applications
The objective of this project is to empirically investigate the software engineering practices associated with the development of deep learning applications. This will be done in the following steps.
- Systematically identify major deep learning libraries, e.g. through keyword searching
- Obtain a list of deep learning projects by finding those that have the identified libraries as a dependency. This can be done by analyzing package management configuration files.
- Analyze the projects to answer the following research questions
- How are parts of the machine learning pipeline implemented?
- Which parts are engineered (e.g. under configuration management, continuous integration, build automation, testing) using SWEBOK best practices?
- What tools are used to aid software engineering practices?
- What tools are missing?
- Eugene Charniak. Introduction to Deep Learning. MIT Press, 2019.
Contacts about the project
- Diomidis Spinellis (TU Delft)