Passer à la navigation principale Passer à la recherche Passer au contenu principal

Amélioration des techniques de génération de traces d’exécution sur des applications Android pour la détection dynamique de défauts de code

  • Houcine Abdelkader Cherief

Thèses et mémoires: Mémoire de maîtriseMaîtrise en ingénierie: Génie

Résumé

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.
Date23 mars 2026
langue originaleFrançais
Établissement diplômant
  • École de technologie supérieure
SuperviseurNaouel Moha (Directeur(-trice)) & Florent Avellaneda (Codirecteur(-trice))

Mots-clés

  • analyse dynamique
  • défauts de code comportementaux
  • grands modèles de langage
  • génération de traces d’exécution

Citer cette ressource

'