Análise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuição de Autoria de Código Fonte em...

Post on 18-Jan-2017

52 views 2 download

Transcript of Análise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuição de Autoria de Código Fonte em...

Analise dos ModelosSCAP, Vetorial e Okapi BM25 para

Atribuicao de Autoria de Codigo Fonteem Cursos de Programacao

Juliane dos Santos Silva1

Prof. Dr. Sergio Cleger Tamayo1

Prof. MSc. Marcio Palheta Piedade2

Engenharia de Computacao1Universidade do Estado do Amazonas (UEA)2Universidade Federal do Amazonas (UFAM)

16 de junho de 2016

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

1 IntroducaoQuestoes de pesquisaObjetivo geralObjetivos especıficos

2 Fundamentos

3 Experimentos

4 Resultados

5 Conclusao

6 Publicacao referente a este trabalho

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

Quem e o autor?

“Com grandes poderes vem grandes responsabilidades...”

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

Quem e o autor?

Atribuir autoria e dizer quem e o autor de uma obra,considerando uma base conhecida de obras e seus autores.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

Quem e o autor?

Atribuir autoria e dizer quem e o autor de uma obra,considerando uma base conhecida de obras e seus autores.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

Quem e o autor do codigo fonte?

Atribuir autoria prum codigo fonte e dizer quem e o autor deum codigo, considerando uma base de codigos e seus autores.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

Um detalhe: codigos fonte tem umas particularidades

Regras de sintaxe;

Reuso de trechos de codigos entre programas;

Funcoes de indentacao e autoformatacao.

Entao,

como dizer que um codigo foi feito por tal pessoa?

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

Um detalhe: codigos fonte tem umas particularidades

Regras de sintaxe;

Reuso de trechos de codigos entre programas;

Funcoes de indentacao e autoformatacao.

Entao,

como dizer que um codigo foi feito por tal pessoa?

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

Como dizer que um codigo foi feito por tal pessoa?

Por RI, redes neurais, aprendizagem de maquina,...

Uma das abordagens mais eficazes atualmente e a SourceCode Author Profile (SCAP), proposta por Frantzeskou;

Um modelo focado em ambientes academicos e proposto porPalheta.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

SCAP e uma solucao, so que...

A abordagem SCAP nao foi analisada para...

Pequenas colecoesde codigos

Mesmo grupo detarefas

Diferentes grausde maturidade

Caracterısticas recorrentes de bases academicas.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

SCAP e uma solucao, so que...

A abordagem SCAP nao foi analisada para...

Pequenas colecoesde codigos

Mesmo grupo detarefas

Diferentes grausde maturidade

Caracterısticas recorrentes de bases academicas.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

SCAP e uma solucao, so que...

A abordagem SCAP nao foi analisada para...

Pequenas colecoesde codigos

Mesmo grupo detarefas

Diferentes grausde maturidade

Caracterısticas recorrentes de bases academicas.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

Questoes de pesquisa

Qual o desempenho da abordagem SCAP quando aplicada abases academicas?

Qual o desempenho dos modelos classicos de RI (vetorial,Okapi BM25) nessa situacao?

Quando o cenario academico e considerado, o SCAPcontinua sendo o mais eficiente?

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

Objetivo geral

Analisar e comparar o desempenhodos modelos SCAP, vetorial e Okapi BM25

em relacao a atribuicao de autoria em bases academicas.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Questoes de pesquisaObjetivo geralObjetivos especıficos

Objetivos especıficos

Implementar tres maquinas de busca, utilizando os modelosSCAP, vetorial e Okapi BM25 em conjunto com a tecnicade n-gramas de caracteres consecutivos;

Variar os parametros dos modelos para identificar quandoeles melhor desempenham;

Analisar a acuracia dos modelos com bases academicas.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Analise dos ModelosSCAP, Vetorial e Okapi BM25 para

Atribuicao de Autoria de Codigo Fonteem Cursos de Programacao

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Um parenteses: n-gramas

Exemplo: a palavra VIDA2-gramas do exemplo (n = 2): VI, ID, DA.

N-grama e uma sequencia de n-caracteres consecutivos, quefazem parte de uma string maior.Onde n indica o tamanho da substring gerada.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Mas como atribuir autoria a um codigo fonte?

SCAP, vetorial e Okapi BM25 trabalham com Recuperacao deInformacao (RI).

RI lida com a representacao, a organizacao e o acesso a itens deinformacao.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Recuperacao de Informacao - Indexacao

RI lida com a representacao, a organizacao e o acesso a itens.

Atribuir autoria e dizer quem e o autor de uma obra,considerando uma base conhecida de obras.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Recuperacao de Informacao - Indexacao

RI lida com a representacao, a organizacao e o acesso a itens.

Atribuir autoria e dizer quem e o autor de uma obra,considerando uma base conhecida de obras.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Recuperacao de Informacao - Ranqueamento

