Les applications mobiles sont devenues essentielles dans notre vie quotidienne, ce qui fait de la qualité du code une préoccupation critique pour les développeurs. Les défauts de code comportementaux sont des caractéristiques présentes dans le code source qui induisent un comportement inapproprié lors de l’exécution, affectant négativement la qualité logicielle en termes de performance, de consommation d’énergie et d’utilisation de la mémoire.
L’analyse dynamique s’est révélée efficace pour la détection des défauts de code comportementaux dans les applications Android. Bien qu’elle surpasse les outils d’analyse statique, elle nécessite une couverture élevée des événements liés à ces défauts, définis comme des instructions ou des appels de méthodes spécifiques associés à des comportements inappropriés du code. En pratique, cette limitation se traduit par un taux élevé de faux négatifs, laissant de nombreuses instances de défauts de code non détectées.
Les grands modèles de langage (LLM) ont récemment démontré des avancées significatives dans divers domaines de recherche et offrent un potentiel prometteur pour la génération de traces d’exécution intelligentes, en particulier pour la détection des défauts de code comportementaux dans les applications Android. La trace d’exécution intelligente désigne une séquence d’événements générée par des actions ciblées visant à déclencher et observer des comportements spécifiques de l’application.
Ce mémoire propose les principales contributions suivantes : (1) DynamicsLLM, un outil de l’analyse dynamique, qui exploite les LLM afin de générer intelligemment des traces d’exécution. (2) Une approche hybride conçue pour améliorer la couverture des événements liés aux défauts de code, en particulier pour les applications comportant un nombre limité d’activités Android. (3) Une validation de DynamicsLLM sur 307 applications mobiles libres accès provenant de F-DROID, incluant une comparaison avec le dernier outil de l’état de l’art Dynamics. Les résultats montrent que, sous un nombre limité d’actions sur l’interface, DynamicsLLM utilisant uniquement les LLM couvre jusqu’à trois fois plus d’événements liés aux défauts de code que Dynamics. L’approche hybride améliore la couverture des LLM de 22.6% pour les applications contenant peu d’activités. De plus, 14% des événements liés aux défauts de code qui ne peuvent pas être déclenchés par Dynamics sont effectivement déclenchés par DynamicsLLM. (4) Enfin, une stratégie d’exploration fondée sur l’UCB (Upper Confidence Bound) est introduite, qui obtient 12,9% de couverture supplémentaire par rapport à l’hybride sur les applications de taille moyenne, tout en offrant des performances compétitives pour les autres catégories.
| Date | 23 mars 2026 |
|---|
| langue originale | Français |
|---|
| Établissement diplômant | - École de technologie supérieure
|
|---|
| Superviseur | Naouel Moha (Directeur(-trice)) & Florent Avellaneda (Codirecteur(-trice)) |
|---|
- analyse dynamique
- défauts de code comportementaux
- grands modèles de langage
- génération de traces d’exécution
Cherief, H. A. (Auteur(e)),
Moha (Directeur(-trice)) & Avellaneda (Codirecteur(-trice)),
23 mars 2026Thèses et mémoires: Mémoire de maîtrise › Maîtrise en ingénierie: Génie