wesb-final

8
Uma Avaliac ¸˜ ao do Uso de Diferentes Algoritmos de Agrupamento e Medidas de Dist ˆ ancia para Minerac ¸˜ ao de Aspectos Edison Klafke Fillus 1 , 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

Transcript of wesb-final

Uma Avaliacao do Uso de Diferentes Algoritmos deAgrupamento e Medidas de Distancia para Mineracao de

AspectosEdison Klafke Fillus1, Silvia Regina Vergilio 1

1Departamento de Informatica (DInf - UFPR)– Curitiba, PR – Brasil

{edisonk, silvia}@inf.ufpr.br

Resumo. A tecnica de mineracao de aspectos baseada em agrupamento per-mite agrupar metodos associados ao mesmo interesse transversal guiado poruma medida de distancia, sem a necessidade de conhecimento previo das ca-racterısticas do sistema. Porem, uma limitacao da maioria das abordagensexistentes e que as medidas utilizadas sao geralmente baseadas em um unicotipo de sintoma de interesse transversal. De forma a superar esta limitacao,este trabalho propoe uma nova medida de distancia que combina simultanea-mente os sintomas de espalhamento, codigo duplicado e convencao de nomes.Os resultados mostram que a medida introduzida obtem melhores resultados doque aquelas utilizadas pelas tecnicas existentes.

Abstract. Clustering based aspect mining techniques group methods that areassociated to the same crosscutting concerns guided by a distance measure,without requiring any prior knowledge about the system. However, a limitationof most clustering approaches is that the measure used is generally based ona single kind of crosscutting symptom. To overcome this limitation, this workproposes the use of an aggregated distance measure that considers the scatte-ring, code cloning and name convention crosscutting symptoms. Experimentalresults show that the introduced measure produces better results than that onesgenerally used by existing approaches.

1. IntroducaoA Orientacao a Objetos (OO) representa os requisitos funcionais de maneira eficaz,porem, esta nao preve a representacao dos requisitos nao funcionais, que devido a suanatureza, estao presentes em varias camadas do sistema, gerando os chamados interessestransversais. Exemplos de interesses transversais incluem: controle de acesso, controlede transacoes, tratamento de excecoes, monitoracao de desempenho, persistencia, log,cache, entre outros. A existencia de interesses transversais acarreta em problemas de mo-delagem como funcionalidades duplicadas, espalhadas e entrelacadas, o que dificulta oentendimento do sistema e sua manutencao e evolucao. Para solucionar este problema,foi criada a Orientacao a Aspectos (OA) [Kiczales et al. 1997], que tem por premissamodularizar os interesses transversais em componentes chamados aspectos. Os aspectosencapsulam os dados e o comportamento esperado do interesse transversal e podem serencaixados conforme a necessidade aos objetos a serem afetados por este interesse.

Para que um software possa usufruir dos benefıcios da OA, e necessario um pro-cesso de decomposicao de funcionalidades de forma que os seus interesses transversais

sejam separados de seus interesses base [Laddad 2003]. Este processo pode ser traba-lhoso, se executado de forma manual. A mineracao de aspectos auxilia a reduzir esteesforco permitindo identificar automaticamente os potenciais interesses transversais nossistemas legados OO. Ela tem como entrada o codigo fonte do sistema legado e comosaıda os candidatos a aspectos identificados [Kellens et al. 2007].

Dentre as varias tecnicas de mineracao de aspectos existentes destaca-se a analisede agrupamento (clustering), capaz de descobrir os metodos candidatos a aspectos que re-fletem os interesses transversais existentes sem que seja necessario o conhecimento previodas particularidades do sistema. Os trabalhos desta tecnica aplicam diferentes algoritmosde agrupamento e medidas de distancia que geralmente medem a proximidade entre osmetodos pela similaridade dos nomes ou pela identificacao do sintoma de espalhamento,relacionando os metodos que sao chamados frequentemente de diferentes modulos. En-tretanto, a maioria deles nao faz uso da combinacao de diversas caracterısticas de sinto-mas de interesses transversais, por exemplo, eles nao exploram sintomas como codigoduplicado e convencao de nomes de classes, padroes de retorno e conjunto de parametros.Alem disso, nao sao encontrados na literatura trabalhos que avaliem o desempenho dosalgoritmos de agrupamento com diferentes medidas, utilizando uma medida de avaliacaoda qualidade dos agrupamentos de forma padronizada.

