Dissertações/Teses

Clique aqui para acessar os arquivos diretamente da Biblioteca Digital de Teses e Dissertações da UFBA

2019
Teses
1
  • IURI SANTOS SOUZA

  • Understanding Variability-Aware Smells in Software Product Lines
  • Orientador : EDUARDO SANTANA DE ALMEIDA
  • Data: 28/06/2019
  • Mostrar Resumo
  • Atualmente, existem várias técnicas e ferramentas para lidar com a variabilidade e elas foram aplicadas no desenvolvimento de sistemas altamente configuráveis, como linhas de produto de software (SPL). Essa configurabilidade pode ser obtida através de estruturas de código de variáveis usando técnicas como compilação condicional. No entanto, essa variabilidade de código adiciona novas dimensões de complexidade, como a compreensão do programa e a capacidade de manutenção do código, além de permitir novas possibilidades de cheiros de código. Os odores de código descrevem falhas de design ou decaimento no código-fonte. No entanto, a maioria dos cheiros relatados na literatura não consideram a variabilidade e não caracterizam adequadamente falhas de estruturas de código variáveis. Esta proposta de tese pretende investigar e caracterizar odores para sistemas altamente configuráveis desenvolvidos através da linguagem Java e modelagem de recursos. Propomos um conjunto de seis cheiros com consciência de variabilidade e investiga instâncias de cheiros bem como o impacto negativo dos cheiros propostos através de um conjunto de estudos empíricos para validar a evidência recolhida e a proposta destes cheiros. Os estudos empíricos relatados relataram um conjunto de evidências que confirmaram cinco dos seis cheiros cientes da variabilidade propostos. Além disso, entrevistas com desenvolvedores melhoraram o corpo de conhecimento dos cheiros propostos, apontando algumas possíveis razões para sua presença.

2
  • RAFAEL FREITAS REALE
  • Cognitiva e Dinâmica da Alocação de Recursos para Redes MPLS/DSTE

  • Data: 19/07/2019
  • Mostrar Resumo
  • A concorrência por recursos de redes necessita ser arbitrada de acordo com as característicasde cada aplicação ou serviço para fornecer uma forma satisfatória, transparente e com um custo aceitável de utilização para os usuários. O atendimento às requisições de recursos deforma dinâmica, ou seja, sem prévia alocação (agendamento) do recursos para as aplicações e serviços podem permitir o compartilhamento de destes visando uma melhor utilização da rede. Decorrente das heterogeneidade dos perfis de usuários, aplicações e serviços, o atendimento dinâmico às requisições de recursos tende a gerar uma concorrência dinâmica por recursos nas redes como um todo.  Os modelos de alocação de banda possuem os atributos que permitem a definição de classes de aplicações e o controle da distribuição dos recursos entre as classes de forma intuitiva.  Estes modelos podem ser alterados e/ou reconfigurados visando a otimização na utilização do recurso de forma a evoluir seus comportamentos em sintonia com o perfil de tráfego e requisitos de comunicação e dequalidade definido para rede.  A definição do comportamento na arbitração de recursos que reflita uma melhor eficiência dos requisitos de comunicação e de qualidade definidos para rede em um determinado perfil de tráfego é uma tarefa complexa.  Esta complexidade podetornar a intervenção humana como um ponto de falha.  De forma geral, sistemas de gerência cognitiva são indicados para lidar com tarefas complexas onde a intervenção humana possa ser um ponto de falha. Estes sistemas são capazes de autoconfigurar-se autonomicamente, em resposta a mudanças ou falhas, de acordo com políticas de negócio, especificadas pelos administradores.  Esta Tese propõe a orquestração cognitiva e dinâmica da alocação derecursos (largura de banda), baseado em BAM, para redes MPLS/DSTE.  Para tal, propões um novo modelo de alocação de banda GBAM  que generaliza os comportamentos dos modelo clássicos e permite novas combinações de estratégias de forma configurável em tempo de execução; e um arcabouço cognitivo (BAM Cognitivo) que aprende e orquestra dinamicamente o comportamento do GBAM em sintonia com o perfil de tráfego e requisitosde comunicação e de qualidade definidos para rede.