RI lida com a representacao, a organizacao e o acesso a itens.Dada uma obra, atribuir autoria e dizer quem e o autor dessa obra.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Recuperacao de Informacao - Indexacao de codigo

RI lida com a representacao, a organizacao e o acesso a itens.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Recuperacao de Informacao - Ranqueamento de codigo

RI lida com a representacao, a organizacao e o acesso a itens.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Concatena os codigos por autor;

Exemplo de codigos da autora ”Juliane”...

Codigo 1: public void

Codigo 2: vo\nCodigos concatenados: public void vo\n

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Concatena os codigos por autor;

Exemplo de codigos da autora ”Juliane”...

Codigo 1: public void

Codigo 2: vo\nCodigos concatenados: public void vo\n

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Concatena os codigos por autor;

Exemplo de codigos da autora ”Juliane”...

Codigo 1: public void

Codigo 2: vo\n

Codigos concatenados: public void vo\n

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Concatena os codigos por autor;

Exemplo de codigos da autora ”Juliane”...

Codigo 1: public void

Codigo 2: vo\nCodigos concatenados: public void vo\n

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Extrai todos os n-gramas a nıvel de caracter, incluindoespaco, \t, \n;

Considerando n = 2...

Codigos concatenados: public void vo\n2-gramas do codigo: pu, ub, bl, li, ic, c , v, vo, oi, id, d , v, vo, o\n

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Extrai todos os n-gramas a nıvel de caracter, incluindoespaco, \t, \n;

Considerando n = 2...

Codigos concatenados: public void vo\n

2-gramas do codigo: pu, ub, bl, li, ic, c , v, vo, oi, id, d , v, vo, o\n

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Extrai todos os n-gramas a nıvel de caracter, incluindoespaco, \t, \n;

Considerando n = 2...

Codigos concatenados: public void vo\n2-gramas do codigo: pu, ub, bl, li, ic, c , v, vo, oi, id, d , v, vo, o\n

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Ordena decrescentemente os n-gramas por frequencia;

2-gramas do codigo: pu, ub, bl, li, ic, c , v, vo, oi, id, d , v, vo, o\n,Por frequencia: pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1, v: 2, vo: 2, oi: 1,

id: 1, d : 1, o\n: 1Decrescentemente: v: 2, vo: 2, pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1,

oi: 1, id: 1, d : 1, o\n: 1

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Ordena decrescentemente os n-gramas por frequencia;

2-gramas do codigo: pu, ub, bl, li, ic, c , v, vo, oi, id, d , v, vo, o\n,

Por frequencia: pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1, v: 2, vo: 2, oi: 1,

id: 1, d : 1, o\n: 1Decrescentemente: v: 2, vo: 2, pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1,

oi: 1, id: 1, d : 1, o\n: 1

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Ordena decrescentemente os n-gramas por frequencia;

2-gramas do codigo: pu, ub, bl, li, ic, c , v, vo, oi, id, d , v, vo, o\n,Por frequencia: pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1, v: 2, vo: 2, oi: 1,

id: 1, d : 1, o\n: 1

Decrescentemente: v: 2, vo: 2, pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1,

oi: 1, id: 1, d : 1, o\n: 1

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Ordena decrescentemente os n-gramas por frequencia;

2-gramas do codigo: pu, ub, bl, li, ic, c , v, vo, oi, id, d , v, vo, o\n,Por frequencia: pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1, v: 2, vo: 2, oi: 1,

id: 1, d : 1, o\n: 1Decrescentemente: v: 2, vo: 2, pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1,

oi: 1, id: 1, d : 1, o\n: 1

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Mantem os L n-gramas.

Considerando L = 3...

Decrescentemente: v: 2, vo: 2, pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1,

oi: 1, id: 1, d : 1, o\n: 13 2-gramas do codigo: v: 2, vo: 2, pu: 1

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Mantem os L n-gramas.

Considerando L = 3...

Decrescentemente: v: 2, vo: 2, pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1,

oi: 1, id: 1, d : 1, o\n: 1

3 2-gramas do codigo: v: 2, vo: 2, pu: 1

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Extracao de caracterısticas

Mantem os L n-gramas.

Considerando L = 3...

Decrescentemente: v: 2, vo: 2, pu: 1, ub: 1, bl: 1, li: 1, ic: 1, c : 1,

oi: 1, id: 1, d : 1, o\n: 13 2-gramas do codigo: v: 2, vo: 2, pu: 1

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Simplified Profile (SP)

3 2-gramas do codigo: v: 2, vo: 2, pu: 1

Esse L n-gramas e o Simplified Profile (SP) do autor.Usado no SCAP e nos demais modelos desta pesquisa.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Simplified Profile (SP)

3 2-gramas do codigo: v: 2, vo: 2, pu: 1

Esse L n-gramas e o Simplified Profile (SP) do autor.Usado no SCAP e nos demais modelos desta pesquisa.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Ranqueamento

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

