Viewing functions as token sequences to highlight similarities in source code

Abstract : The detection of similarities in source code has applications not only in software re-engineering (to eliminate redundancies) but also in software plagiarism detection. This latter can be a challenging problem since more or less extensive edits may have been performed on the original copy: insertion or removal of useless chunks of code, rewriting of expressions, transposition of code, inlining and outlining of functions, etc. In this paper, we propose a new similarity detection technique not only based on token sequence matching but also on the factorization of the function call graphs. The factorization process merges shared chunks (factors) of codes to cope, in particular, with inlining and outlining. The resulting call graph offers a view of the similarities with their nesting relations. It is useful to infer metrics quantifying similarity at a function level.
Liste complète des métadonnées

Littérature citée [29 références]  Voir  Masquer  Télécharger
Contributeur : Michel Chilowicz <>
Soumis le : mercredi 23 janvier 2013 - 16:31:10
Dernière modification le : mercredi 4 juillet 2018 - 16:37:54
Document(s) archivé(s) le : samedi 1 avril 2017 - 08:54:52


Fichiers produits par l'(les) auteur(s)



Michel Chilowicz, Étienne Duris, Gilles Roussel. Viewing functions as token sequences to highlight similarities in source code. Science of Computer Programming, Elsevier, 2013, 78 (10), pp.1871-1891. 〈10.1016/j.scico.2012.11.008〉. 〈hal-00780290〉



Consultations de la notice


Téléchargements de fichiers