Achieving Guidance in Applied Machine Learning through Software Engineering Techniques

Development of machine learning (ML) applications is hard. Producing successful applications requires, among others, being deeply familiar with a variety of complex and quickly evolving application programming interfaces (APIs). It is therefore critical to understand what prevents developers from learning these APIs, using them properly at development time, and understanding what went wrong when it comes to debugging. We look at the (lack of) guidance that currently used development environments and ML APIs provide to developers of ML applications, contrast these with software engineering best practices, and identify gaps in the current state of the art. We show that current ML tools fall short of fulfilling some basic software engineering gold standards and point out ways in which software engineering concepts, tools and techniques need to be extended and adapted to match the special needs of ML application development. Our findings point out ample opportunities for research on ML-specific software engineering.

  • Published in:
    '20: Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming International Conference on Art, Science, and Engineering of Programming (Programming)
  • Type:
    Inproceedings
  • Authors:
    L. Reimann, G. Kniesel-Wünsche
  • Year:
    2020

Citation information

L. Reimann, G. Kniesel-Wünsche: Achieving Guidance in Applied Machine Learning through Software Engineering Techniques, International Conference on Art, Science, and Engineering of Programming (Programming), '20: Conference Companion of the 4th International Conference on Art, Science, and Engineering of Programming, 2020, https://dl.acm.org/doi/10.1145/3397537.3397552, Reimann.KnieselWuensche.2020,