wesb-final

55 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
55
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

wesb-final

  1. 1. Uma Avaliac¸˜ao do Uso de Diferentes Algoritmos de Agrupamento e Medidas de Distˆancia para Minerac¸˜ao de Aspectos Edison Klafke Fillus1 , Silvia Regina Vergilio 1 1 Departamento de Inform´atica (DInf - UFPR)– Curitiba, PR – Brasil {edisonk, silvia}@inf.ufpr.br Resumo. A t´ecnica de minerac¸˜ao de aspectos baseada em agrupamento per- mite agrupar m´etodos associados ao mesmo interesse transversal guiado por uma medida de distˆancia, sem a necessidade de conhecimento pr´evio das ca- racter´ısticas do sistema. Por´em, uma limitac¸˜ao da maioria das abordagens existentes ´e que as medidas utilizadas s˜ao geralmente baseadas em um ´unico tipo de sintoma de interesse transversal. De forma a superar esta limitac¸˜ao, este trabalho prop˜oe uma nova medida de distˆancia que combina simultanea- mente os sintomas de espalhamento, c´odigo duplicado e convenc¸˜ao de nomes. Os resultados mostram que a medida introduzida obt´em melhores resultados do que aquelas utilizadas pelas t´ecnicas existentes. Abstract. Clustering based aspect mining techniques group methods that are associated to the same crosscutting concerns guided by a distance measure, without requiring any prior knowledge about the system. However, a limitation of most clustering approaches is that the measure used is generally based on a single kind of crosscutting symptom. To overcome this limitation, this work proposes the use of an aggregated distance measure that considers the scatte- ring, code cloning and name convention crosscutting symptoms. Experimental results show that the introduced measure produces better results than that ones generally used by existing approaches. 1. Introduc¸˜ao A Orientac¸˜ao a Objetos (OO) representa os requisitos funcionais de maneira eficaz, por´em, esta n˜ao prevˆe a representac¸˜ao dos requisitos n˜ao funcionais, que devido a sua natureza, est˜ao presentes em v´arias camadas do sistema, gerando os chamados interesses transversais. Exemplos de interesses transversais incluem: controle de acesso, controle de transac¸˜oes, tratamento de excec¸˜oes, monitorac¸˜ao de desempenho, persistˆencia, log, cache, entre outros. A existˆencia de interesses transversais acarreta em problemas de mo- delagem como funcionalidades duplicadas, espalhadas e entrelac¸adas, o que dificulta o entendimento do sistema e sua manutenc¸˜ao e evoluc¸˜ao. Para solucionar este problema, foi criada a Orientac¸˜ao a Aspectos (OA) [Kiczales et al. 1997], que tem por premissa modularizar os interesses transversais em componentes chamados aspectos. Os aspectos encapsulam os dados e o comportamento esperado do interesse transversal e podem ser encaixados conforme a necessidade aos objetos a serem afetados por este interesse. Para que um software possa usufruir dos benef´ıcios da OA, ´e necess´ario um pro- cesso de decomposic¸˜ao de funcionalidades de forma que os seus interesses transversais
  2. 2. sejam separados de seus interesses base [Laddad 2003]. Este processo pode ser traba- lhoso, se executado de forma manual. A minerac¸˜ao de aspectos auxilia a reduzir este esforc¸o permitindo identificar automaticamente os potenciais interesses transversais nos sistemas legados OO. Ela tem como entrada o c´odigo fonte do sistema legado e como sa´ıda os candidatos a aspectos identificados [Kellens et al. 2007]. Dentre as v´arias t´ecnicas de minerac¸˜ao de aspectos existentes destaca-se a an´alise de agrupamento (clustering), capaz de descobrir os m´etodos candidatos a aspectos que re- fletem os interesses transversais existentes sem que seja necess´ario o conhecimento pr´evio das particularidades do sistema. Os trabalhos desta t´ecnica aplicam diferentes algoritmos de agrupamento e medidas de distˆancia que geralmente medem a proximidade entre os m´etodos pela similaridade dos nomes ou pela identificac¸˜ao do sintoma de espalhamento, relacionando os m´etodos que s˜ao chamados frequentemente de diferentes m´odulos. En- tretanto, a maioria deles n˜ao faz uso da combinac¸˜ao de diversas caracter´ısticas de sinto- mas de interesses transversais, por exemplo, eles n˜ao exploram sintomas como c´odigo duplicado e convenc¸˜ao de nomes de classes, padr˜oes de retorno e conjunto de parˆametros. Al´em disso, n˜ao s˜ao encontrados na literatura trabalhos que avaliem o desempenho dos algoritmos de agrupamento com diferentes medidas, utilizando uma medida de avaliac¸˜ao da qualidade dos agrupamentos de forma padronizada. Considerando o exposto acima, este trabalho tem como objetivo introduzir uma nova medida de distˆancia que combina sintomas de espalhamento, c´odigo duplicado e convenc¸˜ao de nomes. A medida proposta ´e avaliada com outras 18 combinac¸˜oes de me- didas de distˆancia e trˆes algoritmos de agrupamento em trˆes sistemas. Os resultados mos- tram um melhor desempenho da medida proposta e permitem considerar quais medidas s˜ao mais adequadas com cada algoritmo. Este artigo est´a organizado como segue. Na Sec¸˜ao 2 s˜ao apresentados os prin- cipais trabalhos sobre minerac¸˜ao de aspectos baseada em t´ecnicas de agrupamento: as medidas de distˆancias e algoritmos utilizados, e medidas de avaliac¸˜ao empregadas em ex- perimentos reportados na literatura. Na Sec¸˜ao 3 ´e introduzida a nova medida de distˆancia proposta. Na Sec¸˜ao 4 descreve-se o experimento conduzido cujos resultados s˜ao apresen- tados e analisados na Sec¸˜ao 5. Finalmente, na Sec¸˜ao 6 s˜ao apresentadas as conclus˜oes do trabalho. 2. Trabalhos relacionados Os principais trabalhos encontrados na literatura de minerac¸˜ao de aspectos baseada em agrupamento est˜ao na Tabela 1. As medidas utilizadas visam a capturar sintomas de espalhamento e entrelac¸amento de interesses transversais baseadas em similaridade de invocac¸˜ao de m´etodos (DHBZH ), classes (DSM E ), classes e m´etodos (DCCC S ) e contexto de invocac¸˜ao (DCCC T ), que pode ser dado pelo acesso a vari´aveis, atributos, classes referen- ciadas e tipos de parˆametros utilizados. Trabalhos que visam a avaliar os diferentes algoritmos de agrupamento e medidas de distˆancia geralmente utilizam as seguintes medidas de avaliac¸˜ao: a) DISP [Grigoreta et al. 2009], que calcula a m´edia da dispers˜ao dos interesses trans- versais em mais de um grupo; b) DIV [Grigoreta et al. 2009], que calcula a m´edia da diversidade de interesses transversais distintos existentes no mesmo grupo; c) ACC [Serban and Moldovan 2006a], que calcula a proporc¸˜ao de m´etodos de interesses
  3. 3. Tabela 1. Principais trabalhos existentes na literatura Trabalho Agrupamento Medida de Distˆancia KAM [Serban and Moldovan 2006b] k-means DSM E : Similaridade do conjunto de classes que invocam mi e mj. GAM [Serban and Moldovan 2006a] AG DSM E : Similaridade do conjunto de classes que invocam mi e mj. PACO [Czibula et al. 2009a] k-medoids DCCC S :Similaridade conjunto m´etodos e classes invocam mi e mj. DCCC T : Similaridade do contexto dos m´etodos mi e mj. DCCC ST = min(DCCC S , DCCC T ) HACO [Czibula et al. 2009b] Hier´arquico DCCC S : Similaridade conjunto m´etodos e classes invocam mi e mj. AMUCA [He et al. 2005] CHAMELEON DHBZH : Similaridade conjunto de m´etodos que invocam mi e mj. transversais que surgem no primeiro grupo onde o interesse transversal foi descoberto; e d) PAME [Serban and Moldovan 2006a], que calcula a porcentagem do n´umero de m´etodos que precisam ser analisados de maneira a identificar todos os interesses trans- versais. Os valores de cada medida publicados em trabalhos da literatura, quando exis- tentes, s˜ao apresentados na Tabela 2. Observa-se que as avaliac¸˜oes n˜ao foram realizadas de uma forma padr˜ao e nem todos os algoritmos foram avaliados. Al´em disso, as medidas de distˆancia avaliadas n˜ao consideram outras caracter´ısticas para identificar os interesses transversais, tais como detecc¸˜ao de c´odigo duplicado ou convenc¸˜ao de nomes (identifica- dores). Considerando estas limitac¸˜oes na pr´oxima sec¸˜ao ´e introduzida uma nova medida de distˆancia que considera estas caracter´ısticas, avaliada em diferentes combinac¸˜oes de algoritmos e medidas no experimento descrito na Sec¸˜ao 4. Tabela 2. Resultados publicados na literatura Algoritmo Sistema Medida DISP DIV ACC PAME Referˆencia kAM JHotDraw DSM E 0.4005 0.9972 — — [Grigoreta et al. 2009] Laffra DSM E — — 0.667 0.200 [Serban and Moldovan 2006a] PACO JHotDraw DCCC S 0.4444 0.9753 — — [Grigoreta et al. 2009] JHotDraw DCCC T 0.4433 0.8732 — — [Grigoreta et al. 2009] JHotDraw DCCC ST 0.4207 0.8798 — — [Grigoreta et al. 2009] HACO JHotDraw DCCC S 0.4570 1.0000 — — [Grigoreta et al. 2009] GAM Laffra DSM E — — 0.667 0.220 [Serban and Moldovan 2006a] AMUCA — DHBHZ N˜ao h´a avaliac¸˜ao publicada 3. Medida de Distˆancia Proposta Nesta sec¸˜ao ´e introduzida uma medida de distˆancia a DF SOND que combina as carac- ter´ısticas de identificac¸˜ao dos sintomas de espalhamento, c´odigo duplicado e convenc¸˜ao de nomes. A medida de distˆancia DF SOND ´e definida na Equac¸˜ao 1: DF SOND(mi, mj) = (DF S ∗ FE) + (DF O ∗ FO) + (DF N ∗ FN ) (1) DF SOND ´e uma agregac¸˜ao de trˆes medidas descritas abaixo: distˆancia de espalha- mento DF S , distˆancia de operac¸˜oes DF O e distˆancia de nomes DF N . FS, FO e FN s˜ao os pesos tal que FS + FO + FN = 1. A sa´ıda da medida DF SOND ´e compreendida no inter- valo entre 0 e 1, onde 0 indica m´etodos que apresentam os trˆes sintomas em comum e 1 m´etodos que n˜ao possuem os sintomas em comum. Medida de Distˆancia de Espalhamento DF S : esta medida ´e um aperfeic¸oamento da me- dida DCCC S para permitir o tratamento de polimorfismo e ´e definida na Equac¸˜ao 2: DF S (mi, mj) = 1 − |cje(mi)∩cje(mj)| |cje(mi)∪cje(mj)| se cje(mi) ∩ cje(mj) = ∅ 1 caso contr´ario (2)
  4. 4. Onde cje(m) ´e um conjunto que consiste de: o m´etodo m, a classe na qual o m´etodo m ´e definido e as classes e m´etodos que invocam m. Caso m possua poli- morfismo, ser´a contabilizado tamb´em o conjunto de classes e m´etodos que invocam os m´etodos que m sobrescreveu e os m´etodos que refinaram m. Caso existam classes ani- nhadas, em todos os casos ser´a contabilizada tamb´em a classe principal que cont´em a classe aninhada. A sa´ıda da medida DF S ´e compreendida no intervalo entre 0 e 1, onde 0 indica espalhamento idˆentico e 1 espalhamento totalmente dissimilar. Medida de Distˆancia de Clonagem de Operac¸˜oes DF O: identifica m´etodos com l´ogica de operac¸˜oes semelhante ou clonada e ´e definida na Equac¸˜ao 3: DF O(mi, mj) = 1 − |cjo(mi)∩cjo(mj)| |cjo(mi)∪cjo(mj)| se cjo(mi) ∩ cjo(mj) = ∅ 1 caso contr´ario (3) Onde cjo(m) ´e um conjunto que consiste das classes e m´etodos que m invocou e, no caso de classes aninhadas, tamb´em ser´a contabilizada a classe principal que cont´em a classe aninhada. A sa´ıda da medida DF O ´e compreendida no intervalo entre 0 e 1, sendo que 0 indica m´etodos com operac¸˜oes idˆenticas e 1 com operac¸˜oes totalmente dissimilares. Medida de Distˆancia de Convenc¸˜ao de Nomes DF N : identifica o uso de convenc¸˜oes aplicadas ao nome dos m´etodos (M), nomes das classes (C), tipo de retorno e lista de tipos de parˆametros (T) e ´e definida na Equac¸˜ao 4. DF N (mi, mj) = M ∗ FM + C ∗ FC + T ∗ FT (4)    M = lev(nm(mi),nm(mj )) max(nm(mi),nm(mj )) C = lev(nc(mi),nc(mj )) max(nc(mi),nc(mj )) T = P ∗R 2 R =    0 if tr(mi) = tr(mj) 1 if tr(mi) = tr(mj) P = 0 if cp(mi) ∪ cp(mj) = ∅ 1 − |cp(mi)∩cp(mj )| |cp(mi)∪cp(mj )| caso contr´ario Onde lev(x, y) retorna a distˆancia de edic¸˜ao [Levenshtein 1966] entre as palavras x e y, max(x, y) retorna a quantidade de letras da maior palavra entre x e y, nm(m) retorna o nome de m, nc(m) retorna o nome da classe de m, tr(m) retorna o tipo de retorno de m, cp(m) retorna o conjunto de tipos de parˆametros de m, e FM , FC e FT s˜ao os pesos atribu´ıdos respectivamente as distˆancias de nome de m´etodo, nome de classe, e conjuntos de tipos de parˆametros e retorno, sendo que FM + FC + FT = 1. A sa´ıda da medida DF N ´e compreendida no intervalo entre 0 e 1, sendo que 0 indica m´etodos com convenc¸˜ao de nomes idˆentica e 1 indica m´etodos sem convenc¸˜ao de nomes. 4. Estudo Experimental Para a conduc¸˜ao do experimento, foi implementado um processo de minerac¸˜ao de aspectos, baseado em [Serban and Moldovan 2006a], composto de quatro fases: 1) Computac¸˜ao: analisa o c´odigo fonte do sistema a fim de computar todas as classes, m´etodos e as relac¸˜oes de invocac¸˜ao entre eles; 2) Filtro: elimina os m´etodos com fan-in menor que 2, os m´etodos com prefixo “get” e “set” e as invocac¸˜oes a m´etodos de sistema e bibliotecas de terceiros; 3) Agrupamento: aplica o algoritmo de agrupamento junto com
  5. 5. a medida de distˆancia para formar os grupos de candidatos a aspectos; e 4) An´alise: um analista valida os candidatos a aspectos e define a estrat´egia de refatorac¸˜ao. Os experimentos foram efetuados atrav´es da execuc¸˜ao do processo com trˆes sis- temas reais, combinando trˆes algoritmos de agrupamento e seis medidas de distˆancia. Os resultados s˜ao coletados e avaliados atrav´es de dois ´ındices de avaliac¸˜ao. Sistemas Utilizados: Foram escolhidos para os experimentos trˆes sistemas reais: JHot- Draw 5.4b11 ; Apache Tomcat 5.5.172 ; e HSQLDB 1.8.0.23 . A escolha foi devido a dis- ponibilidade de estudos sobre os interesses transversais presentes nestas vers˜oes. Medidas de Distˆancia As seis medidas de distˆancia avaliadas est˜ao na Tabela 3. Tabela 3. Medidas de Distˆancia Avaliadas Medida DCCC S (mi, mj) = m´etodos e classes que invocam(mi∩mj ) m´etodos e classes que invocam(mi∪mj ) DHBHZ (mi, mj) = m´etodos que invocam((mi−mj )+(mj −mi)) m´etodos que invocam((mi∩mj )+(mi−mj )+(mj −mi)) DF S (mi, mj) = m´etodos e classes com polimorfismo que invocam(mi∩mj ) m´etodos e classes com polimorfismo que invocam(mi∪mj ) DF O(mi, mj) = m´etodos e classes que foram invocados(mi∩mj ) m´etodos e classes que foram invocados(mi∪mj ) DF N (mi, mj) = distˆancia nomes ∗ FNM + distˆancia classes ∗ FNC + distˆancia parˆametros e retorno ∗ FP R DF SOND(mi, mj) = (DF S ∗ FS) + (DF O ∗ FO) + (DF N ∗ FN ) Algoritmos de Agrupamento: Foram escolhidos para os experimentos trˆes algoritmos que s˜ao geralmente aplicados na minerac¸˜ao de aspectos: k-medoids: Utilizado o k-medoids cl´assico. A determinac¸˜ao do n´umero de grupos e os medoids iniciais foi efetuada conforme [Czibula et al. 2009a]. O k-medoids ´e executado at´e que n˜ao haja mais troca de medoids. Hier´arquico cl´assico: Utilizado o hier´arquico aglomerativo cl´assico, com o m´etodo de ligac¸˜ao complete linkage, no qual a distˆancia entre um par de grupos ´e determinada pelos dois objetos mais distantes entre os grupos. Como crit´erio de parada foi aplicado o de aglomerac¸˜ao de grupos at´e que a quantidade de grupos gerados seja igual a quantidade de m´etodos representativos identificada pela heur´ıstica definida em [Czibula et al. 2009b]. CHAMELEON: Implementado conforme o estudo [Karypis et al. 1999], bem como ado- tado o aplicativo hMETIS4 para efetuar o particionamento dos hipergrafos. Foram geradas ao todo 18 instˆancias de combinac¸˜oes entre as medidas de distˆancia e algoritmos de agrupamento. As medidas e algoritmos de cada combinac¸˜ao s˜ao listadas na Tabela 4. A metodologia adotada na calibrac¸˜ao das instˆancias, pesos para as medidas e parˆametros dos algoritmos podem ser consultados em [Fillus 2012]. Medidas de Avaliac¸˜ao: Para avaliac¸˜ao, foi considerado o princ´ıpio de que uma partic¸˜ao ´otima ´e aquela em que cada grupo representa somente um interesse transversal, e, cada interesse transversal ´e representado por apenas um grupo. Sendo assim, foram adotados dois ´ındices de avaliac¸˜ao de qualidade complementares: 1 http://www.jhotdraw.org/, editor gr´afico para a manipulac¸˜ao de figuras atrav´es de uma interface gr´afica. 2 http://tomcat.apache.org/, servidor WEB para hospedagem de p´aginas HTML e aplicativos Java. 3 http://hsqldb.org/, servidor de banco de dados relacional com suporte a linguagem SQL ANSI. 4 http://glaros.dtc.umn.edu/gkhome/views/metis, programa de particionamento de hipergrafos.
  6. 6. DISP: Verifica se os m´etodos pertencentes a um interesse transversal est˜ao no mesmo grupo. Implementado conforme o estudo [Grigoreta et al. 2009]. A sa´ıda ´e compreendida no intervalo entre 0 e 1. Quanto maior o valor, melhor. DIV2: Verifica se os m´etodos pertencentes a um grupo s˜ao referentes ao mesmo interesse transversal. A DIV2 (Equac¸˜ao 5) ´e uma adaptac¸˜ao do ´ındice DIV [Grigoreta et al. 2009]. A DIV2 desconsidera os grupos de interesses base, j´a que estes melhoram indevidamente o resultado devido a n˜ao existˆencia de diversificac¸˜ao. A sa´ıda ´e compreendida no intervalo entre 0 e 1. Quanto maior o valor, melhor. DIV 2(IT, K) = 1 n n i=1 {div(IT, Ki)|Ki ∩ IT = ∅} (5) Onde n ´e a quantidade de grupos de candidatos a aspectos do conjunto K que contˆem ao menos um m´etodo pertencente ao conjunto de interesses transversais validados IT, Ki ´e um grupo espec´ıfico pertencente ao conjunto K que cont´em ao menos um m´etodo pertencente ao conjunto IT e div(IT, Ki) ´e a diversidade de um grupo Ki ∈ K, conforme o ´ındice DIV original. O conjunto de interesses transversais validados considerados est˜ao dispon´ıveis em [Fillus 2012]. O resultado ´otimo ´e aquele no qual tanto o ´ındice DISP quanto DIV2 s˜ao iguais a 1. Portanto, o crit´erio adotado para a selec¸˜ao do melhor resultado ´e a instˆancia que obteve a menor diferenc¸a para resultado ´otimo, definido pelo ´ındice DIF na Equac¸˜ao 6. A sa´ıda ´e compreendida no intervalo entre 0 e 2. Quanto menor o valor, melhor. DIF = (1 − DISP) + (1 − DIV 2) (6) 5. Resultados e An´alise A Tabela 4 apresenta os resultados obtidos com as 18 combinac¸˜oes utilizadas para cada sistema. Os trˆes melhores resultados de cada sistema est˜ao em negrito. Todos estes me- lhores resultados foram obtidos com o algoritmo hier´arquico (cl´assico e CHAMELEON). A combinac¸˜ao DF SOND com algoritmo hier´arquico (config. 12) foi a que apresentou o melhor resultado para todos os sistemas. Destacam-se tamb´em a combinac¸˜ao DF SOND e CHAMELEON (config. 18) (dois segundos lugares e um terceiro para o Tomcat) e as combinac¸˜oes 17 e 9 que utilizam respectivamente as medidas DF N e DF S . Considerando cada algoritmo percebe-se que todos eles obtiveram seus melhores resultados em todos os sistemas com a medida DF SOND, configurac¸˜oes 6, 12 e 18 para respectivamente os algoritmos k-medoids, hier´arquico e CHAMELEON. Com relac¸˜ao `as medidas que comp˜oem a medida DF SOND, o tratamento para o po- limorfismo dado a medida de espalhamento DF S melhorou a qualidade dos grupos quando comparados com a medida original DCCC S em todos os casos, obtendo uma boa estabi- lidade de resultados entre os sistemas e um bom equil´ıbrio entre os ´ındices dispers˜ao e diversidade. A medida de clonagem de operac¸˜oes DF O obteve resultados medianos quando aplicada individualmente. Este resultado se deve ao fato de que nem todos os interesses transversais s˜ao apresentados na forma de c´odigo duplicado, bem como pelo fato de uma deficiˆencia da medida, que devido a ausˆencia de operac¸˜oes nas interfaces, estas foram classificadas em grupos distintos de suas implementac¸˜oes, o que prejudica a sua efic´acia. A medida DF N , que considera a convenc¸˜ao de nomes, obteve os grupos com a menor dispers˜ao entre todas as medidas avaliadas, por´em, ao custo de uma alta diversidade. A
  7. 7. Tabela 4. Instˆancias Avaliadas e Resultados Instˆancias Resultados JHotDraw Resultados Tomcat Resultados HSQLDB n◦ Algoritmo Medida DISP DIV2 DIF DISP DIV2 DIF DISP DIV2 DIF 1 k-medoids DCCC S 0.2099 0.4194 1.3706 0.7490 0.4323 0.8185 0.8690 0.5000 0.6309 2 k-medoids DHBZH 0.3202 0.4773 1.2023 0.7579 0.4342 0.8077 0.8452 0.4852 0.6694 3 k-medoids DF S 0.8571 0.5297 0.6130 0.9722 0.5863 0.4414 0.9166 0.5208 0.5625 4 k-medoids DF O 0.4964 0.4215 1.0820 0.7840 0.5109 0.7049 0.9285 0.4476 0.6238 5 k-medoids DF N 0.9642 0.3791 0.6565 1.0000 0.4366 0.5633 0.9642 0.4652 0.5704 6 k-medoids DF SOND 0.8452 0.7894 0.3652 0.9861 0.6235 0.3903 0.9642 0.5666 0.4690 7 Hier´arquico DCCC S 0.2058 0.6290 1.1650 0.6658 0.6973 0.6367 0.8333 0.9250 0.2416 8 Hier´arquico DHBZH 0.2668 0.8383 0.8947 0.7125 0.8460 0.4413 0.8333 0.8947 0.2719 9 Hier´arquico DF S 0.8571 0.8000 0.3428 0.9166 0.9099 0.1734 0.8690 0.9473 0.1835 10 Hier´arquico DF O 0.2415 0.7692 0.9892 0.7237 0.8090 0.4672 0.8571 0.8333 0.3095 11 Hier´arquico DF N 1.0000 0.4166 0.5833 1.0000 0.4236 0.5763 1.0000 0.4727 0.5272 12 Hier´arquico DF SOND 0.8928 1.0000 0.1071 0.9583 0.9144 0.1272 0.9642 0.8666 0.1690 13 CHAMELEON DCCC S 0.2109 0.6521 1.1368 0.7185 0.7509 0.5304 0.8452 0.7222 0.4325 14 CHAMELEON DHBZH 0.1988 0.5259 1.0378 0.6946 0.5192 0.7860 0.8333 0.7750 0.3916 15 CHAMELEON DF S 0.8119 0.8295 0.3585 0.8577 0.8735 0.2687 0.8690 0.7254 0.4054 16 CHAMELEON DF O 0.2013 0.6235 1.1750 0.7455 0.6317 0.6226 0.9642 0.4750 0.5607 17 CHAMELEON DF N 0.8775 0.8133 0.3091 0.8884 0.7500 0.3615 1.0000 0.5694 0.4305 18 CHAMELEON DF SOND 0.8928 0.8859 0.2211 0.9093 0.8672 0.2233 0.9642 0.8666 0.1690 baixa dispers˜ao obtida pela medida ´e devido a quest˜ao de que os interesses transversais identificados possuem por caracter´ıstica nomes muito similares, por´em, a ocorrˆencia de alta diversidade ´e causada pelo fato de que a medida agrupa indevidamente m´etodos de interesses transversais diferentes pelo simples fato de estes coincidentemente possu´ırem nomes similares, gerando diversidade de interesses dentro do mesmo grupo. Outro resultado apresentado na Tabela 5 mostra o relacionamento entre algoritmo e medida. Em 13 casos, de um total de 18, o algoritmo hier´arquico cl´assico apresentou o melhor resultado. O algoritmo CHAMELEON apareceu 6 vezes com as medidas DCCC S e DF N , enquanto que o algoritmo k-medoids n˜ao se sobressaiu em nenhum dos casos. Tabela 5. Melhores Algoritmos para cada Medida Medida JHotDraw Tomcat HSQLDB DCCC S CHAMELEON (13) CHAMELEON (13) Hier´arquico (7) DHBZH Hier´arquico (8) Hier´arquico (8) Hier´arquico (8) DF S Hier´arquico (9) Hier´arquico (9) Hier´arquico (9) DF O Hier´arquico (10) Hier´arquico (10) Hier´arquico (10) DF N CHAMELEON (17) CHAMELEON (17) CHAMELEON (17) DF SOND Hier´arquico (12) Hier´arquico (12) Hier´arquico e CHAMELEON (12,18) 6. Conclus˜ao Neste trabalho foi introduzida uma medida de distˆancia para a t´ecnica de minerac¸˜ao de as- pectos baseada em algoritmos de agrupamento. Esta medida, DF SOND, ´e composta de trˆes outras medidas DF S , DF O e DF N que capturam sintomas associados a interesses transver- sais, geralmente n˜ao considerados pelas medidas tradicionalmente usadas em trabalhos que adotam este tipo de t´ecnica. As medidas propostas foram avaliadas com trˆes sis- temas e algoritmos: k-medoids, hier´arquico cl´assico e CHAMELEON num total de 18 experimentos (combinac¸˜oes). A medida de distˆancia DF S obteve melhores resultados do que a medida original DCCC S . J´a as medidas DF O e DF N adaptam caracter´ısticas de identificac¸˜ao de c´odigo du- plicado e convenc¸˜oes de nomes, antes somente exploradas como t´ecnicas individuais, em uma t´ecnica baseada em agrupamento. A medida DF SOND se sobressaiu sobre todas as
  8. 8. medidas comparadas, consolidando-se como a melhor medida de distˆancia em todos os casos avaliados. Os resultados mostram que os algoritmos de agrupamento baseados em mo- delo hier´arquico se mostram mais apropriados para minerac¸˜ao de aspectos do que al- goritmos particionais, o que reforc¸a a conclus˜ao que tamb´em foi obtida no traba- lho [Grigoreta et al. 2009]. Estes algoritmos apresentam os melhores resultados inde- pendentemente da medida utilizada. Como trabalhos futuros pretende-se aperfeic¸oar a medida DF O de forma a possibi- litar a comparac¸˜ao de interfaces, e a medida DF N para que m´etodos de diferentes interesses com nomes similares n˜ao sejam indevidamente inclu´ıdos no mesmo grupo. Al´em disso, pretende-se avaliar estas medidas com abordagens fazendo uso de outros algoritmos tais como evolutivos, PSO, etc. Para n˜ao ter que lidar com o ajuste de parˆametros para compor a medida DF SOND pretende-se explorar o uso de algoritmos multi-objetivos. Referˆencias [Czibula et al. 2009a] Czibula, G., Cojocar, G. S., and Czibula, I. G. (2009a). A partitional clustering algo- rithm for crosscutting concerns identification. In Proceedings of the 8th WSEAS International Confe- rence on Software Engineering, Parallel and Distributed Systems, SEPADS’09, pages 111–116. [Czibula et al. 2009b] Czibula, I. G., Czibula, G., and Cojocar, G. S. (2009b). Hierarchical clustering for identifying crosscutting concerns in object oriented software systems. INFOCOMP Journal of Computer Science, Universidade Federal de Lavras, 8(3):21–28. [Fillus 2012] Fillus, E. K. (2012). CAAMPI: Uma abordagem baseada em t´ecnicas de agrupamento para a minerac¸˜ao de aspectos e identificac¸˜ao de pontos de corte. Master’s thesis, UFPR. [Grigoreta et al. 2009] Grigoreta, S., Moldovan, C., and Gergely, I. (2009). A comparative analysis of cluste- ring algorithms in aspect mining. Studia Universitatis Babes-Bolyai, Series Informatica, 54:75–84. [He et al. 2005] He, L., Bai, H., Zhang, J., and Hu, C. (2005). AMUCA Algorithm for Aspect Mining. In Proceedings of Software Engineering and Knowledge Engineering (SEKE), pages 520–524. [Karypis et al. 1999] Karypis, G., Han, E.-H. S., and Kumar, V. (1999). CHAMELEON: Hierarchical Cluste- ring Using Dynamic Modeling. IEEE Computer, 32:68–75. [Kellens et al. 2007] Kellens, A., Mens, K., and Tonella, P. (2007). A survey of automated code-level aspect mining techniques. In Transactions on aspect-oriented software development IV, pages 143–162. [Kiczales et al. 1997] Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J.-M., and Irwin, J. (1997). Aspect-Oriented Programming. In Proceedings of the 11th European Conference on Object-Oriented Programming, ECOOP ’97, pages 483–496. [Laddad 2003] Laddad, R. (2003). AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications Co., Greenwich, CT, USA. [Levenshtein 1966] Levenshtein, V. (1966). Binary Codes Capable of Correcting Deletions, Insertions and Reversals. Soviet Physics Doklady, 10:707–710. [Serban and Moldovan 2006a] Serban, G. and Moldovan, G. S. (2006a). A new genetic clustering based approach in aspect mining. In Proceedings of the Iternational Conference on Mathematical Methods And Computational Techniques in Electrical Engineering, MMACTEE’06, pages 135–140. [Serban and Moldovan 2006b] Serban, G. and Moldovan, G. S. (2006b). A new k-means based clustering algorithm in aspect mining. In Proceedings of the Eighth International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, SYNASC ’06, pages 69–74.

×