Considerando o exposto acima, este trabalho tem como objetivo introduzir umanova medida de distancia que combina sintomas de espalhamento, codigo duplicado econvencao de nomes. A medida proposta e avaliada com outras 18 combinacoes de me-didas de distancia e tres algoritmos de agrupamento em tres sistemas. Os resultados mos-tram um melhor desempenho da medida proposta e permitem considerar quais medidassao mais adequadas com cada algoritmo.

Este artigo esta organizado como segue. Na Secao 2 sao apresentados os prin-cipais trabalhos sobre mineracao de aspectos baseada em tecnicas de agrupamento: asmedidas de distancias e algoritmos utilizados, e medidas de avaliacao empregadas em ex-perimentos reportados na literatura. Na Secao 3 e introduzida a nova medida de distanciaproposta. Na Secao 4 descreve-se o experimento conduzido cujos resultados sao apresen-tados e analisados na Secao 5. Finalmente, na Secao 6 sao apresentadas as conclusoes dotrabalho.

2. Trabalhos relacionadosOs principais trabalhos encontrados na literatura de mineracao de aspectos baseada emagrupamento estao na Tabela 1. As medidas utilizadas visam a capturar sintomas deespalhamento e entrelacamento de interesses transversais baseadas em similaridade deinvocacao de metodos (DHBZH), classes (DSM

E ), classes e metodos (DCCCS ) e contexto de

invocacao (DCCCT ), que pode ser dado pelo acesso a variaveis, atributos, classes referen-

ciadas e tipos de parametros utilizados.

Trabalhos que visam a avaliar os diferentes algoritmos de agrupamento emedidas de distancia geralmente utilizam as seguintes medidas de avaliacao: a)DISP [Grigoreta et al. 2009], que calcula a media da dispersao dos interesses trans-versais em mais de um grupo; b) DIV [Grigoreta et al. 2009], que calcula a mediada diversidade de interesses transversais distintos existentes no mesmo grupo; c)ACC [Serban and Moldovan 2006a], que calcula a proporcao de metodos de interesses

Tabela 1. Principais trabalhos existentes na literaturaTrabalho Agrupamento Medida de Distancia

KAM [Serban and Moldovan 2006b] k-means DSME : Similaridade do conjunto de classes que invocam mi e mj .

GAM [Serban and Moldovan 2006a] AG DSME : Similaridade do conjunto de classes que invocam mi e mj .

PACO [Czibula et al. 2009a] k-medoidsDCCC

S :Similaridade conjunto metodos e classes invocam mi e mj .DCCC

T : Similaridade do contexto dos metodos mi e mj .DCCC

ST = min(DCCCS , DCCC

T )

HACO [Czibula et al. 2009b] Hierarquico DCCCS : Similaridade conjunto metodos e classes invocam mi e mj .

AMUCA [He et al. 2005] CHAMELEON DHBZH : Similaridade conjunto de metodos 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 numero demetodos 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, sao apresentados na Tabela 2. Observa-se que as avaliacoes nao foram realizadasde uma forma padrao e nem todos os algoritmos foram avaliados. Alem disso, as medidasde distancia avaliadas nao consideram outras caracterısticas para identificar os interessestransversais, tais como deteccao de codigo duplicado ou convencao de nomes (identifica-dores). Considerando estas limitacoes na proxima secao e introduzida uma nova medidade distancia que considera estas caracterısticas, avaliada em diferentes combinacoes dealgoritmos e medidas no experimento descrito na Secao 4.

Tabela 2. Resultados publicados na literaturaAlgoritmo Sistema Medida DISP DIV ACC PAME Referencia

kAM JHotDraw DSME 0.4005 0.9972 — — [Grigoreta et al. 2009]

Laffra DSME — — 0.667 0.200 [Serban and Moldovan 2006a]

PACOJHotDraw 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 Nao ha avaliacao publicada

3. Medida de Distancia PropostaNesta secao e introduzida uma medida de distancia a DF

SOND que combina as carac-terısticas de identificacao dos sintomas de espalhamento, codigo duplicado e convencaode nomes. A medida de distancia DF

SOND e definida na Equacao 1:

DFSOND(mi,mj) = (DF

S ∗ FE) + (DFO ∗ FO) + (DF

N ∗ FN) (1)

DFSOND e uma agregacao de tres medidas descritas abaixo: distancia de espalha-

mento DFS , distancia de operacoes DF

O e distancia de nomes DFN . FS , FO e FN sao os

