• Nenhum resultado encontrado

Nestecapítulo,foramapresentadososprincipaisconceitosrelacionadosaestamonografia,como

a definição de Recomendação de Mudanças Conjuntas, as técnicas e formas de avaliação de

recomendaçãodemudançautilizadasnaliteraturaedefiniçãodeAG.

Apesardoesforçorealizadopelospesquisadores,existemaindaquestõesemabertoem

relaçãoaaspectospráticosdaaplicaçãodosacoplamentosdemudançaparaarecomendaçãode

mudançasconjuntas(OLIVA;GEROSA,2015).Emparticular,otamanhodohistóricodoprojeto,

assimcomoaescolhadoslimiaresparasuporteeconfiança,interferemnaqualidadedasregras

geradas(ZIMMERMANNetal.,2005;MOONENetal.,2016b). UmaabordagembaseadaemAG

podeserusadaparaautomatizaraobtençãodessesparâmetrosemconjuntocomaotimizaçãodas

3

Modelo

de

Recomendação

de

Mudança

Genético+Apriori

Neste capítulo, o modelo de recomendação de mudanças baseado emAG é apresentado. Tal

modelovisaautomatizarasrecomendaçõesdetamanhodohistóricodemudançaselimiaresde

suporteeconfiançaparaumprojetodesoftware.NaSeção3.1éapresentadaafunçãodeaptidão

responsávelporavaliaraspossíveissoluçõesdoproblema. AsconfiguraçõesdoAGestãodescritas

naSeção3.2.

Para construir omodelo proposto, um AGfoiutilizado paraexplorarefetivamente o

espaçodebuscadepossíveiscombinaçõesdetamanhodohistóricodemudanças,elimiaresde

suporteeconfiançaparaselecionarasrecomendaçõesdemudançascommaioracuráciaesperadas

paraumprojetodesoftware.

3.1.

Função

de

Aptidão

A função de aptidão para o AG, responsável por avaliar cada uma das potencias soluções

(indivíduos),foimodeladaconsiderandootamanhodoconjuntodetreinamento(empercentual)e

oslimiaresdesuporteeconfiançaparaotimizarasrecomendaçõesdemudançasconjuntasdeum

projetodesoftware.

Essafunçãodeaptidãoutilizaaporcentagemdoconjuntotreinamentoparaconstruiro

modelo,gerandoregrasdeassociação,eutilizatambémconsultasparagerarasregrasdeassociação

easavaliar,similarmenteàavaliaçãofeitaporoutrospesquisadoresnaáreaderecomendaçãode

mudanças(ZIMMERMANNetal.,2005;MOONENetal.,2016b,2016a).

AotimizaçãonasrecomendaçãodemudançarealizadapeloAGestábaseadanamétrica

MAP,dasconsultasfeitassobreregrasgeradas.Portanto,oMAPéamétricaescolhidaparaavaliar

odesempenhodasrecomendaçõesdemudançaconjunta.

Paraoproblemaemquestão,deveserencontradoumlimiardesuporteeconfiança,bem

como um tamanho de histórico de mudança que otimize as recomendações para um projeto

de software, as potenciais soluções serão representadas por uma porcentagem do conjunto

de treinamento,um limiarde suporteeum limiarde confiançachamados respectivamentede porcentaдem_treinamento,suporte econf ianca.

AlémdostrêsparâmetrosquerepresentamumapotencialsoluçãodoAG,umconjunto

de treinamento com transações do histórico de mudanças do projetoe um conjunto de teste

comconsultaseresultadosesperadossãopassadoscomoparâmetrosadicionaisparaafunçãode

aptidãoesãomantidosinalteradosdurantetodooprocessodeevolução.

Algoritmo1:FuncaoAptidao

Entrada:porcentagem_treinamento,suporte,confianca

Saída:OvalordeMAPcorrespondenteàaptidãodasrecomendaçõesgeradas 1 início

2 {Extraçãodotreinamento}