3
  • FLÁVIO GALVÃO CALHAU
  • Uma Estratégia Cognitiva de Recuperação de Redes Elétricas no Contexto do Smart Grid

  • Data: 02/08/2019
  • Mostrar Resumo
  • A reconfiguração das redes de distribuição de energia elétrica tem se tornado bastante atrativa devido ao processo de automatização e incorporação de dispositivos eletrônicos, que possibilitam manobras à distância. O processo de reconfiguração consiste em alterar a topologia da rede de distribuição através do fechamento ou abertura das chaves de interconexão. O processo de reconfiguração de redes de distribuição tem como objetivo apoiar o processo de decisão, planejamento e/ou controle em tempo real de operação de redes elétricas almejando a minimização de perdas ativas, balanceamento de carga e isolamento de falhas e melhoria nos níveis de tensão. A tarefa de gerenciar e tomar decisões de alterar a topologia da rede elétrica é uma tarefa bastante complexa devido à diversidade de possibilidades de configuração. Neste contexto, os sistemas de gerência autonômicos (Autonomic Management Systems - AMS) estão sendo investigados como uma solução exequível para o problema de reconfiguração de rede elétrica. Desta forma, espera-se que a intervenção humana na gerência possa ser substituída por soluções autonômicas geradas, de preferência, dinamicamente. Esta tese propõe o uso do Raciocínio Baseado em Casos (Case-Based Reasoning - CBR) acoplado ao algoritmo HATSGA para a rápida reconfiguração de grandes redes de distribuição de energia. A adequação e a escalabilidade da estratégia de reconfiguração baseado em CBR usando o algoritmo HATSGA são avaliados. A avaliação de desempenho indica que o algoritmo HATSGA calcula novas topologias de reconfiguração com um tempo computacional viável para grandes topologias de redes. A estratégia CBR procura soluções de reconfiguração gerenciais aceitáveis no banco de dados do CBR e, como tal, contribui para reduzir o número necessário de cálculos de reconfiguração usando o HATSGA. Isso sugere que o CBR pode ser aplicado com um algoritmo rápido de reconfiguração, resultando em uma estratégia de recuperação de redes mais eficiente, dinâmica e cognitiva.

2018
Teses
1
  • MARCELO MACHADO DE PINHEIRO
  • Network and Application Aware Orchestration (NAAO) for Cloud Computing

  • Data: 10/05/2018
  • Mostrar Resumo
  • This project proposes new Orchestration strategies based on Network and Application tiers awareness to accommodate the growing needs for Cloud Computing and its application. Commonly used orchestration strategies use CPU, RAM, Network, and storage attributes to allocate resources. The prototype of Network and Application Aware Orchestration (NAAO) is capable of orchestrating resources using, not only CPU, RAM and Network, but it also considers application tiers that are highly inter-dependent to each other. Those tiers are orchestrated as close as possible to provide the lowest latency between them. Three different strategies were developed: Aggressive, Aggregate, and Balanced. Each strategy can be applicable to meet different application latency, and response time SLAs. For each strategy, besides latency, VM migration and VM allocation time were measured. Each strategy is compared to commonly used orchestration strategy, and it is also compared against each other to understand the most suitable use case for each one. Aggregate and Aggressive strategies results can guarantee the lowest latency possible due to its behavior, whereas Balance has higher latency compared to these two, but very low latency when compared to commonly used orchestration. For Balanced and Aggregate, VM migration for 2-tier application occurs on average 14.51% and 22.82%, respectively, and it increases to 24.18% and 40.40% when 3-tier applications are used. On average, all three strategies have 4.04x higher VM allocation times when compared to commonly used orchestration. For all use cases tested in this dissertation, NAAO is able to achieve very low latency for highly inter-dependent applications (2 and 3 tiers), however it has impacts on VM migration and VM allocation time, which are tradeoffs of the proposed strategies.