pesos tal que FS + FO + FN = 1. A saıda da medida DFSOND e compreendida no inter-

valo entre 0 e 1, onde 0 indica metodos que apresentam os tres sintomas em comum e 1metodos que nao possuem os sintomas em comum.

Medida de Distancia de Espalhamento DFS : esta medida e um aperfeicoamento da me-

dida DCCCS para permitir o tratamento de polimorfismo e e definida na Equacao 2:

DFS (mi,mj) =

{1− |cje(mi)∩cje(mj)|

|cje(mi)∪cje(mj)| se cje(mi) ∩ cje(mj) 6= ∅1 caso contrario

(2)

Onde cje(m) e um conjunto que consiste de: o metodo m, a classe na qual ometodo m e definido e as classes e metodos que invocam m. Caso m possua poli-morfismo, sera contabilizado tambem o conjunto de classes e metodos que invocam osmetodos que m sobrescreveu e os metodos que refinaram m. Caso existam classes ani-nhadas, em todos os casos sera contabilizada tambem a classe principal que contem aclasse aninhada. A saıda da medida DF

S e compreendida no intervalo entre 0 e 1, onde 0indica espalhamento identico e 1 espalhamento totalmente dissimilar.

Medida de Distancia de Clonagem de Operacoes DFO: identifica metodos com logica

de operacoes semelhante ou clonada e e definida na Equacao 3:

DFO(mi,mj) =

{1− |cjo(mi)∩cjo(mj)|

|cjo(mi)∪cjo(mj)| se cjo(mi) ∩ cjo(mj) 6= ∅1 caso contrario

(3)

Onde cjo(m) e um conjunto que consiste das classes e metodos que m invocou e,no caso de classes aninhadas, tambem sera contabilizada a classe principal que contem aclasse aninhada. A saıda da medida DF

O e compreendida no intervalo entre 0 e 1, sendoque 0 indica metodos com operacoes identicas e 1 com operacoes totalmente dissimilares.

Medida de Distancia de Convencao de Nomes DFN : identifica o uso de convencoes

aplicadas ao nome dos metodos (M ), nomes das classes (C), tipo de retorno e lista detipos de parametros (T ) e e definida na Equacao 4.

DFN (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∗R2 R =

0 if tr(mi) = tr(mj)

1 if tr(mi) 6= tr(mj)

P =

{0 if cp(mi) ∪ cp(mj) = ∅1− |cp(mi)∩cp(mj)|

|cp(mi)∪cp(mj)| caso contrario

Onde lev(x, y) retorna a distancia de edicao [Levenshtein 1966] entre as palavrasx 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 deretorno de m, cp(m) retorna o conjunto de tipos de parametros de m, e FM , FC e FT saoos pesos atribuıdos respectivamente as distancias de nome de metodo, nome de classe, econjuntos de tipos de parametros e retorno, sendo que FM + FC + FT = 1. A saıda damedida DF

N e compreendida no intervalo entre 0 e 1, sendo que 0 indica metodos comconvencao de nomes identica e 1 indica metodos sem convencao de nomes.

4. Estudo ExperimentalPara a conducao do experimento, foi implementado um processo de mineracao deaspectos, baseado em [Serban and Moldovan 2006a], composto de quatro fases: 1)Computacao: analisa o codigo fonte do sistema a fim de computar todas as classes,metodos e as relacoes de invocacao entre eles; 2) Filtro: elimina os metodos com fan-inmenor que 2, os metodos com prefixo “get” e “set” e as invocacoes a metodos de sistemae bibliotecas de terceiros; 3) Agrupamento: aplica o algoritmo de agrupamento junto com

a medida de distancia para formar os grupos de candidatos a aspectos; e 4) Analise: umanalista valida os candidatos a aspectos e define a estrategia de refatoracao.

Os experimentos foram efetuados atraves da execucao do processo com tres sis-temas reais, combinando tres algoritmos de agrupamento e seis medidas de distancia. Osresultados sao coletados e avaliados atraves de dois ındices de avaliacao.

Sistemas Utilizados: Foram escolhidos para os experimentos tres 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 versoes.

Medidas de Distancia As seis medidas de distancia avaliadas estao na Tabela 3.

Tabela 3. Medidas de Distancia AvaliadasMedida

DCCCS (mi,mj) =

metodos e classes que invocam(mi∩mj)

metodos e classes que invocam(mi∪mj)

