• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • 1
  • Tagged with
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 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] IDENTIFICATION AND REFACTORING OF DESIGN PROBLEMS IN SOFTWARE SYSTEMS / [pt] IDENTIFICAÇÃO E REFATORAÇÃO DE PROBLEMAS DE PROJETO EM SISTEMAS DE SOFTWARE

WILLIAN NALEPA OIZUMI 27 October 2022 (has links)
[pt] Sistemas impactados por Problemas de Projeto (PPs) podem se tornar difíceis de manter e evoluir. A identificação de PPs pode ocorrer por meio de múltiplos sintomas, tais como code smells. Após tal identificação, pode-se remover os PPs por meio de refatorações. No entanto, decidir onde e como refatorar é uma tarefa desafiadora. Assim, técnicas de recomendação de refatoração têm sido propostas. Apesar disso, ainda há pouco consenso sobre quais requisitos devem ser atendidos por elas. Nesta tese, estamos propondo quatro requisitos empiricamente identificados que tais técnicas devem seguir. Primeiro, cada PP geralmente está relacionado a vários tipos de sintomas no código-fonte e eles devem ser considerados juntos para gerar recomendações. Além disso, uma técnica de recomendação deve permitir a seleção de contextos específicos para refatoração. Quarto, também deve-se considerar as funcionalidades modificadas para criar recomendações úteis. Finalmente, os desenvolvedores nem sempre conduzem as refatorações mais eficazes na prática, muitas vezes inconscientemente, resultando na remoção incompleta de PPs. Assim, eles precisam de assistência para remover os PPs. Existem apenas técnicas que atendem parcialmente aos requisitos mencionados. Sendo assim, nós propomos a técnica OrganicRef. OrganicRef destina-se a ajudar os desenvolvedores na remoção de PPs em seus contextos de interesse. OrganicRef encontra as funcionalidades dos elementos de código usando um algoritmo de modelagem de tópicos. Em seguida, ele coleta múltiplos tipos de sintomas que afetam os elementos do código. Para recomendar refatorações, OrganicRef combina heurísticas baseadas em regras e baseadas em funcionalidades. OrganicRef também aplica otimização baseada em busca para derivar várias recomendações possíveis. Para avaliar o OrganicRef, realizamos um estudo experimental com seis projetos de software. Os resultados mostraram que as recomendações do OrganicRef melhoram significativamente a qualidade dos elementos refatorados. / [en] Software projects impacted by Design Problems (DPs) may become difficult to maintain and evolve. The identification of DPs may occur through symptoms such as code smells. After such identification, developers can remove the DPs through refactorings. However, deciding where and how to refactor is a challenging task. Thus, several refactoring recommendation techniques have been proposed. Nevertheless, there is still little consensus on which requirements must be satisfied by them. In this thesis, we are proposing four empirically identified requirements that any DP removal technique should follow. First, each single DP is usually related with multiple types of symptoms in the source code and they should be considered altogether for generating recommendations. Second, a recommendation technique should allow the selection of possible candidate contexts for refactoring. Fourth, the technique should consider the features of undergoing changes to create useful recommendations. Finally, developers do not always conduct the most effective refactorings in practice, quite often unconsciously, resulting in the incomplete removal of DPs. Thus, they need assistance to remove DPs. There are techniques partially fulfilling the aforementioned requirements, though none satisfactorily meets them all. Thus, we propose the OrganicRef technique. OrganicRef is intended to help developers in removing DPs in their contexts of interest. OrganicRef finds the contexts by capturing the features affecting relevant code elements using a topic modeling algorithm. Then, it collects multiple symptom types affecting the code elements. To recommend effective refactorings, OrganicRef combines rulebased and feature-driven heuristics. It also uses search-based optimization to derive multiple possible recommendations. To evaluate OrganicRef, we conducted an empirical study with six open source projects. Results showed that OrganicRef recommendations significantly improves the design of refactored elements.
2

[en] MODULARITY AND STABILITY ASSESSMENT OF IMPLEMENTATION TECHNIQUES FOR MULTI-AGENT SYSTEMS PRODUCT LINES / [pt] AVALIAÇÃO DA MODULARIDADE E ESTABILIDADE DE TÉCNICAS DE IMPLEMENTAÇÃO PARA LINHAS DE PRODUTOS DE SISTEMAS MULTI-AGENTES

CAMILA PATRICIA BAZILIO NUNES 15 September 2017 (has links)
[pt] Uma Linha de Produtos de Sistemas Multi-agentes (LP-SMA) define uma arquitetura de linha de produto de software (LPS) cujo projeto e implementação são realizados usando agentes de software para compreender features comuns e variáveis. O desenvolvimento de LP-SMA pode ser feito através de plataformas específicas de SMA e técnicas de implementação. Exemplos de tais técnicas são: frameworks orientados a objetos, compilação condicional, arquivos de configuração e programação orientada a aspectos (POA). Todavia, os estudos empíricos existentes não focam na abordagem de LP-SMA, considerando diferentes técnicas de implementação e plataformas específicas de desenvolvimento de SMA. Nesse contexto, este trabalho apresenta uma comparação sistemática de diferentes técnicas de implementação de variabilidades de features de agentes no domínio de LP-SMA. Esta comparação sistemática envolveu o uso de duas plataformas de desenvolvimento de SMA (JADE e Jadex) e das técnicas de implementação: compilação condicional, arquivos de configuração e POA. Neste estudo, um conjunto de métricas de software foram utilizadas para avaliar atributos de qualidade, tais como modularidade e estabilidade. Para a realização deste estudo, duas LP-SMAs foram desenvolvidas. A primeira foi a LP-SMA do Expert Committee, uma linha de produto de sistemas de gerenciamento de conferências. A segunda foi a LP-SMA OLIS, que provê diversos serviços pessoais para os usuários. Os dados coletados durante a realização dos estudos empíricos permitiram o relato de um conjunto de lições aprendidas. / [en] A Multi-agent System Product Line (MAS-PL) defines a Software Product Line (SPL) architecture whose design and implementation are accomplished using software agents to address its common and variable features. The MAS-PL development can be performed through MAS specific platforms and implementation techniques. Examples of such techniques are: object-oriented frameworks, conditional compilation, configuration files and aspect-oriented programming (AOP). However, the existing empirical studies do not focus on MAS-PL approach, considering different implementation techniques and MAS specific platforms. In this context, this work presents a systematic comparison of different variability implementation techniques of agent features in the MAS-PL domain. This systematic comparison involved the use of two platforms of MAS development (JADE and Jadex) and implementation techniques conditional compilation, configuration files and AOP. In this study, a suite of software metries were used to evaluate quality attributes, such as modularity and stability. In order to perform this study, two MAS-PLs were developed. The first one was the Expert Commitee MAS-PL, a product line of conference management systems. The second one as the OLIS MAS-PL, which provides several personal services to the users. The collected data during the accomplished empirical studies allowed to report a set of lessons learned.

Page generated in 0.0484 seconds