DSpace/Manakin Repository

Habilitando a checagem estática de conformidade arquitetural de software em evolução.

Mostrar registro simples

dc.creator.ID BITTENCOURT, R. A. pt_BR
dc.creator.Lattes http://lattes.cnpq.br/6148546666142551 pt_BR
dc.contributor.advisor1 GUERRERO, Dalton Dario Serey.
dc.contributor.advisor1ID GUERRERO, D. D. S. pt_BR
dc.contributor.advisor1Lattes http://lattes.cnpq.br/2050632960242405 pt_BR
dc.contributor.advisor2 MURPHY, Gail Cecile.
dc.contributor.advisor2ID MURPHY, G. C. pt_BR
dc.contributor.referee1 SAUVÉ, Jacques Phillipe.
dc.contributor.referee2 MASSONI, Tiago Lima.
dc.contributor.referee3 KULESZA, Uira.
dc.contributor.referee4 VALENTE, Marco Túlio de Oliveira.
dc.description.resumo A técnica dos modelos de reflexão é um processo de checagem de conformidade entre visões arquiteturais modulares e implementação que permite prevenir e remediar o envelhecimento de software através do combate à deterioração arquitetural. Contudo, o esforço manual necessário para aplicar a técnica pode terminar evitando seu uso na prática, especialmente no contexto de evolução de software em processos de desenvolvimento leves. Em termos mais específicos, a técnica é custosa para: i) produzir um modelo de alto nível e o mapeamento entre as entidades do código-fonte e este modelo; ii) manter tanto o modelo como o mapeamento atualizados à medida que o software evolui; e Ui) analisar a normalmente longa lista de violações arquiteturais no código fonte. Este trabalho procura habilitar a checagem de conformidade estática de software em evolução através da automação parcial do esforço manual para aplicar a técnica de modelos de reflexão. Para fazê-lo, primeiramente é avaliado o potencial de técnicas de agrupamento para a geração e manutenção de modelos de alto nívei. Também é proposta e avaliada uma técnica de mapeamento incremental entre entidades do código-fonte e modelos de alto nível baseada na combinação da recuperação de informação de vocabulário de software com dependências estruturais. Por fim, uma técnica de priorização baseada na história do software para recomendar as violações arquiteturais no código-fonte mais provavelmente relevantes do ponto de vista dos desenvolvedores de software é relatada e avaliada. Técnicas de agrupamento são avaliadas através de medidas de acurácia e estabilidade. Os resultados para quatro diferentes algoritmos de agrupamento mostram que nenhum deles consegue o melhor desempenho para todas as medidas, e que todos eles apresentam limitações para prover a geração automática de modelos de alto nível. Por outro lado, a avaliação sugere que a etapa de mapeamento da técnica de modelos de reflexão pode ser habilitada pela técnica proposta de mapeamento incremental automático que combina estrutura e vocabulário. Em dois estudos de caso, esta técnica obteve os maiores valores de medidaF em mudanças de código-fonte unitárias, pequenas ou grandes. Finalmente, a avaliação da técnica de priorização de violações mostra que, de cinco fatores estudados, a duração da violação e a co-locação da violação correlacionam bem com a relevância das violações. Os resultados sugerem que estes fatores podem ser usados para ordenar as violações mais provavelmente relevantes, com uma melhoria de pelo menos 57% em relação a uma linhabase de violações selecionadas aleatoriamente. A análise dos resultados sugere que a produção de modelos de alto nível para checagem estática de conformidade arquitetural pode ser auxi'iada por um processo semi-automático de recuperação arquitetural, e, à medida que o software evolui, por técnicas incrementais de agrupamento/mapeamento. Por outro lado, a análise dos resultados para a técnica de priorização sugere a eficácia de uma abordagem automatizada para a recomendação de violações arquiteturais a serem analisadas pelos desenvolvedore: do software. pt_BR
dc.publisher.country Brasil pt_BR
dc.publisher.department Centro de Engenharia Elétrica e Informática - CEEI pt_BR
dc.publisher.program PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO pt_BR
dc.publisher.initials UFCG pt_BR
dc.subject.cnpq Ciência da Computação. pt_BR
dc.title Habilitando a checagem estática de conformidade arquitetural de software em evolução. pt_BR
dc.date.issued 2012-02-29
dc.description.abstract The refíexion model technique is a static conformance checking technique to keep architecture module views and implementation conformant. It can either prevent or remedy software aging by combating architecture deterioration. However, the amount of manual effort to apply the technique may prevent its use in practice, especially in the context of software evolution in lightweight development methods. More specifically, it can be time-consuming and costly to: i) produce a high-level model and the mapping between source code entities and this model; ii) keep both model and mapping up-to-date as software evolves; and Ui) analyze the usual large number of architectural violations in the source code reported by the technique. This work tries to enable static conformance checking of evolving software by partially automating the manual effort to apply the refíexion model technique. To do so, the potential of clustering techniques to generate high-level models and keep them up-to-date is evaluated. It is also proposed and evaluated an incremental mapping approach between source code entities and high-level models based on the combination of information retrieval of software vocabulary and structural dependencies. Last, a prioritizing technique based on software history to recommend architectural violations in the source code most likely to be relevant to software developers is reported and evaluated. Clustering techniques are evaluated by measures of accuracy and stability, and results for four different clustering algorithms show that none of them performs best for ali measures, and that they are limited to provide fully automated generation of high-level models. On the other hand, evaluation suggests that the mapping step in the refíexion model technique can be enabled by the proposed incremental automated mapping technique that combines structure and vocabulary. In two case studies, the combined technique showed the highest F-measure values for both singleton, small and large source code changes. Finally, evaluation for the prioritizing technique shows that, from five studied factors, violation duration and violation co-location correlate well with violation relevance. Results suggest that these factors can be used to rank the violations most likely to be relevant, with an improvement of at least 57% against a baseline of randomly selected violations. Analysis of the results suggests that the producton of high-level models for static conformance checking can be aided by a semi-automated architecture recovery process, and, as software evolves, by incremental clustering/mapping techniques. On the other hand, analysis of the results for the prioritizing technique suggests the effectiveness of an automated approach to recommend architectural violations to bí analyzed by software developers. pt_BR
dc.date.accessioned 2018-08-03T17:58:25Z
dc.date.available 2018-08-03
dc.date.available 2018-08-03T17:58:25Z
dc.type Tese pt_BR
dc.subject Recuperação arquitetural - computação pt_BR
dc.subject Framework de recuperação de visões arquiteturais modulares pt_BR
dc.subject Recuperação de visões modulares pt_BR
dc.subject Agrupamento de software - avaliação pt_BR
dc.subject Evolução de software pt_BR
dc.subject Algoritmos de agrupamento - computação pt_BR
dc.subject Mapeamento incremental - computação pt_BR
dc.subject Modelos de reflexões revolucionários pt_BR
dc.subject Design suite pt_BR
dc.subject Checagem de conformidade pt_BR
dc.subject Desenvolvimento de software pt_BR
dc.subject Software em evolução pt_BR
dc.subject Software development pt_BR
dc.subject Architecture module views pt_BR
dc.subject Software evolution pt_BR
dc.rights Acesso Aberto pt_BR
dc.creator BITTENCOURT, Roberto Almeida.
dc.publisher Universidade Federal de Campina Grande pt_BR
dc.language por pt_BR
dc.title.alternative Enabling static architectural compliance checking of evolving software. pt_BR
dc.identifier.citation BITTENCOURT, Roberto Almeida. Habilitando a checagem estática de conformidade arquitetural de software em evolução. 2012. 235f. (Tese de Doutorado em Ciência da Computação), Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2012. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/1341 pt_BR


Arquivos deste item

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples

Buscar DSpace


Busca avançada

Navegar

Minha conta