DHBHZ(mi,mj) =metodos que invocam((mi−mj)+(mj−mi))

metodos que invocam((mi∩mj)+(mi−mj)+(mj−mi))

DFS (mi,mj) =

metodos e classes com polimorfismo que invocam(mi∩mj)

metodos e classes com polimorfismo que invocam(mi∪mj)

DFO(mi,mj) =

metodos e classes que foram invocados(mi∩mj)

metodos e classes que foram invocados(mi∪mj)

DFN (mi,mj) = distancia nomes ∗ FNM + distancia classes ∗ FNC + distancia parametros e retorno ∗ FPR

DFSOND(mi,mj) = (DF

S ∗ FS) + (DFO ∗ FO) + (DF

N ∗ FN )

Algoritmos de Agrupamento: Foram escolhidos para os experimentos tres algoritmosque sao geralmente aplicados na mineracao de aspectos:

k-medoids: Utilizado o k-medoids classico. A determinacao do numero de grupos e osmedoids iniciais foi efetuada conforme [Czibula et al. 2009a]. O k-medoids e executadoate que nao haja mais troca de medoids.

Hierarquico classico: Utilizado o hierarquico aglomerativo classico, com o metodo deligacao complete linkage, no qual a distancia entre um par de grupos e determinada pelosdois objetos mais distantes entre os grupos. Como criterio de parada foi aplicado o deaglomeracao de grupos ate que a quantidade de grupos gerados seja igual a quantidade demetodos 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 instancias de combinacoes entre as medidas de distanciae algoritmos de agrupamento. As medidas e algoritmos de cada combinacao sao listadasna Tabela 4. A metodologia adotada na calibracao das instancias, pesos para as medidase parametros dos algoritmos podem ser consultados em [Fillus 2012].

Medidas de Avaliacao: Para avaliacao, foi considerado o princıpio de que uma particaootima e aquela em que cada grupo representa somente um interesse transversal, e, cadainteresse transversal e representado por apenas um grupo. Sendo assim, foram adotadosdois ındices de avaliacao de qualidade complementares:

1http://www.jhotdraw.org/, editor grafico para a manipulacao de figuras atraves de uma interface grafica.2http://tomcat.apache.org/, servidor WEB para hospedagem de paginas HTML e aplicativos Java.3http://hsqldb.org/, servidor de banco de dados relacional com suporte a linguagem SQL ANSI.4http://glaros.dtc.umn.edu/gkhome/views/metis, programa de particionamento de hipergrafos.

DISP: Verifica se os metodos pertencentes a um interesse transversal estao no mesmogrupo. Implementado conforme o estudo [Grigoreta et al. 2009]. A saıda e compreendidano intervalo entre 0 e 1. Quanto maior o valor, melhor.

DIV2: Verifica se os metodos pertencentes a um grupo sao referentes ao mesmo interessetransversal. A DIV2 (Equacao 5) e uma adaptacao do ındice DIV [Grigoreta et al. 2009].A DIV2 desconsidera os grupos de interesses base, ja que estes melhoram indevidamenteo resultado devido a nao existencia de diversificacao. A saıda e compreendida no intervaloentre 0 e 1. Quanto maior o valor, melhor.

DIV 2(IT,K) = 1

n

n∑i=1

{div(IT,Ki)|Ki ∩ IT 6= ∅} (5)

Onde n e a quantidade de grupos de candidatos a aspectos do conjunto K quecontem ao menos um metodo pertencente ao conjunto de interesses transversais validadosIT ,Ki e um grupo especıfico pertencente ao conjuntoK que contem ao menos um metodopertencente ao conjunto IT e div(IT,Ki) e a diversidade de um grupoKi ∈ K, conformeo ındice DIV original.

O conjunto de interesses transversais validados considerados estao disponıveisem [Fillus 2012]. O resultado otimo e aquele no qual tanto o ındice DISP quanto DIV2 saoiguais a 1. Portanto, o criterio adotado para a selecao do melhor resultado e a instancia queobteve a menor diferenca para resultado otimo, definido pelo ındice DIF na Equacao 6. Asaıda e compreendida no intervalo entre 0 e 2. Quanto menor o valor, melhor.

DIF = (1−DISP ) + (1−DIV 2) (6)

5. Resultados e AnaliseA Tabela 4 apresenta os resultados obtidos com as 18 combinacoes utilizadas para cadasistema. Os tres melhores resultados de cada sistema estao em negrito. Todos estes me-lhores resultados foram obtidos com o algoritmo hierarquico (classico e CHAMELEON).A combinacao DF

