Recherche de similarité dans du code source

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 stat...

Full description

Bibliographic Details
Main Author: Chilowicz, Michel
Language:fra
Published: Université Paris-Est 2010
Subjects:
Online Access:http://tel.archives-ouvertes.fr/tel-00587628
http://tel.archives-ouvertes.fr/docs/00/58/76/28/PDF/TH2010PEST1012_complete.pdf
id ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-00587628
record_format oai_dc
spelling ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-005876282014-07-06T03:33:28Z http://tel.archives-ouvertes.fr/tel-00587628 2010PEST1012 http://tel.archives-ouvertes.fr/docs/00/58/76/28/PDF/TH2010PEST1012_complete.pdf Recherche de similarité dans du code source Chilowicz, Michel [INFO] Computer Science [INFO] Informatique Obfuscation Duplication Factorisation Séquence de lexèmes Arbre de syntaxe Plagiat 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 2010-11-25 fra PhD thesis Université Paris-Est
collection NDLTD
language fra
sources NDLTD
topic [INFO] Computer Science
[INFO] Informatique
Obfuscation
Duplication
Factorisation
Séquence de lexèmes
Arbre de syntaxe
Plagiat
spellingShingle [INFO] Computer Science
[INFO] Informatique
Obfuscation
Duplication
Factorisation
Séquence de lexèmes
Arbre de syntaxe
Plagiat
Chilowicz, Michel
Recherche de similarité dans du code source
description 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
author Chilowicz, Michel
author_facet Chilowicz, Michel
author_sort Chilowicz, Michel
title Recherche de similarité dans du code source
title_short Recherche de similarité dans du code source
title_full Recherche de similarité dans du code source
title_fullStr Recherche de similarité dans du code source
title_full_unstemmed Recherche de similarité dans du code source
title_sort recherche de similarité dans du code source
publisher Université Paris-Est
publishDate 2010
url http://tel.archives-ouvertes.fr/tel-00587628
http://tel.archives-ouvertes.fr/docs/00/58/76/28/PDF/TH2010PEST1012_complete.pdf
work_keys_str_mv AT chilowiczmichel recherchedesimilaritedansducodesource
_version_ 1716706596706320384