<  Back to the Polytechnique Montréal portal

Machine Learning Engineering: An Exploratory Study of Challenges and Practices

Alaleh Hamidi

Master's thesis (2021)

Open Access document in PolyPublie
[img]
Preview
Open Access to the full text of this document
Terms of Use: All rights reserved
Download (1MB)
Show abstract
Hide abstract

Abstract

As the demands for intelligent systems and services is growing fast, Machine Learning (ML) is increasingly becoming an indispensable element of current software systems. Artificial Intelligence (AI) and Machine Learning (ML) have grabbed researchers' attention because of their application for providing data-driven solutions to various real-world problems. Although ML proves some promising potentials for Software Engineering (SE), it still suffers from some challenges. Despite some recent research efforts, it is still unclear where SE researchers should focus to support ML developers more effectively. We conduct the first part of our study to know the ML practitioners' perceptions regarding what the researcher should focus on to innovate for supporting developers and assure ML applications' quality. In the first study, we conduct a survey on 80 ML practitioners (with diverse skills, experience, and application domains) to report the feedback as 17 findings outlining challenges and best practices of ML application development. This work summarizes practitioners' best practices in the development of ML-based software systems to improve the quality of their systems. Moreover, it reports ML challenges that the research community needs to investigate. The second part of this research has discussed the ML challenges more specifically to understand to what extent the ML challenges are related to the Programming Language (PL) used in ML application development. The second study analyzed Stack Overflow (SO) posts related to ML, to investigate how the questions about ML have been changed over time and across six different programming languages. We analyzed 43,950 SO posts from 2008 to 2020 to determine (i) how the number of ML-related posts changes over time for each programming language, (ii) how the posts are distributed across different phases of an ML pipeline, and (iii) whether posts belonging to different languages or phases are more or less challenging to address.

Résumé

Alors que la demande pour des systèmes et services intelligents augmentent rapidement, l'apprentissage automatique (ML) devient de plus en plus un élément indispensable des systèmes logiciels. L'intelligence artificielle (IA) et l'apprentissage automatique (ML) ont attiré l'attention des chercheurs en raison de leur application pour fournir des solutions basées sur les données à divers problèmes du monde réel. Bien que le ML prouve des potentiels prometteurs pour le génie logiciel (SE), il souffre encore de certains défis. Malgré certains efforts de recherche récents, des défis demeurent. Nous menons la première partie de notre étude pour connaître les perceptions des praticiens du ML concernant ce sur quoi le chercheur devrait se concentrer pour innover et soutenir les développeurs afin d'assurer la qualité des applications de ML. Dans la première étude, nous menons une enquête auprès de 80 praticiens du ML (avec des compétences, une expérience et des domaines d'application diversifiés) pour rapporter les commentaires sous forme de 17 résultats décrivant les défis et les meilleures pratiques du développement d'applications de ML. Ce travail résume les meilleures pratiques des praticiens dans le développement de systèmes logiciels basés sur le ML pour améliorer la qualité de leurs systèmes. De plus, il rapporte que le ML est un défi que la communauté de recherche doit étudier. La deuxième partie de cette recherche a abordé les défis ML plus spécifiquement pour comprendre dans quelle mesure les défis ML sont liés au langage de programmation (PL) utilisé dans le développement d'applications ML. La deuxième étude a analysé les publications de Stack Overflow (SO) liées au ML, afin d'étudier comment les questions sur le ML ont été modifiées au fil du temps et dans six langages de programmation différents. Nous avons analysé 43950 messages SO de 2008 à 2020 pour déterminer (i) comment le nombre de messages liés au ML évolue au fil du temps pour chaque langage de programmation, (ii) comment les messages sont répartis entre les différentes phases d'un pipeline ML, et (iii) si les messages appartenant à différentes langues ou phases sont plus ou moins difficiles à traiter.

Department: Department of Computer Engineering and Software Engineering
Program: Génie informatique
Academic/Research Directors: Foutse Khomh and Giuliano Antoniol
PolyPublie URL: https://publications.polymtl.ca/6569/
Institution: Polytechnique Montréal
Date Deposited: 14 Jul 2021 13:30
Last Modified: 25 Sep 2024 17:06
Cite in APA 7: Hamidi, A. (2021). Machine Learning Engineering: An Exploratory Study of Challenges and Practices [Master's thesis, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/6569/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only

View Item View Item