Mémoire de maîtrise (2023)
Accès restreint: Personnel autorisé jusqu'au 10 mai 2025 Conditions d'utilisation: Tous droits réservés |
Résumé
L’apprentissage machine (ML), y compris l’apprentissage profond, a récemment gagné en popularité dans un large éventail d’applications. Toutefois, comme les logiciels traditionnels, les applications d’apprentissage automatique ne sont pas à l’abri des bogues résultant d’erreurs de programmation. Les défaillances programmatiques se manifestent généralement par des exceptions au cours de l’exécution du programme. Comprendre les causes et les symptômes des exceptions de ML peut offrir aux développeurs des informations précieuses pour améliorer leurs pratiques de programmation et prévenir de telles exceptions. Cette thèse vise à ouvrir la voie à de futures recherches axées sur le développement de solutions pour aider les développeurs de ML à prévenir ou à réduire les exceptions. Malgré des études antérieures portant sur les exceptions dans les logiciels traditionnels, il n’y a pas d’exploration systématique des exceptions en ML dans la littérature existante. Par conséquent, cette thèse mène une étude empirique complète des questions de Stack Overflow (SO) liées aux exceptions de ML, cherchant à comprendre les causes et les symptômes associés à ces exceptions. La première partie de cette thèse explore les causes des exceptions de ML en analysant les traces de pile des applications de ML postées sur SO. Ces traces de pile décrivent la chaîne d’appels de fonction qui conduit à une situation anormale ou à une exception. En effet, ces exceptions peuvent traverser toute la pile logicielle (y compris les applications et les bibliothèques). Ainsi, l’étude des modèles liés au ML dans les traces de pile peut aider les praticiens et les chercheurs à comprendre les causes des exceptions dans les applications de ML et les défis auxquels sont confrontés les développeurs de ML. A cette fin, nous exploitons SO et étudions 11, 449 les traces de piles liées à la ML de sept bibliothèques ML Python populaires. Tout d’abord, nous observons que les questions de ML qui contiennent des traces de pile sont moins susceptibles d’obtenir des réponses acceptées que les questions qui n’en contiennent pas, même si elles reçoivent plus d’attention (c.-à-d. plus de vues et de commentaires).
Abstract
Machine learning (ML), including deep learning, has recently gained tremendous popularity in a wide range of applications. However, like traditional software, ML applications are not immune to the bugs that result from programming errors. Programmatic failures typically manifest as exceptions during program execution. Understanding the root causes and symptoms of ML exceptions can offer developers valuable insights to enhance their programming practices and prevent such exceptions. This thesis aims to pave the way for future investigations focused on developing solutions to aid ML developers in preventing or diminishing exceptions. Despite previous studies delving into exceptions in traditional software, there is a lack of systematic exploration of ML exceptions in the existing literature. Consequently, this thesis conducts a comprehensive empirical study of Stack Overflow (SO) questions related to ML exceptions, seeking to comprehend the causes and symptoms associated with these exceptions. The first part of this thesis explores the causes of ML exceptions by analyzing the stack traces of ML applications posted on SO. These stack traces describe the chain of function calls that lead to an anomalous situation or exception. Indeed, these exceptions may cross the entire software stack (including applications and libraries). Thus, studying the MLrelated patterns in stack traces can help practitioners and researchers understand the causes of exceptions in ML applications and the challenges faced by ML developers. To that end, we mine SO and study 11, 449 ML-related stack traces related to seven popular Python ML libraries. First, we observe that ML questions that contain stack traces are less likely to get accepted answers than questions that don’t, even though they gain more attention (i.e., more views and comments).
Département: | Département de génie informatique et génie logiciel |
---|---|
Programme: | Génie informatique |
Directeurs ou directrices: | Heng Li et Maxime Lamothe |
URL de PolyPublie: | https://publications.polymtl.ca/57116/ |
Université/École: | Polytechnique Montréal |
Date du dépôt: | 10 mai 2024 10:43 |
Dernière modification: | 02 oct. 2024 02:20 |
Citer en APA 7: | Ghadesi, A. (2023). An Empirical Study of the Causes and Symptoms of Machine Learning Exceptions [Mémoire de maîtrise, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/57116/ |
---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements