← Últimos artigos
💻 computer science

Can Code Evaluation Metrics Detect Code Plagiarism?

Este artigo demonstra empiricamente que as Métricas de Avaliação de Código, particularmente o CrystalBLEU, podem detectar efetivamente plágio de código-fonte em diversos níveis de modificação e frequentemente superam ou rivalizam com ferramentas dedicadas de detecção de plágio, como o Dolos e o JPlag, especialmente quando é aplicada uma pré-processamento.

Autores originais: Fahad Ebrahim (The University of Warwick), Mike Joy (The University of Warwick)

Publicado 2026-04-29
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Fahad Ebrahim (The University of Warwick), Mike Joy (The University of Warwick)

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você é um professor corrigindo centenas de trabalhos de programação. Você suspeita que alguns alunos copiaram o trabalho uns dos outros, mas tentaram escondê-lo alterando a fonte, renomeando variáveis ou reorganizando a ordem do código. Este é o problema do Plágio de Código-Fonte.

Há anos, os professores usam "ferramentas de detetive" especiais (como JPlag e Dolos) para pegar esses trapaceiros. Essas ferramentas são como scanners forenses especializados, projetados especificamente para encontrar código copiado.

Mas, recentemente, um novo tipo de ferramenta tornou-se popular no mundo da tecnologia: Métricas de Avaliação de Código (CEMs). Pense nelas como "verificadores de qualidade" originalmente construídos para uma função diferente: comparar o código gerado por um computador com um código de referência perfeito para ver o quão bem o computador fez sua lição de casa. Elas não foram construídas para pegar trapaceiros; foram construídas para avaliar IA.

Este artigo faz uma pergunta simples: Esses "verificadores de qualidade" (CEMs) também podem atuar como "detetives de plágio"?

Aqui está a história de como os autores testaram isso, usando analogias simples.

O Experimento: Os Níveis de "Copiar e Colar"

Os pesquisadores não olharam apenas para a cópia óbvia. Eles testaram as ferramentas contra seis níveis diferentes de "esconder" o roubo, variando de fácil a quase impossível:

  • Nível 1 (A Mudança Cosmética): Como mudar a cor da fonte ou adicionar espaços extras. (Fácil de identificar).
  • Nível 2-3 (O Jogo de Renomeação): Mudar "minhaVariável" para "x" ou trocar a ordem das sentenças. (Dificuldade média).
  • Nível 4-5 (A Reorganização Estrutural): Pegar um laço e transformá-lo em um tipo diferente de laço, ou dividir uma grande função em três pequenas. (Difícil).
  • Nível 6 (A Reescrita Lógica): Reescrever toda a lógica para que pareça completamente diferente, mas faça exatamente a mesma coisa. (Muito Difícil).

Eles testaram cinco "Verificadores de Qualidade" (CEMs) diferentes contra dois "Scanners Forenses" (JPlag e Dolos) usando dois grandes conjuntos de código real de alunos.

As Ferramentas: Como Elas "Pensam"

Para entender os resultados, ajuda saber como essas ferramentas "enxergam" o código:

  • As Ferramentas Léxicas (como CrystalBLEU): Elas olham para as palavras (tokens). Imagine ler um livro e contar quantas palavras coincidem. CrystalBLEU é inteligente; ignora frases comuns como "import java" ou "public class" (o "código boilerplate") para não ser enganado por todos usarem o mesmo modelo.
  • As Ferramentas Estruturais (como TSED): Elas olham para a forma do código, como comparar o esqueleto de dois edifícios.
  • As Ferramentas Semânticas (como CodeBERTScore): Elas tentam entender o significado do código, como um leitor humano.

As Descobertas: Quem Venceu a Corrida?

1. O Teste "Bruto" (Sem Trabalho de Preparação)
Quando as ferramentas olharam para o código exatamente como os alunos o enviaram (com comentários, espaços extras e modelos):

  • Dolos (o detetive dedicado) foi o vencedor geral. Foi o mais consistente em identificar trapaceiros.
  • No entanto, CrystalBLEU (o verificador de qualidade) ficou em um segundo lugar muito próximo, superando o detetive mais antigo, JPlag.
  • A Estratégia de "Trabalho em Equipe": Os autores tentaram combinar os três principais verificadores de qualidade em uma super-ferramenta chamada FusionTop3. Essa união funcionou quase tão bem quanto o melhor detetive, o Dolos.

2. O Teste "Pré-processado" (Limpar o Código Primeiro)
Antes de testar, os pesquisadores "limparam" o código: removeram comentários, espaços extras e linhas de modelo padrão. Isso é como limpar uma cena de crime de poeira antes de procurar por impressões digitais.

  • A Mudança: Após a limpeza, os verificadores de qualidade ficaram muito melhores. CrystalBLEU e a equipe FusionTop3 realmente superaram o Dolos nos rankings gerais.
  • Por quê? O processo de limpeza removeu o "ruído" que confundia os verificadores de qualidade, permitindo que eles se concentrassem na estrutura real do código.

3. A Curva de Dificuldade (O "Muro L4")
Esta foi a descoberta mais crítica.

  • Níveis 1, 2 e 3: Todas as ferramentas (tanto os detetives dedicados quanto os verificadores de qualidade) foram excelentes. Pegaram quase todos.
  • Nível 4 e além: O desempenho caiu drasticamente para todos.
  • A Analogia: Imagine um aluno que copia uma receita, mas muda os ingredientes, o método de cozimento e a ordem dos passos, e ainda assim o prato tem o mesmo sabor. Mesmo as melhores ferramentas lutaram para dizer: "Esta é a mesma receita!".
  • A Exceção: CrystalBLEU permaneceu surpreendentemente forte mesmo nos níveis mais difíceis (Nível 6), enquanto outros lutaram mais.

As Limitações: Onde Elas Falharam

  • CodeBERTScore (O Leitor de "Significado"): Esta ferramenta falhou miseravelmente. Deu altas pontuações de similaridade para tudo, até mesmo código que não foi copiado. Foi como um guarda de segurança que acha que todos no prédio são ladrões porque todos parecem humanos.
  • TSED (O Leitor de "Esqueleto"): Lutou quando os alunos mudaram a sintaxe (as palavras), mas mantiveram a lógica. Não conseguiu lidar com o "jogo de renomeação".
  • O "Muro L4": Nenhuma ferramenta, seja um detetive dedicado ou um verificador de qualidade, conseguiu detectar com confiança as formas mais complexas de plágio (Níveis 4, 5 e 6) sem uma alta taxa de falsos alarmes.

A Conclusão: O Que Isso Significa?

O artigo conclui que Métricas de Avaliação de Código podem, de fato, detectar plágio, e em alguns casos (especialmente após limpar o código), elas funcionam tão bem quanto, ou até melhor do que, as ferramentas especializadas construídas para o trabalho.

No entanto, elas não são uma bala de prata.

  • Melhor Uso: Elas são ótimas para triagem. Podem classificar rapidamente as submissões para mostrar a um professor: "Ei, olhe primeiro esses 10 pares; eles parecem suspeitos".
  • Não para Julgamento Final: Como elas lutam com mudanças complexas de lógica (Nível 4+), um professor humano deve sempre tomar a decisão final.

A Lição: Você não precisa descartar seus detectores de plágio especializados. Em vez disso, você pode usar esses novos "verificadores de qualidade" como uma ferramenta poderosa e complementar — especialmente se você limpar o código primeiro — para ajudar a pegar trapaceiros que tentam esconder seus rastros.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →