Archruby: architecture conformance checking in dynamically typed languages

dc.creatorSergio Henrique Miranda Júnior
dc.date.accessioned2019-08-12T15:59:32Z
dc.date.accessioned2025-09-09T01:31:25Z
dc.date.available2019-08-12T15:59:32Z
dc.date.issued2017-03-29
dc.identifier.urihttps://hdl.handle.net/1843/ESBF-AN9JTM
dc.languagePortuguês
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.subjectComputação
dc.subject.otherConformidade arquitetural
dc.subject.otherLinguagens dinâmicas
dc.subject.otherVisualização arquitetural de alto nível
dc.titleArchruby: architecture conformance checking in dynamically typed languages
dc.typeDissertação de mestrado
local.contributor.advisor-co1Ricardo Terra Nunes Bueno Villela
local.contributor.advisor1Marco Tulio de Oliveira Valente
local.contributor.referee1Ricardo Terra Nunes Bueno Villela
local.contributor.referee1Eduardo Magno Lages Figueiredo
local.description.resumoErosã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.initialsUFMG

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
sergiohenriquemirandajr.pdf
Tamanho:
4.7 MB
Formato:
Adobe Portable Document Format