SOND com algoritmo hierarquico (config. 12) foi a que apresentou omelhor resultado para todos os sistemas. Destacam-se tambem a combinacao DF

SOND eCHAMELEON (config. 18) (dois segundos lugares e um terceiro para o Tomcat) e ascombinacoes 17 e 9 que utilizam respectivamente as medidas DF

N e DFS . Considerando

cada algoritmo percebe-se que todos eles obtiveram seus melhores resultados em todosos sistemas com a medida DF

SOND, configuracoes 6, 12 e 18 para respectivamente osalgoritmos k-medoids, hierarquico e CHAMELEON.

Com relacao as medidas que compoem a medida DFSOND, o tratamento para o po-

limorfismo dado a medida de espalhamento DFS melhorou a qualidade dos grupos quando

comparados com a medida original DCCCS em todos os casos, obtendo uma boa estabi-

lidade de resultados entre os sistemas e um bom equilıbrio entre os ındices dispersao ediversidade. A medida de clonagem de operacoes DF

O obteve resultados medianos quandoaplicada individualmente. Este resultado se deve ao fato de que nem todos os interessestransversais sao apresentados na forma de codigo duplicado, bem como pelo fato de umadeficiencia da medida, que devido a ausencia de operacoes nas interfaces, estas foramclassificadas em grupos distintos de suas implementacoes, o que prejudica a sua eficacia.A medida DF

N , que considera a convencao de nomes, obteve os grupos com a menordispersao entre todas as medidas avaliadas, porem, ao custo de uma alta diversidade. A

Tabela 4. Instancias Avaliadas e ResultadosInstancias Resultados JHotDraw Resultados Tomcat Resultados HSQLDB

n◦ Algoritmo Medida DISP DIV2 DIF DISP DIV2 DIF DISP DIV2 DIF1 k-medoids DCCC

S 0.2099 0.4194 1.3706 0.7490 0.4323 0.8185 0.8690 0.5000 0.63092 k-medoids DHBZH 0.3202 0.4773 1.2023 0.7579 0.4342 0.8077 0.8452 0.4852 0.66943 k-medoids DF

S 0.8571 0.5297 0.6130 0.9722 0.5863 0.4414 0.9166 0.5208 0.56254 k-medoids DF

O 0.4964 0.4215 1.0820 0.7840 0.5109 0.7049 0.9285 0.4476 0.62385 k-medoids DF

N 0.9642 0.3791 0.6565 1.0000 0.4366 0.5633 0.9642 0.4652 0.57046 k-medoids DF

SOND 0.8452 0.7894 0.3652 0.9861 0.6235 0.3903 0.9642 0.5666 0.46907 Hierarquico DCCC

S 0.2058 0.6290 1.1650 0.6658 0.6973 0.6367 0.8333 0.9250 0.24168 Hierarquico DHBZH 0.2668 0.8383 0.8947 0.7125 0.8460 0.4413 0.8333 0.8947 0.27199 Hierarquico DF

S 0.8571 0.8000 0.3428 0.9166 0.9099 0.1734 0.8690 0.9473 0.183510 Hierarquico DF

O 0.2415 0.7692 0.9892 0.7237 0.8090 0.4672 0.8571 0.8333 0.309511 Hierarquico DF

N 1.0000 0.4166 0.5833 1.0000 0.4236 0.5763 1.0000 0.4727 0.527212 Hierarquico DF

SOND 0.8928 1.0000 0.1071 0.9583 0.9144 0.1272 0.9642 0.8666 0.169013 CHAMELEON DCCC

S 0.2109 0.6521 1.1368 0.7185 0.7509 0.5304 0.8452 0.7222 0.432514 CHAMELEON DHBZH 0.1988 0.5259 1.0378 0.6946 0.5192 0.7860 0.8333 0.7750 0.391615 CHAMELEON DF

S 0.8119 0.8295 0.3585 0.8577 0.8735 0.2687 0.8690 0.7254 0.405416 CHAMELEON DF

O 0.2013 0.6235 1.1750 0.7455 0.6317 0.6226 0.9642 0.4750 0.560717 CHAMELEON DF

N 0.8775 0.8133 0.3091 0.8884 0.7500 0.3615 1.0000 0.5694 0.430518 CHAMELEON DF

SOND 0.8928 0.8859 0.2211 0.9093 0.8672 0.2233 0.9642 0.8666 0.1690