SCAP - Ranqueamento

Simplified Profile Intersection (SPI)SPI = SPA ∩ SPP

SPA e o perfil de um autor;

SPP e o perfil de uma consulta.

O autor classificado e o que alcanca o maior numero deinterseccoes com a consulta.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Vetorial - Ranqueamento

Cada termo possui um peso em relacao a um documento;

Cada documento e representado como um vetor de termos;

Vetores num espaco vetorial n-dimensional.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Vetorial - Ranqueamento

A distancia vetorial e usada como medida de similaridade.O cosseno do angulo entre o vetor de um autor e o da consulta.

sim(dj , q) =~dj • ~q|~dj | × |~q|

(1)

O numerador representa o produto interno dos dois vetores;

O denominador representa o produto da norma dos doisvetores.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Okapi BM25 - Ranqueamento

sim(dj , q) =n∑

i=1

IDF (qi ) ·tf (qi , d) · (k1 + 1)

tf (qi , d) + k1 ·(

(1− b) + b · |d ||davg |

)(2)

IDF (qi ) representa a raridade do termo na colecao;

tf (qi , d) representa a importancia do termo no documento;

Fatores de suavizacao do tamanho do documento.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Colecoes de codigos testadas

INICIANTE 1 (944)Local/ED

Disciplina obrigatoria;

Alunos matriculados;

Certo grau de certezade autoria.

INICIANTE 2 (239)USP/ED

Idem INICIANTE 1;

.h passado pelo prof.;

Codigos muito bemcomentados.

AVANCADA (270)USP/Maratona

Treinamento;

Alunos voluntarios;

Alto grau de certezade autoria.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Metodo dos experimentos

1 Extraımos as caracterısticas, variando os valores de n e L;

n 6, 10, 14L infinito, omitindo n-gramas com frequencia = 1

2 Aplicacao do modelo da vez (SCAP, vetorial, BM25);

3 Cada documento da colecao foi usado como consulta;

4 Documento-consulta foi removido da colecao.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Avaliacao dos resultados

Dada uma consulta q, o autor do codigo no topo do ranque derespostas e o autor de q.

Acur acia = Numero de acertosNumero de consultas

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Resultados - INICIANTE 1

Os tres modelos acertaram metade dos autores da colecao e erraram a outra metade.O SCAP com n = 10 apresentou a melhor acuracia; e o BM25 com n = 14, a menor.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Resultados - INICIANTE 2

O SCAP apresentou os menores resultados dos experimentos.O vetorial com n = 10 apresentou o melhor resultado.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Resultados - AVANCADA

O SCAP apresentou resultados equivalentes aos alcancados nos experimentos deFrantzeskou et al.; maior com n = 10.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Comparacao entre os modelos propostos

E mais difıcil atribuir autoria para colecao INICIANTE.A colecao AVANCADA apresentou bons resultados quando aplicada aos tres metodos.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Comparacao entre os modelos propostos

O SCAP produziu os melhores resultados para a colecao INICIANTE 1 e AVANCADA.Os melhores resultados estavam associados a n = 10.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Conclusao

Qual o desempenho dos modelos SCAP, vetorial e OkapiBM25 quando aplicada a bases academicas?

As colecoes de programas de alunos iniciantes representamum problema mais difıcil de resolver.

A colecao de alunos avancados produziu bons resultadosquando aplicada aos tres metodos.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Conclusao

Quando o cenario academico e considerado, o SCAPcontinua sendo o mais eficiente?

O SCAP produziu o melhor resultado para as colecoesINICIANTE 1 e AVANCADA, 53,7% e 87,8% de acuracia,respectivamente.

Quanto ao tamanho n do n-gramas, os melhores resultadosestavam associados a n = 10.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

IntroducaoFundamentosExperimentos

ResultadosConclusao

Publicacao referente a este trabalho

Artigo

SANTOS SILVA, J.; CLEGER TAMAYO, S.; PALHETA, M.;Analise da Abordagem SCAP para Atribuicao de Autoria de CodigoFonte em Cursos de Programacao. Anais do Encontro Regionalde Computacao e Sistemas de Informacao - ENCOSIS 2016 -ISSN: 2238-5096, paginas 25-33.

Juliane Silva Analise dos Modelos SCAP, Vetorial e Okapi BM25 para Atribuicao de Autoria de Codigo Fonte em Cursos de Programacao

Analise dos ModelosSCAP, Vetorial e Okapi BM25 para

Atribuicao de Autoria de Codigo Fonteem Cursos de Programacao

Juliane dos Santos Silva1

Prof. Dr. Sergio Cleger Tamayo1

Prof. MSc. Marcio Palheta Piedade2

Engenharia de Computacao1Universidade do Estado do Amazonas (UEA)2Universidade Federal do Amazonas (UFAM)

16 de junho de 2016