Structures de données et système de requêtes optimisés pour l’analyse statique de code
L'analyse statique de code englobe diverses techniques pour améliorer la qualité et la sécurité des logiciels. Dans notre recherche, nous nous concentrons exclusivement sur un aspect important : la vérification des règles de codage. Nous avons identifié que les approches conventionnelles pour la vérification des règles de codage peinent à analyser efficacement des bases de code volumineuses et complexes. Nous explorons le potentiel des bases de données orientées graphe pour améliorer les performances de cette tâche spécifique d'analyse statique.Nous proposons une méthodologie basée sur les graphes pour représenter le code source sous forme de graphe de propriétés, permettant une modélisation intuitive de la syntaxe, de la sémantique et du comportement spécifiquement pour la vérification des règles de codage. Nous analysons la base de code et l'intégrons dans une base de données orientée graphe. Nous évaluons ensuite les règles de codage par des traversées de graphe exprimées en langage de requête Cypher, convertissant les vérifications traditionnelles en motifs de graphe optimisés.Nous avons implémenté cette approche par l'intermédiaire d'un prototype, appelé Cogralys, pour le langage Ada et l'avons évaluée sur des benchmarks du monde réel. Nos expériences démontrent des améliorations significatives en temps d'exécution pour la vérification des règles de codage : Cogralys effectue les analyses 6,3 fois plus rapidement qu'AdaControl et 17,6 fois plus rapidement que GNATcheck. Pour certaines catégories de règles, nous avons obtenu des améliorations encore plus importantes – jusqu'à 195 fois plus rapide pour les règles locales par rapport aux analyseurs traditionnels. Ces résultats confirment la capacité des bases de données graphe à accélérer la vérification des règles de codage grâce à des structures de données optimisées et à un traitement parallèle des requêtes.Cependant, nous reconnaissons que les surcharges introduites par la population de la base de données sont à prendre en compte. Nous avons constaté que la technique est mieux adaptée pour du code volumineux et fréquemment analysé. Bien que prometteuse pour la vérification des règles de codage, nous identifions que des recherches supplémentaires sont nécessaires pour traiter la prise en charge d'autres langages, l'intégration dans les flux de développement et les requêtes pour des règles plus complexes.Globalement, dans cette thèse nous proposons un cadre basé sur les graphes pour la vérification des règles de codage tout en présentant les avantages, les inconvénients et les opportunités futures de l'utilisation des technologies graphes pour une vérification efficace et évolutive des standards de codage.
Authors
- Quentin Dauprat
Publication Details
- Journal
- theses.fr (ABES)
- Published
- 2025-11-05
- Primary Topic
- Software Engineering Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00