2
  • THIAGO SOUTO MENDES
  • IDENTIFICAÇÃO E MONITORAMENTO INTERATIVO DE DÍVIDA TÉCNICA POR MEIO DA COMBINAÇÃO DE MÉTRICAS DE SOFTWARE E COMENTÁRIOS DE CÓDIGO FONTE

  • Orientador : MANOEL GOMES DE MENDONCA NETO
  • Data: 11/05/2018
  • Mostrar Resumo
  • O conceito de dívida técnica contextualiza o problema das tarefas de manutenção pendentes como um tipo de dívida que traz um benefício a curto prazo para o projeto, mas que poderão ter de ser pagas com juros mais tarde no processo de desenvolvimento. É comum que projetos de software incorram em dívidas durante o processo de desenvolvimento uma vez que em pequenas quantidades dívidas podem aumentar a produtividade a curto prazo. No entanto, sua presença traz riscos e dificuldades para a gestão de projetos de software. Métricas de software têm sido utilizadas na identificação automática de dívida técnica. Entretanto, essa utilização não é uma tarefa trivial, pois necessita de ferramental específico e depende de conhecimento de domínio, contexto, e linhas bases e modelos próprios para determinação de valores de limiares das métricas que indiquem uma dívida técnica. Estes modelos, muitos deles baseados na detecção de code smells, geram altas taxas de falsos positivos. Nos últimos anos, estudos também têm sido realizados utilizando análises dos comentários de código fonte como mais uma alternativa para a identificação automática de dívida técnica. Neste cenário, o presente trabalho tem como objetivo investigar as correlações existentes na combinação das informações de métricas e comentários no processo de identificação de dívida técnica. Na busca deste objetivo, foram realizadas as seguintes atividades: (i) um mapeamento sistemático da literatura para identificar os principais tipos de dívida técnica existentes, seus respectivos indicadores, e estratégias para seu gerenciamento; (ii) estudos para entender problemas causados por diferentes tipos de dívida, principalmente as dívidas de código, de projeto e de documentação; (iii) estudos para definir uma estratégia de identificação de dívida técnica por meio da combinação de métricas e comentários de código; e (iv) desenvolvimento de duas ferramentas: a primeira para minerar repositórios de software, calcular métricas, detectar code smells, identificar dívida técnica por meio da combinação de diferentes indicadores e a segunda que utiliza técnicas visuais para apoiar a identificação e o monitoramento da evolução de dívida técnica baseado nos resultados dos estudos que foram realizados; e (v) um estudo exploratório com três softwares com o objetivo de verificar as relações existentes entre métricas e comentários na identificação de dívida técnica. Os resultados dos estudos mostram que os comentários podem ser utilizados com uma complementação da informação gerada a partir das métricas, para auxiliar os gerentes de projeto na identificação e priorização das dívidas a serem pagos.

3
  • TASSIO FERREIRA VALE
  • Trace2vary: um novo algoritmo para recuperar rastreamentos de código de recurso SPL

  • Orientador : EDUARDO SANTANA DE ALMEIDA
  • Data: 19/10/2018
  • Mostrar Resumo
  • Na área de Linhas de Produto de Software (LPS), rastreabilidade refere-se ao relacionamento entre artefatos de software através de links capazes de responder perguntas específicas em famílias de produtos e dos processos de desenvolvimento atrelados a estas. Rastreabilidade é ainda mais complexa neste contexto se comparada ao desenvolvimento de sistemas simples (chamados single systems), por conta da necessidade de gerenciar a variabilidade dos produtos durante todas as fases do desenvolvimento. Esta tese investiga rastreabilidade em LPS e uma das suas contribuições é a evidência relacionada ao mapeamento sistemático da literatura, obtida a partir da análise de 62 estudos primários. Para esta área de pesquisa, um conjunto de aspectos foram analisados: principais objetivos, estratégias, domínios de aplicação, intensidade de pesquisa, desafios, rigor de pesquisa e relevância para a indústria. Os resultados do estudo de mapeamento indicam um conjunto de áreas que requerem pesquisa, dentre elas, o tema abordado neste trabalho que é a recuperação de rastreabilidade em LPS utilizando técnicas de recuperação de informação. Embora exista uma série de estudos que realizam tarefas de rastreabilidade com base em recuperação de informação no contexto de sistemas simples, nenhum destes menciona sua utilização no domínio de LPS. Consequentemente, outra contribuição deste trabalho envolve a avaliação de métodos de recuperação de informação aplicados como instrumentos de recuperação de rastreabilidade, uma vez que esta é uma prática exitosa no cenário de sistemas simples. A avaliação, realizada num formato de experimento controlado, aplicou cinco métodos de recuperação da informação distintos (classic vector, extended boolean, latent semantic indexing, neural network and BM25 ) em 41 projetos de sistemas ricos em variação, visando recuperar links entre features e arquivos de código-fonte. Os resultados experimentais identificaram limitações dos métodos relacionadas `a baixas taxas de precisão na recuperação, escalabilidade e incapacidade de recuperar informações relacionadas `a variabilidade. Considerando tais limitações, esta tese propõe trace2vary, um algoritmo de recuperação de rastreabilidade que cria links relevantes entre feature e código-fonte contendo informações relacionadas `a variabilidade da linha de produtos. Os resultados da avaliação com 16 projetos reais com um total de aproximadamente 61 milhões de linhas de código apontam que existem melhorias nas taxas de precisão dos links gerados, e o algoritmo é capaz de oferecer informações sobre variabilidade tanto no nível de feature, quanto no nível de código fonte.

SIGAA | STI/SUPAC - - | Copyright © 2006-2020 - UFBA