Archruby: architecture conformance checking in dynamically typed languages
| dc.creator | Sergio Henrique Miranda Júnior | |
| dc.date.accessioned | 2019-08-12T15:59:32Z | |
| dc.date.accessioned | 2025-09-09T01:31:25Z | |
| dc.date.available | 2019-08-12T15:59:32Z | |
| dc.date.issued | 2017-03-29 | |
| dc.identifier.uri | https://hdl.handle.net/1843/ESBF-AN9JTM | |
| dc.language | Português | |
| dc.publisher | Universidade Federal de Minas Gerais | |
| dc.rights | Acesso Aberto | |
| dc.subject | Computação | |
| dc.subject.other | Conformidade arquitetural | |
| dc.subject.other | Linguagens dinâmicas | |
| dc.subject.other | Visualização arquitetural de alto nível | |
| dc.title | Archruby: architecture conformance checking in dynamically typed languages | |
| dc.type | Dissertação de mestrado | |
| local.contributor.advisor-co1 | Ricardo Terra Nunes Bueno Villela | |
| local.contributor.advisor1 | Marco Tulio de Oliveira Valente | |
| local.contributor.referee1 | Ricardo Terra Nunes Bueno Villela | |
| local.contributor.referee1 | Eduardo Magno Lages Figueiredo | |
| local.description.resumo | Erosão arquitetural é um problema recorrente na evolução de software. Esse problema se agrava em sistemas desenvolvidos em linguagens dinamicamente tipadas devido (i) a certos recursos providos por tais linguagens tornarem os desenvolvedores mais propícios a quebrar a arquitetura planejada, e (ii) a comunidade de desenvolvedores sofrer dafalta de ferramentas para análise de arquiteturas. Assim, esta dissertação de mestrado propõe uma solução de conformidade e visualização arquitetural baseada em técnicas de análise estática de código e em uma heurística de inferência de tipos para linguagensdinamicamente tipadas. A ideia central é prover à comunidade de desenvolvedores formas de controlar o processo de erosão arquitetural através da detecção de violações arquiteturais e da visualização de um modelo de alto nível da arquitetura implementada, na forma de modelos de reflexão e DSMs. Nesse sentido, foi projetada uma ferramenta,chamada ArchRuby, que implementa a solução proposta. Para avaliar tal solução, foram realizadas quatro avaliações. Primeiro, a solução proposta foi avaliada em três sistemas reais, sendo capaz de identificar 48 violações arquiteturais das quais os arquitetos não tinham conhecimento. Segundo, foi avaliada a acurácia da heurística de inferência de tipos, concluindo-se que (i) a quantidade de tipos analisados aumenta em 5% na média e (ii) certas violações só foram identificadas devido a essa heurística. Terceiro, realizou-se um estudo para comparar a heurística de inferência de tipos proposta comtécnicas de análise dinâmica de código, concluindo-se que (i) a heurística de inferência de tipos proposta provê uma revocação média de 44% e (ii) sete melhorias podem ser incorporadas em técnicas de análise estática de código para aumentar a quantidade de tipos inferidos. Quinto e último, realizou-se um estudo com um sistema real adaptando a ferramenta ArchRuby para utilizar informações geradas por técnicas de análise dinâmica de código, a fim de aumentar o número de dependências a serem analisadas. | |
| local.publisher.initials | UFMG |
Arquivos
Pacote original
1 - 1 de 1
Carregando...
- Nome:
- sergiohenriquemirandajr.pdf
- Tamanho:
- 4.7 MB
- Formato:
- Adobe Portable Document Format