• Nenhum resultado encontrado

CAPíTULO 5 – SUPORTE PARA A MINERAÇÃO DE INTERESSES EM ADM:

5.3 Processo de Uso do CCKDM

a biblioteca de interesses e os repositórios. Os módulos encarregados da mineração são dois; LibraryAnalysise ClusterAnalysis. LibraryAnalysis faz a mineração pela biblioteca de interes- ses a qual depende do gerenciador de consultas QueryManager e da biblioteca de interesses que é gerenciado pelo módulo ConcernManager. As saídas do módulo LibraryAnalysis são as en- tradas para o modulo ClusterAnalysis o qual implementa o algoritmo de clustering. O módulo ClusterAnalysistambém depende do módulo QueryManager. O módulo PersistenceManager gerencia as conexões com o banco de dados para persistir os elementos da aplicação. O módulo TagManager realiza as marcações dos interesses nos arquivos KDM utilizando um repositó- rio de dados XML. Por fim, o módulo I/O Utilities realiza operações de entrada e saída com arquivos.

5.3 Processo de Uso do CCKDM

Para começar o processo com CCKDM, precisa-se de um projeto Java para EclipseTMcar- regado no Package Explorer. O projecto deve conter o código fonte ou um arquivo XMI com o modelo KDM. A Figura 5.2 apresenta a forma de carregar um modelo KDM. Depois de carre- gado, um novo projeto Java automaticamente é criado com o novo arquivo.

Figura 5.2: Carregar um modelo KDM

A Figura 5.3 mostra como se inicia o processo de mineração. O usuário deve selecionar o projeto no Package Explorer com o segundo botão para abrir a janela pop-up que tem a opção para iniciar o processo de mineração de interesses.

Figura 5.3: Iniciar o processo CCKDM

Após começar o processo, se for a primeira vez que o projeto é selecionado, então CCKDM vai gerar o metamodelo KDM (só se o projeto contém código fonte), a biblioteca de interesses

5.3 Processo de Uso do CCKDM 63

que vem por default (Persistênce, Logging e Authentication) e identificar estruturas relacionadas com código fonte do modelo KDM para serem persistidos no banco de dados. Para que o usuário saiba a ação que o CCKDM está realizando na etapa de coleta de dados, uma barra de progresso com informações é apresentada. A Figura 5.4 apresenta essa barra de progresso.

Figura 5.4: Barra de progresso com informações das ações sendo executadas

A Figura 5.5 apresenta a janela principal mostrada para o usuário após carregar as infor- mações do modelo KDM. A Figura foi marcada com os números 1,2 e 3 para facilitar sua explicação.

Figura 5.5: Janela principal

A parte esquerda da região 1 apresenta as informações do projeto carregado tais como a quantidade de classes, interfaces, métodos, atributos e variáveis. Com essa informação o usuá- rio ter uma ideia do tamanho do sistema a ser analisado. A parte direita da região 1 apresenta o valor fan-in dos métodos do sistema, onde os valores altos podem indicar presença de inte-

5.3 Processo de Uso do CCKDM 64

resses transversais. A região 2, apresenta as caixinhas de seleção que representam os interesses carregados no CCKDM. O usuário deve selecionar pelo menos um interesse para começar o processo de mineração. Quando novas regras são adicionadas na biblioteca de interesses, a re- gião automaticamente é atualizada. A região 3 apresenta opções relacionadas com a técnica de clustering. Com a primeira opção o usuário pode desativar ou ativar a mineração de interes- ses utilizando a técnica de clustering. Com a segunda opção o usuário pode filtrar os métodos getterse setters. Com a terceira opção o usuário ativa ou desativa o sub processo de seleção ma- nual de interesses procurados pela técnica de clustering. Para isso o usuário deve selecionar o arquivo CSV que contém os elementos identificados pelo algoritmo de clustering. A Figura 5.6 mostra como é feita a carga do arquivo.

Figura 5.6: Carregando o arquivo CSV com os resultado do clustering

Finalmente, o usuário pode indicar o valor da distância Levenshtein, ou seja o nível de similaridade dos strings agrupados pela técnica de clustering.

A Figura 5.7 apresenta o gerenciamento da biblioteca de interesses. Na parte esquerda da janela o usuário pode inserir ou editar regras de interesses. Para inserir uma regra o usuário deve seguir o seguinte padrão; [nome do interesse],[pacote],[elementos..N] por linha. Podem- se inserir várias regras ao mesmo tempo em um só passo o que facilita a experiência do usuário e é uma das melhoras em relação ao COMSCID.

O árvore do lado direito mostra as regras carregadas no CCKDM. Para eliminar uma regra o usuário deve selecionar um interesse e abrir uma janela pop-up com o segundo botão e clicar

5.3 Processo de Uso do CCKDM 65

em eliminar. Esse árvore corresponde a o arquivo XML apresentado na Figura 4.3.

Cada vez que uma regra é adicionada ou eliminada, automaticamente a região 2 da Fi- gura 5.5 é atualizada.

Figura 5.7: Biblioteca de interesses

A Figura 5.8 apresenta os logs gerados pelo CCKDM onde o usuário pode visualizar por meio da ferramenta os elementos que possivelmente implementam algúm interesse. O lado esquerdo apresenta os elementos identificados pela biblioteca de interesses e o lado direito os elementos identificados pela técnica de clustering.

Finalmente, a Figura 5.9 apresenta todos os elementos gerados pelo CCKDM enquadrados em vermelho. O nome do projeto analisado é TestPatternProgram. Pode-se ver que o CCKDM gerou dois modelos KDM; o modelo TestPatternProgram0_KDM.xmi e o modelo TestPattern- Program_KDM.xmi. O modelo TestPatternProgram0_KDM.xmi é o KDM original e TestPat- ternProgram_KDM.xmié o KDM com as anotações. Além disso, CCKDM gerou o banco de dados derbyDB, a biblioteca de interesses ConcernLibrary.xml e 4 arquivos de registros (arqui- vos CSV e arquivos logs).

5.4 Considerações finais 66

Figura 5.8: Logs gerados pelo CCKDM

Figura 5.9: Elementos gerados pelo CCKDM

5.4 Considerações finais

Neste capítulo foi apresentado o plug-in para EclipseTMCCKDM. Ele implementa a técnica combinada de mineração de interesses em modelos KDM e pode-se descarregar no seguinte endereço web: http://sourceforge.net/projects/cckdm/. O plug-in tem licença Apache versão 2.0 e é livre para ser usado e modificado.

Capítulo 6

AVALIAÇÃO

Neste capítulo, apresenta-se a avaliação da técnica proposta no Capítulo 4. O primeiro passo consistiu em analisar se existiam diferenças significativas ao utilizar diferentes valo- res Levenshtein. Em seguida, com o resultado dessa análise, realizou-se uma avaliação em que se compararam valores de precisão e cobertura com outras técnicas de mineração de interesses.