• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 3
  • 1
  • Tagged with
  • 4
  • 4
  • 4
  • 3
  • 3
  • 3
  • 3
  • 3
  • 3
  • 3
  • 2
  • 2
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

[en] BLENDING AND REUSING RULES FOR ARCHITECTURAL DEGRADATION PREVENTION / [pt] COMPOSIÇÃO E REUSO DE REGRAS PARA PREVENÇÃO DA DEGRADAÇÃO ARQUITETURAL

ALESSANDRO CAVALCANTE GURGEL 29 January 2015 (has links)
[pt] Durante a manutenção de sistemas de software, os projetos arquiteturais podem se degradar através dos processos de erosão e descaracterização arquitetural. Estes processos estão usualmente entrelaçados e, consequentemente, sintomas de descaracterização arquitetural favorecem a manifestação posterior de sintomas de erosão e vice-versa. De fato, estudos empíricos recentes revelam que estes sintomas tendem a afetar os mesmos módulos de um sistema. Desta forma, arquitetos devem elaborar estratégias híbridas para uma prevenção simultânea de ambos os processos de degradação arquitetural. Embora as especificações de regras arquiteturais demandem um esforço considerável, estas são frequentemente similares em diversos projetos de uma mesma companhia ou de um mesmo domínio de aplicação. Essa dissertação descreve a linguagem específica de domínio TamDera para: (i) especificar estratégias de regras para permitir prevenção simultânea de ambos os processos de erosão e descaracterização arquitetural, e (ii) prover o reúso tanto hierárquico quanto composicional de regras de projetos em múltiplos contextos. Essa dissertação apresenta a avaliação empírica da linguagem em termos de provisão de suporte para descrição e reúso de regras de projeto em cinco projetos de software. O presente trabalho também apresenta um protótipo que suporta a utilização da linguagem para detecção de sintomas de degradação arquitetural.. Nossos resultados sugerem que arquitetos podem se beneficiar de abordagens que permitam a definição e reúso de regras híbridas para detectar ocorrências de ambos os processos de erosão e descaracterização arquitetural in diversos cenários. / [en] During the maintenance of software systems, their architecture often degrades through processes of architectural erosion and drift. These processes are often intertwined and, as a consequence, a given module in the code becomes the locus of both erosion and drift symptoms. Architects should elaborate strategies for detecting co-occurrences of both degradation symptoms. Strategies for enabling the detection of these symptoms are based on design rules. While the specification of design rules is time-consuming, they are often similar across different software projects. In this context, the contribution of this dissertation is threefold. First, it presents TamDera, an unified domain-specific language for: (i) specifying rule-based strategies to detect both erosion and drift symptoms, and (ii) promoting the hierarchical and compositional reuse of design rules across multiple contexts. Second, a tool implementation for supporting the language usage and rule enforcement is also presented in this dissertation. Third, we evaluated the language in supporting the description and reuse of design rules on five software projects. Our evaluation revealed that architects could be benefited by using TamDera to blend and reuse rules for detecting erosion and drift occurrences in multiple scenarios.
2

[en] PRIORITIZATION OF CODE ANOMALIES BASED ON ARCHITECTURE SENSITIVENESS / [pt] PRIORIZAÇÃO DE ANOMALIAS DE CÓDIGO SENSÍVEL A ARQUITETURA

ROBERTA LOPES ARCOVERDE 30 January 2015 (has links)
[pt] Um dos principais sintomas de declínio da qualidade arquitetural em projetos de software é a manifestação contínua de anomalias de código. Quando estas anomalias não são detectadas e removidas com antecedência, a capacidade de evoluir e manter estes sistemas pode ser comprometida, e, eventualmente, uma reestruturação completa de suas arquiteturas é inevitável. Apesar da existência de diversas técnicas e ferramentas para detecção automática de anomalias de código, a identificação de anomalias que efetivamente causam problemas arquiteturais é ainda uma tarefa desafiadora e não trivial. Ademais, estudos realizados no contexto desta dissertação ostraram que desenvolvedores tendem a refatorar mais frequentemente anomalias que não causam problemas arquiteturais. Em especial, percebeu-se que desenvolvedores priorizam a refatoração de elementos de código que não afetam a arquitetura dos sistemas, como métodos privados ou módulos internos de um componente arquitetural. Neste contexto, o presente trabalho propõe uma abordagem para priorização de anomalias de código. Esta abordagem é composta por heurísticas que exploram diferentes fatores para identificar e ordenar as anomalias detectadas de acordo com suas relevâncias arquiteturais. Tais fatores compreendem desde a quantidade de mudanças realizadas no código ao longo da evolução dos sistemas, até os papéis arquiteturais por ele desempenhados. Foi ainda implementada uma ferramenta para aplicar tais heurísticas de priorização automaticamente em projetos Java. A abordagem proposta foi avaliada em 4 projetos de software de diferentes domínios. Tal avaliação revelou que mantenedores de software poderiam ser beneficiados pelas recomendações de priorização produzidas pela ferramenta, de modo a investir seus esforços de refatoração na solução de problemas arquiteturalmente relevantes. / [en] The progressive manifestation of code anomalies in a software system is a key symptom of its architecture quality decline. When those anomalies are not detected and removed early, the maintainability of software projects can be compromised irreversibly, and, eventually, a complete redesign is inevitable. Despite the existence of many techniques and tools for code anomaly detection, identifying anomalies that are more likely to cause architecture problems remains a challenging task. In fact, studies performed in the context of this dissertation show that even when there is tool upport for detecting code anomalies, developers seem to invest more time refactoring those that are not related to architectural problems. Moreover, we also found that developers frequently prioritize refactoring of code elements that do not contribute to a better adherence to the intended software architecture. In this context, this dissertation proposes a prioritization approach for identifying which anomalies in a system implementation are more harmful to the architecture. The proposed approach is composed of heuristic strategies that exploit several software project factors to identify and rank code anomalies by their architecture relevance. These factors range from the change characteristics to the potential architecture roles of software modules. Furthermore, we implemented tool support for applying our prioritization approach in Java projects. We also evaluated the prioritization approach on 4 software projects from different application domains. Our evaluation revealed that software maintainers could benefit from the recommended rankings for identifying which code anomalies are harming architecture the most, helping them investing their refactoring efforts into solving the architecturally relevant problems.
3

