Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/ESSA-9D6GRY
Full metadata record
DC FieldValueLanguage
dc.contributor.advisor1Roberto da Silva Bigonhapt_BR
dc.contributor.advisor-co1Marco Tulio de Oliveira Valentept_BR
dc.contributor.referee1Dalton Dario Serey Guerreropt_BR
dc.contributor.referee2Krzysztof Czarneckipt_BR
dc.contributor.referee3Eduardo Magno Lages Figueiredopt_BR
dc.contributor.referee4Marco Tulio de Oliveira Valentept_BR
dc.contributor.referee5Paulo Henrique Monteiro Borbapt_BR
dc.creatorRicardo Terra Nunes Bueno Villelapt_BR
dc.date.accessioned2019-08-11T16:59:00Z-
dc.date.available2019-08-11T16:59:00Z-
dc.date.issued2013-09-27pt_BR
dc.identifier.urihttp://hdl.handle.net/1843/ESSA-9D6GRY-
dc.description.abstractArchitectural erosion is a recurrent problem faced by software architects. Although several architecture conformance techniques have been proposed to detect architectural violations (e.g., reflexion models, dependency structure matrices, source code query languages, constraint languages, architecture description languages, and design tests), less research effort has been dedicated to the task of repairing such violations. As a consequence, developers usually perform the repairing task in ad hoc ways, without tool support at the architectural level. This fact may lead developers to spend a long time to discover how to repair the architectural violations and even to introduce new violations when repairing one. In view of such circumstances, this thesis proposes an architectural repair recommendation system that provides fixing guidelines for developers and maintainers when tackling architectural erosion. We have formalized a catalog of repairing recommendations to repair violations raised by static architecture conformance checking approaches; we have elaborated a suitable module heuristic to determine the correct module for source code entities; we have designed a toolcalled ArchFixthat triggers the proposed recommendations; and we have evaluated the application of our approach in two industrial-strength systems. For the first systema 21 KLOC open-source strategic management systemour approach indicated correct repairing recommendations for 31 out of 41 violations detected as the result of an architecture conformance process. For the second systema 728 KLOC customer care system used by a major telecommunication companyour approach triggered correct recommendations for 632 out of 787 violations, as asserted by the systems architect. Moreover, the architects scored 80% of these recommendations as having moderate or major complexity.pt_BR
dc.description.resumoErosão arquitetural é um problema recorrente enfrentado por arquitetos de software. Embora um grande número de técnicas de conformidade arquitetural tenham sido propostas para detectar violações arquiteturais (por exemplo, modelos de reflexão, matrizes de dependência estrutural, linguagens de consulta em código fonte, linguagens de restrição, linguagens de descrição arquitetural e testes de desenho), a tarefa de reparação de violações arquiteturais ainda não tem o suporte adequado. Como consequência direta, desenvolvedores costumam corrigir violações arquiteturais de forma ad hoc e ainda sem o auxílio de ferramentas no nível arquitetural. Isso pode fazer com que desenvolvedores gastem um tempo considerável para descobrir como reparar as violações arquiteturais ou mesmo introduzam novas violações ao reparar violações existentes. Diante disso, esta tese propõe um sistema de recomendação de reparação arquitetural que provê diretrizes de correção para desenvolvedores e arquitetos encarregados de reverter processos de erosão arquitetural. Formalizou-se um catálogo de recomendações de reparação para corrigir violações detectadas por abordagens estáticas de conformidade arquitetural; elaborou-se uma heurística para determinar o módulo correto para entidades de código-fonte; desenvolveu-se uma ferramenta chamada ArchFix que automatiza as recomendações propostas; e avaliou-se a aplicabilidade da abordagem em um sistema de médio porte e em um sistema de grande porte. Para o primeiro sistema um sistema de gestão estratégica de 21 KLOC a abordagem proposta indicou reparações corretas para 31 das 41 violações detectadas pelo processo de conformidade arquitetural. Para o segundo sistema um sistema de atendimento a clientes de 728 KLOC utilizado por uma empresa de telecomunicações nacional a abordagem proposta sugeriu recomendações corretas de acordo com o arquiteto do sistema para 632 das 787 violações. Além disso, os arquitetos apontaram 80% dessas recomendações como tendo complexidade moderada ou alta.pt_BR
dc.languagePortuguêspt_BR
dc.publisherUniversidade Federal de Minas Geraispt_BR
dc.publisher.initialsUFMGpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectSistema de recomendaçãopt_BR
dc.subjectReparação arquiteturalpt_BR
dc.subjectErosão arquiteturalpt_BR
dc.subject.otherSistemas de recomendaçãpt_BR
dc.subject.otherSoftware Desenvolvimentopt_BR
dc.subject.otherComputaçãopt_BR
dc.subject.otherEngenharia de softwarept_BR
dc.titleUm sistema de recomendação para reparação de erosão arquitetural de software = A recommendation system for repairing software architecture erosionpt_BR
dc.typeTese de Doutoradopt_BR
Appears in Collections:Teses de Doutorado

Files in This Item:
File Description SizeFormat 
ricardoterra.pdf2.6 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.