Recherche de similarité dans du code source

Résumé : La duplication de code source a de nombreuses origines : copie et adaptation inter-projets ou clonage au sein d'un même projet. Rechercher des correspondances de code copié permet de le factoriser dans un projet ou de mettre en évidence des situations de plagiat. Nous étudions des méthodes statiques de recherche de similarité sur du code ayant potentiellement subi des opérations d'édition telle que l'insertion, la suppression, la transposition ainsi que la factorisation et le développement de fonctions. Des techniques d'identification de similarité génomique sont examinées et adaptées au contexte de la recherche de clones de code source sous forme lexemisée. Après une discussion sur des procédés d'alignement de lexèmes et de recherche par empreintes de n-grams, est présentée une méthode de factorisation fusionnant les graphes d'appels de fonctions de projets au sein d'un graphe unique avec introduction de fonctions synthétiques exprimant les correspondances imbriquées. Elle utilise des structures d'indexation de suffixes pour la détermination de facteurs répétés. Une autre voie d'exploration permettant de manipuler de grandes bases indexées de code par arbre de syntaxe est abordée avec la recherche de sous-arbres similaires par leur hachage et leur indexation selon des profils d'abstraction variables. Des clones exacts de sous-arbres de forte proximité dans leurs arbres d'extraction peuvent alors être consolidés afin d'obtenir des correspondances approchées et étendues. En amont et en aval de la recherche de correspondances, des métriques de similarité sont définies afin de préselectionner les zones d'examen, affiner la recherche ou mieux représenter les résultats
Type de document :
Thèse
Autre [cs.OH]. Université Paris-Est, 2010. Français. <NNT : 2010PEST1012>
Liste complète des métadonnées

https://pastel.archives-ouvertes.fr/tel-00587628
Contributeur : Abes Star <>
Soumis le : jeudi 21 avril 2011 - 08:49:07
Dernière modification le : samedi 16 janvier 2016 - 04:35:22
Document(s) archivé(s) le : jeudi 8 novembre 2012 - 17:00:54

Fichier

TH2010PEST1012_complete.pdf
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-00587628, version 1

Citation

Michel Chilowicz. Recherche de similarité dans du code source. Autre [cs.OH]. Université Paris-Est, 2010. Français. <NNT : 2010PEST1012>. <tel-00587628>

Partager

Métriques

Consultations de
la notice

448

Téléchargements du document

1935