experiments with clustering as a software remodularization method nicolas anquetil and timothy c....
TRANSCRIPT
![Page 1: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/1.jpg)
Experiments with Clustering as a Software Remodularization Method
Nicolas Anquetil and Timothy C. LethbridgeUniversity of Ottawa, Canada
WCRE 1999: 235-255
Gustavo Jansen de Souza SantosHudson Silva Borges
Universidade Federal de Minas Gerais
![Page 2: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/2.jpg)
Roteiro
Introdução Clusterização Entidades e suas descrições Outras questões em clusterização Avaliação Experimento Conclusão
2
![Page 3: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/3.jpg)
Introdução
Valorização do Software Manutenção Engenharia reversa Clusterização Complexo Horizonte de possibilidades Comparação entre diferentes métodos Foco em remodularização
3
![Page 4: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/4.jpg)
Clusterização
Atividades da engenharia reversa:
Obter informações Composição do sistema Grupos independentes
---------------------------------------- = Clusterização
4
![Page 5: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/5.jpg)
Clusterização
Requisitos para clusterização:
Descrição das Entidades Acoplamento das Entidades Algoritmo de Clusterização
5
![Page 6: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/6.jpg)
Clusterização
Questões:
Como descrever as fontes?
Ex: Com caracteres.
6
![Page 7: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/7.jpg)
Clusterização
Questões: O que é um cluster coeso?
7
![Page 8: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/8.jpg)
Clusterização
Questões:
Qual algoritmo utilizar?
Depende do objetivo!
8
![Page 9: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/9.jpg)
Clusterização
Entidades e Descrições
O que são entidades: Arquivos Rotinas Classes Processos
Descrição através de features Formal Não formal
9
![Page 10: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/10.jpg)
Clusterização
Descrição Formal
São informações que tem impacto direto no comportamento do sistema;
Escolhas óbvias. Testados: Tipos, Variáveis, Rotinas, Arquivos,
Macros. Limitação da taxonomia e redundância.
10
![Page 11: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/11.jpg)
Clusterização
Descrição Não Formal
São informações que não tem influência direta no comportamento do sistema;
Testados: Identificadores e Comentários; Muitos problemas em sistemas legados; Quando relevantes:
Menor redundância, facilmente extraída, mais
informações, mais próximo do entendimento humano.
11
![Page 12: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/12.jpg)
Metricas de Similaridade
Tão importante quanto o algoritmo;
Quanto mais similar a descrição de duas entidades, maior o acoplamento entre elas.
Meio de agrupá-los: Coeficiente de associação; Coeficiente de distância; Coeficiencia de correlação; Coeficiente probabilístico
12
![Page 13: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/13.jpg)
Algoritmos de Clusterização
Algoritmos aglomerativos hierárquicos; São não supervisionados;
13
![Page 14: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/14.jpg)
Algoritmos de Clusterização
Algoritmos aglomerativos hierárquicos; Ex: Single, Complete, Weighted average e
Unweighted average linkage;
14
![Page 15: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/15.jpg)
Algoritmos de Clusterização
Algoritmos aglomerativos hierárquicos geram uma hierarquia de clusters, onde é necessário cortá-la;
15
![Page 16: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/16.jpg)
Avaliação
Questões Representativo Faz sentido Adaptáveis Geral
Critérios de Qualidade Redundância entre features Expert Design Tamanho
16
![Page 17: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/17.jpg)
Redundância entre Features
Duas features geram resultados similares Quantos pares de entidades no mesmo cluster tem em
comum
Não é um teste perfeito Cada feature pode ter um conjunto de features similares Resultado depende da função de similaridade
Execução para métricas diferentes
17
![Page 18: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/18.jpg)
Critério do Expert
Faz sentido para os projetistas
Critério Ideal Grupo de experts avaliando os clusters Impraticável
Uso da distribuição de pastas do sistema Visão inicial da arquitetura
Métricas Precisão Revocação
18
![Page 19: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/19.jpg)
Critério de Design
Maior interesse dentre os critérios Manutenibilidade
Métricas Coesão
Similaridade média entre entidades de mesmo cluster Acoplamento
Similaridade média entre entidades de clusters diferentes
Métrica de similaridade parecida com a usada no algoritmo
19
![Page 20: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/20.jpg)
Critério de Tamanho
Tamanhos similares Evitar cluster unitários ou muito grandes
Inerente à propriedade do sistema Também depende da métrica de similaridade e do algoritmo
de clusterização
Métricas Número de clusters unitários Número de entidades no maior cluster Número de entidades restantes (clusters intermediários)
20
![Page 21: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/21.jpg)
Critério de Tamanho
Comparação com vários cortes na árvore hierárquica
21
![Page 22: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/22.jpg)
Experimento
22
![Page 23: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/23.jpg)
Experimento
23
Entidades são arquivos, pastas são subsistemas
Coesão e acoplamento são calculadas com features formais
Comparação com abordagem hill climbing de Bunch [7]
![Page 24: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/24.jpg)
Redundância entre Features
24
Features formais têm mais redundância entre si do que features não-formais Exceção: “all” e “ident”
Métrica de similaridade influencia no resultado
![Page 25: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/25.jpg)
Descrições das Entidades
25
Propriedades do vetor de descrição das entidades
Influência no resultado a partir de vetores vazios Tendência a criar um cluster com tais entidades
![Page 26: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/26.jpg)
Descrições das Entidades
26
![Page 27: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/27.jpg)
Métricas de Similaridade
27
Diferentes métricas para vários cortes na árvore
Métricas que não utilizam dimensões nulas tem melhores resultados
Jaccard e Sorensen-Dice dão melhores resultados
![Page 28: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/28.jpg)
Métricas de Similaridade
28
![Page 29: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/29.jpg)
Algoritmos de Clusterização
29
Comporta-se como esperado
Graduação de Complete Linkage a Simple Linkage em relação aos resultados Complete Linkage resulta clusters mais coesos Single Linkage resulta clusters menos acoplados Unweighted Linkage dá melhor combinação
![Page 30: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/30.jpg)
Algoritmos de Clusterização
30
![Page 31: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/31.jpg)
Conclusões
31
Estudo de direfentes fatores que influenciam o resultado de clusterização Como entidades são descritas Como calcular acoplamento entre entidades Qual variante de algoritmo utilizar Critérios de avaliação
Algoritmos hierárquicos se comportam tão bem quanto as outras abordagens
Vantagem de recuperar partição de qualquer nível da árvore Níveis de abstração
![Page 32: Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999: 235-255](https://reader035.vdocuments.mx/reader035/viewer/2022062404/552fc0f8497959413d8b4901/html5/thumbnails/32.jpg)
Muito Obrigado
32