NO.156 Software Engineering for Machine Learning Systems (SEMLS)

Shonan Village Center

October 14 - 17, 2019 (Check-in: October 13, 2019 )


  • Foutse Khomh
    • Ecole Polytechnique de Montréal, Canada
  • Fuyuki Ishikawa
    • National Institute of Informatics, Japan
  • Hiroshi Maruyama
    • Preferred Networks, Japan


Description of the Meeting

This meeting aims to bring together leading software engineers, machine learning experts and practitioners to reflect on and discuss the challenges and implications of building software for complex Artificial Intelligence (AI) systems.

The core idea behind this meeting is a growing concern that we have as software engineers in a world where data science, deep learning, and AI are becoming increasingly pervasive. Although AI research has allowed the development of novel algorithms capable of learning new tasks, adapting to the environment, and evolving, their implementation in software systems remains challenging. From an engineering perspective, once an algorithm is implemented, it requires a solid architecture, model/data validation, proper monitoring for changes, dedicated release engineering strategies, judicious adoption of design patterns and security checks, and thorough user experience evaluation and adjustment. All these activities require a combined knowledge in software engineering, data science, and machine learning. A failure to properly address these challenges in such complex software systems can lead to catastrophic consequences. An example of such failure is the recent human toll incidence caused by the $47-million Michigan Integrated Data Automated System (MiDAS) (see, or the recent finding that simple tweaks can fool neural networks in identifying street signs (see

The source of emerging difficulties is the shift of the development paradigm. Classically, we have constructed software systems in a deductive way, or by writing down the rules that govern the system behaviors as program code. With machine learning techniques, we generate such rules in an inductive way from training data. This shift does not only simply require new tools that intensively deal with data but also introduces unique characteristics. The resulting system behaviors are uncertain: black-box and unexplainable. They are intrinsically imperfect and it is practically impossible to reason their correctness in a deductive way.

Given the critical and increasing role of AI-based systems in our society it is now imperative to engage software engineers and machine learning experts in in-depth conversations about the necessary perspectives, approaches and roadmaps to address these challenges and concerns.

The meeting will involve two kinds of sessions. One is presentations and targeted discussions, where each participant presents ideas and positions that then kicks off various directions of discussions. The organizers will ensure that these presentations are structured around specific topics. The other is sessions consisting of intensive follow-up discussions involving mixed groups of participants. The meeting will use a dedicated method for conducting the intensive discussion, the current plan is to use a variation of the world café method: The topics will be discovered at the meeting, though the organizers will prepare some beforehand, e.g., what are unique technical challenges for engineering of machine learning systems.