Studying Software Engineering Patterns for Designing Machine Learning
  Systems
  Machine-learning (ML) techniques have become popular in the recent years. ML
techniques rely on mathematics and on software engineering. Researchers and
practitioners studying best practices for designing ML application systems and
software to address the software complexity and quality of ML techniques. Such
design practices are often formalized as architecture patterns and design
patterns by encapsulating reusable solutions to commonly occurring problems
within given contexts. However, to the best of our knowledge, there has been no
work collecting, classifying, and discussing these software-engineering (SE)
design patterns for ML techniques systematically. Thus, we set out to collect
good/bad SE design patterns for ML techniques to provide developers with a
comprehensive and ordered classification of such patterns. We report here
preliminary results of a systematic-literature review (SLR) of good/bad design
patterns for ML.
