Question

J'ai cherché sur Internet pour un certain temps maintenant et je n'ai pas été en mesure de trouver tout gratuit (ou pas cher) outils/utilitaires/modules qui peuvent analyser un ensemble de fichiers Perl (modules ou des scripts) et le drapeau de dupliquer ou de duplication ou de copier/coller le code.

Je suis mieux maintenant, mais j'ai utilisé pour copier et coller des sections de code dans tous les sens.J'aimerais le nettoyer et réparer mon vieux duplication de code, mais un peu de l'outil d'aide serait appréciée, donc je ne vais pas avoir à passer par tous mes vieux code avec un peigne fin.De Plus, le manuel de la reconnaissance de ce type d'infraction est sujette aux erreurs.

Était-ce utile?

La solution

question similaire a été affiché à il y a SO à quelques minutes .

Voici un lien avec certains outils peuvent vous être utiles.

Comparaison et code de détection plagiat

Autres conseils

Que voulez-vous dire par code en double? Tout caractère de correspondances exactes ou correspondances sémantiques.

Il existe plusieurs outils comme http://pmd.sourceforge.net/ qui peut détecter le code en double par les correspondances, cet outil est pour java, mais la correspondance source fonctionne sur le texte brut.

Si vous voulez matching sémantique, comme

sub A
{return 1;}

pour correspondre

sub B
{
    return 1;
}

Ensuite, vous aurez besoin de quelque chose d'autre: (

Je l'ai utilisé CCFinder dans le passé pour trouver des sections de code qui sont des doublons. Il fonctionne très bien, mais a une interface de .. intéressante. Il n'a pas un support natif pour perl, mais il a une option qui devrait fonctionner plaintext pour la détection de copier et coller au moins. Il existe une solution Windows et Ubuntu - Freeware, pas open source, malheureusement.

Semantic Designs fait un produit appelé Clone Dr. qui semble être en mesure d'analyser un grand nombre de types de langue pour les sections de code clonés. Mais il semble que leur version d'évaluation gratuite ne fonctionne que sur Java et Cobol.

Je viens Simian . Il dispose d'une période d'évaluation gratuite de 15 jours et coûte une centaine de dollars pour une licence utilisateur unique. Il ne supporte pas officiellement Perl, mais il ne les traite sous forme de texte et les analyses de toute façon. Ceci est un utilitaire super rapide! Et super facile à utiliser. Le rapport généré par cet outil est simple et facile à interpréter. J'approuve totalement de cet outil. Maintenant, je dois juste parler à mon patron et lui faire l'achat d'une licence.

Voici une autre page web listant certains clone outils de détection:

http://sel.ics.es.osaka-u.ac.jp/cdtools/index-e.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top