Pergunta

Eu procurei na Internet por um tempo agora e eu não tenho sido capaz de encontrar qualquer ferramentas / utilitários / módulos gratuitos (ou barato) que podem analisar um conjunto de arquivos Perl (módulos ou scripts) e duplicado bandeira ou clonado ou copiar / código colado.

Sou melhor agora, mas eu utilizado para copiar e colar seções de código em todo o lugar. Eu gostaria de limpá-lo e corrigir o meu duplicação de código antigo, mas um pouco de ajuda ferramenta seria apreciada por isso não vou ter que passar por todo o meu código antigo com um pente fino dente. Além disso, o reconhecimento manual deste tipo de delito é propenso a erros.

Foi útil?

Solução

Funny um semelhante pergunta foi enviada para SO apenas alguns minutos atrás .

Aqui está um link com algumas ferramentas que podem ser úteis.

Código Comparação e Detecção de plágio

Outras dicas

O que você quer dizer com código duplicado? caráter apenas correspondências exatas ou correspondências semânticas.

Existem várias ferramentas como http://pmd.sourceforge.net/ que podem detectar código duplicado por jogos de cordas, esta ferramenta é para java mas o correspondente fonte funciona em texto simples.

Se você quiser correspondência semântica, como

sub A
{return 1;}

para corresponder

sub B
{
    return 1;
}

Em seguida, você vai precisar de algo mais: (

Eu tenho usado CCFinder no passado para encontrar seções de código que são duplicatas. Ele funciona muito bem, mas tem uma interface .. interessante. Ele não tem suporte nativo para perl, mas ele tem uma opção de texto simples que deve funcionar para a detecção de copiar e colar, pelo menos. Há uma solução Windows e Ubuntu - Freeware, não open source infelizmente.

Semantic Designs torna um produto chamado Clone Dr. , que parece ser capaz de analisar um grande número de tipos de linguagem para seções clonados de código. Mas parece que a sua versão de avaliação gratuita só funciona em Java e Cobol.

Eu só avaliadas Simian . Tem um período de avaliação gratuita 15 dias e custa cem dólares para uma licença de usuário único. Ele não suporta oficialmente Perl, mas não tratá-los como texto simples e analisa-los de qualquer maneira. Este é um utilitário super rápido! E super fácil de usar. O relatório gerado a partir desta ferramenta foi simples e fácil de interpretar. I totalmente aprovar esta ferramenta. Agora eu só preciso falar com meu chefe e levá-lo a comprar uma licença.

Aqui está outra página da Web listando algumas ferramentas de detecção de clone: ??

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top