[en] ON THE DETECTION OF ARCHITECTURALLY RELEVANT CODE ANOMALIES IN SOFTWARE SYSTEMS / [pt] DETECÇÃO DE ANOMALIAS DE CÓDIGO ARQUITETURALMENTE RELEVANTES EM SISTEMAS DE SOFTWARE

ISELA MACIA BERTRAN 29 January 2015 (has links)
[pt] Anomalias de código podem sinalizar a degradação da arquitetura de software. No entanto, a identificação de anomalias de código arquiteturalmente relevantes (ou seja, aquelas que implicam em deficiências arquiteturais) é particularmente difícil devido: (i) a falta de compreensão sobre a relação existente entre anomalias de código e degradação arquitetural, (ii) ao fato do processo de detecção de anomalias ter como foco somente o código fonte, sem considerar como ele se relaciona com sua arquitetura, e (iii) a falta de conhecimento sobre a confiabilidade das técnicas de detecção em revelar anomalias de código que são arquiteturalmente relevantes. Esta tese apresenta técnicas para identificar anomalias de código que são arquiteturalmente relevantes. Métricas sensíveis à arquitetura e estratégias de detecção foram definidas para superar as limitações das técnicas de detecção convencionais. Estas métricas e estratégias aproveitam rastros que podem ser estabelecidos entre as visões arquiteturais e a implementação dos sistemas. A tese também documenta padrões de anomalias de código (ou seja, relações recorrentes de anomalias) que estão relacionados com problemas arquiteturais. Uma ferramenta, chamada de SCOOP, foi desenvolvida para coletar as métricas sensíveis à arquitetura, aplicar as novas estratégias de detecção, e identificar os padrões de anomalias de código. Usando esta ferramenta, a técnica proposta foi avaliada em uma série de estudos empíricos, comparando sua acurácia com técnicas convencionais de detecção durante o processo de identificação de anomalias de código que são arquiteturalmente relevantes. / [en] Code anomalies can signal software architecture degradation. However, the identification of architecturally-relevant code anomalies (i.e. code anomalies that strongly imply architectural deficiencies) is particularly challenging due to: (i) lack of understanding about the relationship between code anomalies and architectural degradation, (ii) the focus on source code anomaly detection without considering how it relates to the software architecture, and (iii) lack of knowledge about how reliable these detection techniques are when revealing architecturally-relevant code anomalies. This thesis presents techniques for identifying architecturally-relevant code anomalies. Architecture-sensitive metrics and detection strategies were defined to overcome the limitations of conventional detection strategies. These metrics and strategies leverage traces that can be established between architectural views and system implementation. The thesis also documents code anomaly patterns (i.e. recurring anomaly relationships) that are strongly related to architectural problems. A tool, called SCOOP, was developed to collect the architecture-sensitive metrics, apply the new detection strategies, and identify the documented code anomaly patterns. Using this tool, we evaluated our technique in a series of empirical studies, comparing its accuracy with that of conventional detection techniques when identifying architecturally-relevant code anomalies.
4

[en] DETECTING ARCHITECTURALLY-RELEVANT CODE ANOMALIES ON MULTILANGUAGE SYSTEMS / [pt] DETECÇÃO DE ANOMALIAS DE CÓDIGO DE RELEVÂNCIA ARQUITETURAL EM SISTEMAS MULTILINGUAGEM

MANUELE DOS REIS FERREIRA 02 June 2015 (has links)
[pt] Estudos recentes mostram que os sistemas são desenvolvidos por pelo menos quatro linguagens. Ao utilizar estas linguagens, boas práticas de desenvolvimento também são diferentes. Estes aspectos de heterogeneidade dificultam a concepção de soluções que apoiem desenvolvedores na construção de sistema multilinguagem com qualidade. Em particular, diversas abordagens têm surgido nos últimos anos com o objetivo de auxiliar os analistas nas tarefas de compreensão e manutenção desses sistemas. Porém, ainda existe uma carência de abordagens com foco na detecção de anomalias de código em sistemas multilinguagem. Dessa forma, o objetivo desse trabalho é oferecer suporte a identificação de sintomas de degradação arquitetural através do uso de estratégias baseadas em métricas em sistemas multilinguagem. / [en] Recent studies show that the systems are designed with at least four languages. Using these languages, best practices to development are also different. These aspects of heterogeneity make it difficult to design solutions that support developers activities on developing of multi-language system with quality. In particular, several approaches have emerged with the aim to assist analysts in comprehension and maintaining systems. However, there is still a lack of approaches focused on detection of code anomaly on multi-language systems. Thus, the aim of this work is to support the identification of symptoms of architectural degradation through the use of metrics-based strategies on multi-language systems.

Page generated in 0.0394 seconds