Please use this identifier to cite or link to this item:
http://hdl.handle.net/1843/ESBF-AN9JTM
Type: | Dissertação de Mestrado |
Title: | Archruby: architecture conformance checking in dynamically typed languages |
Authors: | Sergio Henrique Miranda Júnior |
First Advisor: | Marco Tulio de Oliveira Valente |
First Co-advisor: | Ricardo Terra Nunes Bueno Villela |
First Referee: | Ricardo Terra Nunes Bueno Villela |
Second Referee: | Eduardo Magno Lages Figueiredo |
Abstract: | 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. |
Subject: | Computação |
language: | Português |
Publisher: | Universidade Federal de Minas Gerais |
Publisher Initials: | UFMG |
Rights: | Acesso Aberto |
URI: | http://hdl.handle.net/1843/ESBF-AN9JTM |
Issue Date: | 29-Mar-2017 |
Appears in Collections: | Dissertações de Mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
sergiohenriquemirandajr.pdf | 4.81 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.