baixa dispersao obtida pela medida e devido a questao de que os interesses transversaisidentificados possuem por caracterıstica nomes muito similares, porem, a ocorrencia dealta diversidade e causada pelo fato de que a medida agrupa indevidamente metodos deinteresses transversais diferentes pelo simples fato de estes coincidentemente possuıremnomes similares, gerando diversidade de interesses dentro do mesmo grupo.

Outro resultado apresentado na Tabela 5 mostra o relacionamento entre algoritmoe medida. Em 13 casos, de um total de 18, o algoritmo hierarquico classico apresentou omelhor resultado. O algoritmo CHAMELEON apareceu 6 vezes com as medidas DCCC

S

e DFN , enquanto que o algoritmo k-medoids nao se sobressaiu em nenhum dos casos.

Tabela 5. Melhores Algoritmos para cada MedidaMedida JHotDraw Tomcat HSQLDBDCCC

S CHAMELEON (13) CHAMELEON (13) Hierarquico (7)DHBZH Hierarquico (8) Hierarquico (8) Hierarquico (8)

DFS Hierarquico (9) Hierarquico (9) Hierarquico (9)

DFO Hierarquico (10) Hierarquico (10) Hierarquico (10)

DFN CHAMELEON (17) CHAMELEON (17) CHAMELEON (17)

DFSOND Hierarquico (12) Hierarquico (12) Hierarquico e CHAMELEON (12,18)

6. Conclusao

Neste trabalho foi introduzida uma medida de distancia para a tecnica de mineracao de as-pectos baseada em algoritmos de agrupamento. Esta medida, DF

SOND, e composta de tresoutras medidas DF

S , DFO e DF

N que capturam sintomas associados a interesses transver-sais, geralmente nao considerados pelas medidas tradicionalmente usadas em trabalhosque adotam este tipo de tecnica. As medidas propostas foram avaliadas com tres sis-temas e algoritmos: k-medoids, hierarquico classico e CHAMELEON num total de 18experimentos (combinacoes).

A medida de distancia DFS obteve melhores resultados do que a medida original

DCCCS . Ja as medidas DF

O e DFN adaptam caracterısticas de identificacao de codigo du-

plicado e convencoes de nomes, antes somente exploradas como tecnicas individuais, emuma tecnica baseada em agrupamento. A medida DF

SOND se sobressaiu sobre todas as

medidas comparadas, consolidando-se como a melhor medida de distancia em todos oscasos avaliados.

Os resultados mostram que os algoritmos de agrupamento baseados em mo-delo hierarquico se mostram mais apropriados para mineracao de aspectos do que al-goritmos particionais, o que reforca a conclusao que tambem 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 aperfeicoar a medida DFO de forma a possibi-

litar a comparacao de interfaces, e a medida DFN para que metodos de diferentes interesses

com nomes similares nao sejam indevidamente incluıdos no mesmo grupo. Alem disso,pretende-se avaliar estas medidas com abordagens fazendo uso de outros algoritmos taiscomo evolutivos, PSO, etc. Para nao ter que lidar com o ajuste de parametros para compora medida DF

SOND pretende-se explorar o uso de algoritmos multi-objetivos.

Referencias[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 foridentifying crosscutting concerns in object oriented software systems. INFOCOMP Journal of ComputerScience, Universidade Federal de Lavras, 8(3):21–28.

[Fillus 2012] Fillus, E. K. (2012). CAAMPI: Uma abordagem baseada em tecnicas de agrupamento para amineracao de aspectos e identificacao 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. InProceedings 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 aspectmining 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 Conferenceon Object-Oriented Programming, ECOOP ’97, pages 483–496.

[Laddad 2003] Laddad, R. (2003). AspectJ in Action: Practical Aspect-Oriented Programming. ManningPublications Co., Greenwich, CT, USA.

[Levenshtein 1966] Levenshtein, V. (1966). Binary Codes Capable of Correcting Deletions, Insertions andReversals. Soviet Physics Doklady, 10:707–710.

[Serban and Moldovan 2006a] Serban, G. and Moldovan, G. S. (2006a). A new genetic clustering basedapproach in aspect mining. In Proceedings of the Iternational Conference on Mathematical MethodsAnd 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 clusteringalgorithm in aspect mining. In Proceedings of the Eighth International Symposium on Symbolic andNumeric Algorithms for Scientific Computing, SYNASC ’06, pages 69–74.