Mining architectural violations from version history

dc.creatorCristiano Amaral Maffort
dc.date.accessioned2019-08-11T07:36:06Z
dc.date.accessioned2025-09-09T00:09:53Z
dc.date.available2019-08-11T07:36:06Z
dc.date.issued2014-10-09
dc.description.abstractSoftware architecture conformance is a key software quality control activity that aims to reveal the progressive gap normally observed between concrete and planned software architectures. However, formally specifying software architectures is not a trivial task, as it must be done by an expert on the system under analysis. In this thesis, we present an approach for architecture conformance based on a combination of static and historical source code analysis. The proposed approach relies on four heuristics for detecting both absences (something expected was not found) and divergences (something prohibited was found) in source code based architectures. We also present an architecture conformance process based on the proposed approach. We followed this process to evaluate the architecture of two industrial-strength information systems, when 539 architectural violations were detected, with an overall precision of 62.7% and 53.8%. We also evaluated our approach in two open-source systems, when 345 architectural violations were detected, achieving an overall precision of 53.3% and 59.2%. Additionally, this thesis presents an exploratory study on the application of a data mining technique called frequent itemset mining, which was used to detect architectural patterns using static and historical information extracted from source code. Furthermore, the detected architectural patterns are used to identify absences and divergences in the code. We evaluated the proposed approach in an industrialstrength information system, founding 137 architectural violations, with an overall precision of 41.2%.
dc.identifier.urihttps://hdl.handle.net/1843/ESBF-9Q3HZK
dc.languageInglês
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.subjectComputação
dc.subjectEngenharia de software
dc.subjectSoftware Verificação
dc.subject.otherMineração de repositórios de software
dc.subject.otherArquitetura de software
dc.subject.otherConformidade
dc.subject.otherarquitetural
dc.subject.otherAnálise estática
dc.subject.otherErosão arquitetural
dc.titleMining architectural violations from version history
dc.typeTese de doutorado
local.contributor.advisor-co1Mariza Andrade da Silva Bigonha
local.contributor.advisor1Marco Tulio de Oliveira Valente
local.contributor.referee1Mariza Andrade da Silva Bigonha
local.contributor.referee1Alessandro Fabricio Garcia
local.contributor.referee1Claudia Maria Lima Werner
local.contributor.referee1Eduardo Magno Lages Figueiredo
local.contributor.referee1Ricardo Terra Nunes Bueno Villela
local.description.resumoVericação de conformidade arquitetural é uma atividade chave para controle da qualidade de sistemas de software, tendo como ob jetivo central revelar diferenças entre aarquitetura concreta e a arquitetura planejada de um sistema. Entretanto, esp ecicar a arquitetura de um software p o de ser uma tarefa difícil, já que ela deve ser realizadap or um esp ecialista no sistema, o qual deve ter um profundo entendimento sobre ele. Nesta tese de doutorado, prop õ e-se uma nova ab ordagem para vericação de conformidade arquitetural baseada na combinação de técnicas de análise estática e histórica decó digo fonte. Para isso, a ab ordagem prop osta utiliza atualmente quatro heurísticas para detectar ausências e divergências presentes no có digo fonte de sistemas orientados por ob jetos. A ab ordagem prop osta tamb ém inclui um pro cesso iterativo para vericação de conformidade arquitetural, o qual foi utilizado para avaliar a arquiteturade dois sistemas de informação de grande p orte, para os quais a ab ordagem prop osta foi capaz de identicar 539 violaçõ es, com precisão de 62,7% e 53,8%. Além disso, a também foram avaliados dois sistemas open-source, para os quais foram identicadas344 violaçõ es, com precisão de 51,2% e 59,2%. Nesta tese de doutorado apresenta-se tamb ém um estudo exploratório da apli-cação de uma técnica de mineração de dados, chamada mineração de itens frequentes, a qual é utilizada para detectar padrõ es arquiteturais a partir de informaçõ es estáticas e históricas extraídas do có digo fonte. A ab ordagem prop osta utiliza os padrões arquiteturais detectados para selecionar ausências e divergências no có digo fonte de sistemas. Avaliou-se a ab ordagem prop osta em um sistema de informação de grande porte, para o qual foram detectadas 137 violaçõ es arquiteturais, com precisão global de 41,2%.
local.publisher.initialsUFMG

Arquivos

Pacote original

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