3 treinamento_n ←extrair_transacoes(Treinamento,porcentaдem_treinamento) 4 paracada f t ∈Teste faça

5 Q ← f t.consulta

6 E ← f t.resultado_esperado 7 {Geraçãodasregras}

8 R←apriori(treinamento_n, suporte, conf ianca, Q) 9 Rp ←ordena(R, 10){ordenaçãousandosuporteek=10} 10 F ←consequente(Rp) 11 {Avaliaçãodaconsulta} 12 ap ←calcula_ap(E, F) 13 fim 14 map ←media(ap) 15 fim 16 retornamap

ComopodeserobservadonoAlgoritmo1,afunçãodeaptidãoconsisteemtrêspassos

principais: extraçãodaporcentagemdetreinamento,geraçãodasregraseavaliaçãodasconsultas.

Cadaumdessespassossãodescritosaseguir.

Extraçãodotreinamento. Oprimeiropassodafunçãodeaptidãoconsisteemgerarumnovo conjuntodetreinamentocontendoapenasaporcentagemdetransaçõescorrespondenteaoindi-

víduoqueestásendoavaliado. Portanto,sãoextraídasdoconjuntoTreinamentoaporcentagem detransaçõesmaisrecentecorrespondenteàpotencialsoluçãoporcentaдem_treinamentodeter- minadapeloAGeinformadaporparâmetroparaafunção.Umnovoconjuntodetreinamento Treinamenton éformadocomastransaçõesextraídas.

Geraçãodasregras. Afunçãodeaptidãoverificaparacadaumadastransaçõesdoconjunto Teste seseusitenspodemserprevistosapartirdastransaçõesdoconjuntoTreinamenton. Para desempenharessatarefa,apartirdeTreinamenton regrasdeassociaçãosãogeradascombaseem umaconsultaQ enasmedidasdeinteressesuporte econf iana. Optou-seentãoporselecionar as mudanças conjuntas, que gerarãoas recomendaçõesde mudança, com o uso de regras de

associaçãoporquesãocomumenteutilizadasnaliteratura(ZIMMERMANNetal.,2005;CANFORA

etal.,2010;YINGetal.,2004;BALLetal.,1997).

OalgoritmoApriori(AGRAWALetal.,1993),descritoanteriormentenaSeção2.1.2,é

utilizadoparaminerarasregrasdeassociação.SeguindootrabalhodeZimmermannetal.(2005),

sãocomputadasapenasregrasdeassociaçãoR comumúnicoitememseuconsequenteX ⇒ {e}. Regras comum únicoconsequentesãosuficientesparao problemaemquestão, porquenesse

modeloéconsideradaumalistaderecomendaçõesformadapelauniãodosconsequentesdaregra X.Destaforma,oconjuntoderegrasRreferentesaQ éobtido,significandoqueR contémapenas regrasnasquaisaconsultaéoantecessor:Q ⇒ {e}.

AsregrasR,nocenárioprático,representamumalistadesugestãoqueodesenvolvedor recebeapósalterarosarquivosdaconsultaQ.Assumindoquelistasmuitograndesnãosãoviáveis nocenáriopráticoporapresentaremaodesenvolvedormuitassugestõeseoforçaremanavegar

pormuitosarquivos,nestetrabalhosãoconsideradasapenasas primeiras10regras. Para isso,

sãoselecionadasapartirdeRas10primeirasregras,ordenadasporvalordesuporteeconfiança. Apósessafiltragemporvalordesuporteeconfiança,umnovoconjuntoderegrasRp égerado, apresentandotamanhomenorouiguala10.

Avaliação das regras. A última etapa da função de aptidão consiste em devolver o valor de aptidão doindivíduo com basenaavaliação dasconsultasrealizadas. Trabalhos anteriores

(ZIMMERMANNetal.,2005;CANFORA etal., 2010)utilizaramPrecisao˜ eSensibilidade como métricasdedesempenho.Entretanto,aavaliaçãodaexecuçãodeumaconsultaérealizadaneste

trabalhopormeiodeAP.

Documentos relacionados