Dissertações/Teses

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

2024
Dissertações
1
  • ISRAEL NASCIMENTO MATOS
  • Reconstituição Temporal de Dados na Internet das Coisas usando Redes Neurais: Uma comparação com métodos clássicos de interpolação

  • Orientador : CASSIO VINICIUS SERAFIM PRAZERES
  • MEMBROS DA BANCA :
  • CASSIO VINICIUS SERAFIM PRAZERES
  • CLEBER JORGE LIRA DE SANTANA
  • RICARDO ARAUJO RIOS
  • Data: 31/01/2024

  • Mostrar Resumo
  • Atualmente, vive-se na era do Big Data, na qual instrumentos científicos ultramodernos, redes e mídias sociais, bem como dispositivos da IoT geram e transmitem diariamente pela Internet enormes quantidades de dados. No contexto da IoT, emerge um novo paradigma para mitigar a sobrecarga no envio de tantos dados à nuvem. Assim, em contraste com a computação em nuvem, vem sendo cada vez mais adotado a computação em névoa, com a maior parte do processamento e armazenamento de dados realizado na borda da rede por gateways. Nesse cenário, em ambientes nos quais os sensores coletam informações a cada segundo, por exemplo, em vez de se enviar cada uma das medidas para nuvem, o gateway adota uma estratégia de agregação de dados antes de transmiti-los. No entanto, dado que diversas aplicações requerem os dados conforme originalmente medidos pelos dispositivos, e considerando que a nuvem possui maior capacidade para atender um maior número de clientes em comparação aos gateways, o cenário ideal implica na capacidade da nuvem de reconstituir o histórico dos dados e fornecê-los a essas aplicações. Este trabalho propõe investigar a capacidade da rede neural perceptron de reconstituir o histórico dos dados dos sensores por meio de interpolação, a partir dos valores agregados enviados à nuvem. Uma vez que os dispositivos da IoT são limitados em recursos, o estudo também compara a rede neural perceptron desenvolvida com os algoritmos clássicos de interpolação, a fim de avaliar a eficiência e a eficácia entre os métodos. Para atingir esse objetivo, duas redes neurais foram desenvolvidas, a primeira na borda da rede, que aprende o comportamento dos dados dos sensores no tempo, enquanto a segunda rede neural localizada na nuvem realiza a interpolação a partir dos dados agregados enviados e do modelo gerado pela rede neural da borda. Os resultados obtidos indicam que mesmo uma arquitetura relativamente simples de rede neural como a perceptron pode realizar a interpolação dos dados IoT com uma considerável margem de precisão. Quando comparada com os algoritmos clássicos de interpolação, analisando critérios como Tempo e o EQM, a rede perceptron demonstra-se estatisticamente tão eficaz quanto os métodos classicos, mas menos eficiente no tempo de interpolação. Em síntese, este estudo contribui para a compreensão das possibilidades e limitações da aplicação de redes neurais na reconstituição temporal de dados da IoT e aponta a necessidade de avaliar a mesma comparação com o uso de outras arquiteturas de redes neurais, como por exemplo, a rede neural LSTM.


  • Mostrar Abstract
  • Currently, we live in the era of Big Data, in which cutting-edge scientific instruments, networks, social media, as well as Internet of Things (IoT) devices generate and transmit enormous amounts of data daily through the internet. In the context of IoT, a new paradigm emerges to mitigate the overload in sending such data to the cloud. Thus, in contrast to cloud computing, fog computing is increasingly being adopted, with most of the data processing and storage being performed at the network edge by gateways. In this scenario, in environments where sensors collect information every second, for example, instead of sending each measurement to the cloud, the gateway adopts a data aggregation strategy before transmitting them. However, since various applications require data as originally measured by the devices, and considering that the cloud has greater capacity to serve a larger number of clients compared to gateways, the ideal scenario implies the cloud's ability to reconstruct the data history and provide it to these applications. This work proposes to investigate the capacity of the \textit{perceptron} neural network to reconstruct sensor data history through interpolation from the aggregated values sent to the cloud. Since \ac{IoT} devices are resource-constrained, the study also compares the perceptron neural network developed with classical interpolation algorithms to evaluate the efficiency and effectiveness between the methods. To achieve this goal, two neural networks were developed: the first at the network edge, which learns the behavior of sensor data over time, while the second neural network located in the cloud performs interpolation based on the aggregated data sent and the model generated by the edge neural network. The results obtained indicate that even a relatively simple neural network architecture like the perceptron can perform \ac{IoT} data interpolation with a considerable margin of accuracy. When compared to classical interpolation algorithms, considering criteria such as time and Mean Squared Error (MSE), the perceptron network proves to be statistically as effective as classical methods but less efficient in interpolation time. In summary, this study contributes to understanding the possibilities and limitations of applying neural networks in the temporal reconstruction of \ac{IoT} data and highlights the need to evaluate the same comparison with the use of other neural network architectures, such as Long Short-Term Memory (LSTM) neural networks.

2
  • EDER PEREIRA DOS SANTOS
  • Dívida técnica em projetos ágeis: Investigando o ponto de vista dos profissionais de gerenciamento de projetos adeptos ao Stack Exchange

  • Orientador : MANOEL GOMES DE MENDONCA NETO
  • MEMBROS DA BANCA :
  • EDUARDO MANUEL DE FREITAS JORGE
  • JOSÉ AMÂNCIO MACEDO SANTOS
  • MANOEL GOMES DE MENDONCA NETO
  • Data: 16/02/2024

  • Mostrar Resumo
  • A Dívida Técnica (DT) pode oferecer benefícios de curto prazo para projetos de software, mas sua presença pode levar à diminuição da qualidade do produto. Embora a literatura recente tenha proposto várias abordagens para identificar e gerenciar a Dívida Técnica de Desenvolvimento Ágil de Software (DT-DAS), a maioria delas analisa o ponto de vista dos desenvolvedores de software. No entanto, existe uma lacuna no conhecimento sobre como os profissionais de gerenciamento de projetos percebem e lidam com os itens de DT-DAS. O objetivo deste estudo é investigar como os praticantes de gerenciamento de projetos discutem e enfrentam itens da DT em suas atividades profissionais. Para atingir esse objetivo, foi realizada uma análise de 108 discussões relacionadas à DT-DAS no site de perguntas e respostas Stack Exchange Project Management (SEPM). Essas discussões totalizaram 547 postagens e 882 comentários de texto, fornecendo uma boa visão do tema. A análise foi conduzida utilizando métodos quantitativos e qualitativos, empregando a codificação aberta para identificar tipos de DT e indicadores. O estudo identificou 74 indicadores utilizados para reconhecer itens de DT-DAS, 126 práticas de gestão de DT e 9 tipos de DT. As discussões mais frequentes no SEPM sobre dívida técnica concentram-se em dois tipos processo e pessoas, diferindo dos estudos anteriores com desenvolvedores, que costumavam focar em itens de dívida de código e design. Além disso, o Product Owner e Development Team são os papeis mais envolvidos com a DT-DAS. Sprint Backlog e Sprint Planning são os elementos ágeis mais afetados pela DT-DAS. Os profissionais de gerenciamento de projetos usuário do SEMP adotam uma perspectiva distinta dos desenvolvedores ao analisar a DT. Os indicadores e práticas de gestão da DT foram estruturados em um diagrama de Sankey, proporcionando uma ferramenta valiosa para orientar a gestão da DT e orientar futuras pesquisas sobre o assunto.


  • Mostrar Abstract
  • Technical Debt (TD) can provide short-term benefits for software projects, but its presence can lead to decreased product quality. Although recent literature has proposed several approaches to identify and manage Agile Software Development Technical Debt (TD-ASD), most of them look at the point of view of software developers. However, there is a gap in knowledge about how project management professionals perceive and deal with TD-ASD items. The objective of this study is to investigate how project management practitioners discuss and face TD items in their professional activities. To achieve this objective, an analysis of 108 discussions related to TD-ASD was carried out on the Stack Exchange Project Management (SEPM) question and answer website. These discussions totaled 547 posts and 882 text comments, providing a good overview of the topic. The analysis was conducted using quantitative and qualitative methods, employing open coding to identify types of TD and indicators. The study identified 74 indicators used to recognize TD-ASD items, 126 TD management practices and 9 types of TD. The most frequent discussions in SEPM about technical debt focus on two types of process and people, differing from previous studies with developers, which tended to focus on code and design debt items. Furthermore, the Product Owner and Development Team are the roles most involved with TD-ASD. Sprint Backlog and Sprint Planning are the agile elements most affected by TD-ASD. Project management professionals who use SEMP adopt a different perspective than developers when analyzing TD. TD management indicators and practices were structured in a Sankey diagram, providing a valuable tool to guide ID management and guide future research on the subject.

3
  • TAIJARA LOIOLA DE SANTANA
  • Análise de Bugs em Projetos Jupyter Notebooks: Um Estudo Experimental

  • Orientador : EDUARDO SANTANA DE ALMEIDA
  • MEMBROS DA BANCA :
  • LEONARDO GRESTA PAULINO MURTA
  • CLAUDIO NOGUEIRA SANT ANNA
  • EDUARDO SANTANA DE ALMEIDA
  • RODRIGO ROCHA GOMES E SOUZA
  • TAYANA UCHÔA CONTE
  • Data: 01/03/2024

  • Mostrar Resumo
  • Uma das novas tecnologias que vem impulsionando a ciência de dados são os Notebooks

    Computacionais, que permitem aos usuários construir códigos orientados a dados, enfa-
    tizando a análise realizada e os dados obtidos. Apesar dos Notebooks computacionais

    ganharem visibilidade, problemas e soluções já discutidos e estudados pela engenharia
    de software precisam ser abordados, impactando a qualidade do software desenvolvido
    e, consequentemente, a análise de dados. Isso também pode levar à disseminação de
    práticas de programação inadequadas. Notebooks computacionais, como o Jupyter, têm
    sido amplamente adotados por cientistas de dados para escrever código para análise e
    visualização de dados. Apesar de sua crescente adoção e popularidade, poucos estudos
    foram encontrados para compreender os desafios de desenvolvimento do Jupyter do ponto
    de vista dos praticantes. Este estudo apresenta uma investigação sistemática de bugs e
    desafios que os praticantes do Jupyter enfrentam por meio de uma investigação empírica
    em larga escala. Mineramos 14.740 commits de 105 projetos de código aberto do GitHub
    com código de cadernos Jupyter. Em seguida, analisamos 30.416 postagens no Stack
    Overflow, que nos deram insights sobre bugs que os praticantes enfrentam ao desenvolver

    projetos de cadernos Jupyter. Finalmente, conduzimos dezenove entrevistas com cien-
    tistas de dados para descobrir mais detalhes sobre os bugs do Jupyter e obter insights

    sobre os desafios dos desenvolvedores do Jupyter. Propomos uma taxonomia de bugs
    para projetos Jupyter com base em nossos resultados. Também destacamos categorias
    de bugs, suas causas raiz e os desafios que os praticantes do Jupyter enfrentam.


  • Mostrar Abstract
  • One of the new technologies driving data science projects is Computational Notebooks,
    which allow users to build data-oriented codes, emphasizing the data collected and the
    analysis performed. Although Computational Notebooks have gained visibility, some

    problems and solutions already discussed and studied by the software engineering com-
    munity must be addressed, impacting the quality of the developed software and, conse-
    quently, data analysis. In addition, neglecting these aspects can lead to the spread of bad

    programming practices. Computational Notebooks, such as Jupyter, have been widely
    adopted by data scientists to write code for analyzing and visualizing data. Despite their

    growing adoption and popularity, few studies are available to understand Jupyter devel-
    opment challenges from the practitioners’ point of view. This dissertation systematically

    studies bugs and challenges that Jupyter practitioners face through a large-scale empiri-
    cal investigation. We mined 14,740 commits from 105 GitHub open-source projects with

    Jupyter Notebook code. Next, we analyzed 30,416 Stack Overflow posts, which gave us
    insights into bugs that practitioners face when developing Jupyter Notebook projects.
    Finally, we conducted nineteen interviews with data scientists to uncover more details
    about Jupyter bugs and to gain insight into Jupyter developers’ challenges. We propose a
    bug taxonomy for Jupyter projects based on our results. We also highlight bug categories,
    their root causes, and Jupyter practitioners’ challenges.

Teses
1
  • ALEX SILVA SANTOS
  • POLÍTICAS DE ALOCAÇÃO DE RECURSOS EM SITUAÇÃO DE DESASTRE 

  • Orientador : GUSTAVO BITTENCOURT FIGUEIREDO
  • MEMBROS DA BANCA :
  • BRUNO PEREIRA DOS SANTOS
  • GUSTAVO BITTENCOURT FIGUEIREDO
  • HELDER MAY NUNES DA SILVA OLIVEIRA
  • MAYCON LEONE MACIEL PEIXOTO
  • RODRIGO IZIDORO TININI
  • Data: 29/01/2024

  • Mostrar Resumo
  • As redes ópticas elásticas (EON) permitem a transmissão de grande volume de dados através de múltiplos canais com diferentes granularidades de espectro. Entretanto, a disponibilidade de recursos das redes EON pode ser severamente impactada por conges- tionamento, desastres naturais ou ataques provocados pelo homem. Para lidar com estas restrições de recursos, o operador da rede precisa fazer escolhas sobre qual caminho de luz será servido pela rede. A tomada de decisão deve levar em consideração os requisitos das diferentes Classes de Serviço (CoS), bem como a possibilidade da degradação do ser- viço, fornecendo largura de banda inferior à solicitada ou ajustando o instante de tempo do estabelecimento do canal óptico, para adaptar o provisionamento da rede quando os recursos ópticos são insuficientes. Nesta tese de doutorado, abordam-se problemas rela- cionados com a escassez de recursos e sobrevivência em Redes Ópticas Elásticas. Foram desenvolvidas e validadas estratégias pelo menos tão eficientes quanto as estratégias exis- tentes na literatura: um algoritmo que considera um modelo de Qualidade de Serviço (QoS) proporcional e informações de camadas superiores para decidir qual caminho óptico a ser degradado no provisionamento, visando reduzir o impacto da indisponibilidade de recursos em aplicações sensíveis a atrasos e largura de banda; um algoritmo que utiliza uma técnica híbrida de tomada de decisão multicritério para selecionar as requisições a serem provisionadas; um algoritmo para selecionar caminhos ópticos a serem restaurados após desastres; um algoritmo que visa reduzir a fragmentação do espectro em Redes Ópti- cas Elásticas alocando novas requisições em caminhos que produzam menor fragmentação de espectro após a alocação. Alguns dos algoritmos propostos possuem uma abordagem de decisão multicritério que considera CoS, largura de banda, número de saltos e tempo de conclusão. Além disso, a degradação do serviço também é considerada para caminhos ópticos que não podem ser restaurados com largura de banda total. 


  • Mostrar Abstract
  • Elastic optical networks (EON) allow the transmission of large volumes of data through multiple channels with different spectrum granularities. However, the resource availability of EON networks can be severely impacted by congestion, natural disasters or human- made attacks. To deal with these resource constraints, the network operator needs to make choices about which lightpath will be served by the network. The Decision-making process must take into account requirements of the different Classes of Service (CoS), as well as the possibility of service degradation, providing lower bandwidth than reques- ted or adjusting the time instant of establishing the ligthpath, to adapt the network provisioning when optical resources are insufficient. In this doctoral thesis, problems related to the scarcity of resources and survival in Elastic Optical Networks are addres- sed. Strategies that were at least as efficient as existing strategies in the literature were developed and validated: an algorithm that considers a proportional Quality of Service (QoS) model and information from higher layers to decide which lightpath to be degra- ded in provisioning process, aiming to reduce the impact the unavailability of resources in applications sensitive to delays and bandwidth; an algorithm that uses a hybrid multi- criteria decision-making technique to select requests to be provisioned; an algorithm for selecting lightpaths to be restored after disasters; an algorithm that aims to reduce spec- trum fragmentation in Elastic Optical Networks by allocating new requests on paths that produce less spectrum fragmentation after allocation. Some of the proposed algorithms have a multi-criteria decision approach that considers CoS, bandwidth, number of hops and completion time. Furthermore, service degradation is also considered for lightpaths that cannot be restored to full bandwidth. 

2
  • GLAUCYA CARREIRO BOECHAT
  • Uma Investigação sobre Análise de Sentimentos e Categorização de Issues Reabertas do GitHub

  • Orientador : MANOEL GOMES DE MENDONCA NETO
  • MEMBROS DA BANCA :
  • EMMANUEL SÁVIO SILVA FREIRE
  • GLAUCO DE FIGUEIREDO CARNEIRO
  • MANOEL GOMES DE MENDONCA NETO
  • MÁRIO ANDRÉ DE FREITAS FARIAS
  • RODRIGO ROCHA GOMES E SOUZA
  • Data: 08/03/2024

  • Mostrar Resumo
  •    A reabertura de issues representa um desafio significativo no desenvolvimento e manutenção de software, aumentando os custos e a complexidade dos esforços envolvidos. Essa ocorrência muitas vezes indica problemas não resolvidos ou mal compreendidos na comunicação entre os colaboradores do projeto e os usuários em plataformas como o GitHub.
    Esta tese tem como objetivo aprofundar a compreensão do conceito de reabertura de issues em repositórios de software de código aberto do GitHub, considerando dados históricos, categorização de issues e análise de sentimentos dos desenvolvedores presentes nas discussões associadas a essas issues.
       Nossa metodologia envolveu o uso da ferramenta SentiStrength-SE, adaptada para léxicos da área de Engenharia de Software, para calcular a polaridade e o sentimento nos textos das discussões relacionadas às issues. Em seguida, desenvolvemos um modelo de categorização automática de issues, classificando-as em categorias específicas, como banco de dados, configuração, desempenho, funcional, GUI, info, permissão/obsoleto, redes, segurança e testes. Essa abordagem permite uma priorização mais eficaz na resolução das issues reabertas, direcionando recursos de forma mais precisa. Por último, caracterizamos a reabertura de issues de acordo com os sentimentos dos desenvolvedores contidos nos textos das discussões em cada categoria de issue.
       Os resultados revelaram que a análise de sentimentos, quando aplicada isoladamente, não mostrou uma métrica eficaz para identificar reabertura de issues. No entanto, identificamos que certos tipos de categorias de issues estão mais propensos a problemas relacionados à reabertura. Isso aponta para a importância da categorização de issues em conjunto com a análise de sentimentos para uma abordagem mais eficiente na prevenção e tratamento das reabertura de issues em repositórios de software de código aberto.


  • Mostrar Abstract
  •     The reopening of issues represents a significant challenge in software development and maintenance, increasing the costs and complexity of the efforts involved. This occurrence often indicates unresolved or misunderstood issues in communication between project collaborators and users on platforms like GitHub.
       This thesis aims to deepen the understanding of issue reopenings in open-source GitHub software repositories, considering historical data, issue categorization, and sentiment analysis of developers involved in the associated discussions.
       Our methodology involved using the SentiStrength-SE tool, adapted for lexicons in the field of Software Engineering, to calculate polarity and sentiment in the texts of discussions related to issues. Subsequently, we developed an automated issue categorization model, classifying them into specific categories such as configuration, database-related, program anomaly, performance, functional, GUI-related, info, permission/deprecation, network, security, and testing. This approach enables more effective prioritization in resolving reopened issues, directing resources more accurately. Finally, we characterized issue reopenings based on the sentiments of developers expressed in discussions within each issue category.
      The results revealed that sentiment analysis, when applied in isolation, did not prove to be an effective metric for identifying issue reopenings. However, we identified that certain types of issue categories are more prone to problems related to reopening. This underscores the importance of combining issue categorization with sentiment analysis for a more efficient approach to preventing and addressing issue reopenings in open-source software repositories.

3
  • LUANA ALMEIDA MARTINS
  • Smart Prediction for Test Smell Refactorings

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • SILVIA REGINA VERGÍLIO
  • EDUARDO MAGNO LAGES FIGUEIREDO
  • IVAN DO CARMO MACHADO
  • MANOEL GOMES DE MENDONCA NETO
  • ROHIT GHEYI
  • Data: 26/03/2024

  • Mostrar Resumo
  • Os test smells são considerados más práticas durante o desenvolvimento do código de teste. Sua presença pode reduzir a qualidade do código de teste, prejudicando as atividades de teste e manutenção de software. A refatoração de software é uma prática fundamental para lidar com smells e melhorar a qualidade do software sem alterar seu comportamento. No entanto, as ferramentas de refatoração existentes visam o código de produção, com características muito diferentes do código de teste. Apesar do esforço da comunidade em investigar sobre refatorações de test smells, pouco se sabe se as refatorações atuais melhoram a qualidade do código de teste. Nesta proposta de tese, é apresentada uma abordagem baseada em aprendizado de máquina que pode ajudar os desenvolvedores a decidir quando e como refatorar os test smells. O primeiro objetivo é minerar as refatorações realizadas por desenvolvedores a fim de derivar um catálogo de refatorações de teste e seu impacto no código de teste. Como resultados, pôde-se perceber que os desenvolvedores têm preferência por recursos específicos dos frameworks de teste, o que pode levar a test smells como o Inappropriate Assertion e o Exception Handling. Enquanto as refatorações propostas na literatura alinhadas com a evolução dos frameworks de teste auxiliam na refatoração de test smells, o Inappropriate Assertion permanece inexplorado na literatura. O segundo objetivo é entender se os códigos de teste com baixa qualidade são alvos de refatoração pelos desenvolvedores e os efeitos das refatorações para a melhoria da qualidade. Como resultados, pôde-se observar que códigos de teste com baixa qualidade, em especial, em termos de métricas estruturais, possuem mais possibilidade de sofrer refatorações. Além disso, as refactorações comuns entre código de teste e produção ajudam a melhorar a qualidade do código de teste em relação a coesão, tamanho e complexidade, enquanto que, refatorações específicas de teste ajudam na melhoria da qualidade em relação a resolução de test smells. O terceiro objetivo é aprender com quando e como os desenvolvedores realizam refatorações teste com o potencial de corrigir os test smells. Os resultados indicam que a acurácia dos modelos, utilizando o algoritmo Support Vector Machines, varia entre 30% e 100% em diferentes projetos para a detecção de quando o desenvolvedor realizaria alguma refatoração no código. Porém, acurácia diminui para a detecção de refatorações específicas, devido a quantidade de refatorações encontradas nos projetos analisados. De modo geral, esta pesquisa mostra a viabilidade do uso de métricas e test smells para a detecção de refatorações de teste, evidenciando ainda a necessidade de melhorias por meio da análise de dados sintéticos e do contexto de desenvolvimento dos projetos. A abordagem proposta representa um passo promissor para apoiar a detecção e refatoração de test smells alinhadas às práticas de desenvolvimento atualmente adotadas pelos desenvolvedores.


  • Mostrar Abstract
  • Test smells are considered bad practices for developing the test code. Their presence can reduce the test code quality, thus harming software testing and maintenance activities. Software refactoring has been a key practice to handle smells and improve software quality without changing its behavior. However, existing refactoring tools target production code with very different characteristics than test code. Despite the research invested in test smell refactoring, little is known about whether current refactorings improve the test code quality. This thesis proposal presents our research to help developers decide when and how to refactor test smells through a machine learning-based approach. First, we aim to mine refactorings performed by developers to derive a catalog of test-specific refactorings and their impact on the test code. Our findings show that developers prefer specific features of the testing frameworks, which may lead to test smells such as Inappropriate Assertion and Exception Handling. While the refactorings proposed in the literature aligned with the evolution of testing frameworks to help refactor test smells, the Inappropriate Assertion remains unexplored in the literature. Second, we aim to understand whether developers target low-quality test codes to perform refactorings and the effects of refactorings on test code quality improvement. Our findings show that low-quality test code, especially regarding structural metrics, is more likely to undergo refactorings. Common refactorings between test and production code contribute more to improving test code quality in terms of cohesion, size, and complexity. Test-specific refactorings enhance quality concerning the resolution of test smells. Third, we aim to learn whether developers would perform refactorings and which refactorings they would apply to improve the test code quality. Results indicate that the accuracy of Support Vector Machines models varies between 30% and 100% in different projects for detecting when a developer would perform a refactoring. However, accuracy decreases for detecting specific refactorings due to the low data on test refactorings found in analyzed projects. Overall, this research demonstrates the feasibility of using structural metrics and test smells for detecting test refactorings. In addition, it highlights the need for improvements through the analysis of synthetic data and project development context. The proposed approach represents a promising step towards supporting the detection and refactoring of test smells aligned with development practices currently adopted by developers.

4
  • ELIDIANE PEREIRA DO NASCIMENTO
  • FRB-BlinGui: Um Modelo Baseado em Regras Fuzzy para Previsão de Riscos de Colisão com Obstáculos em Apoio a Pessoas com Deficiência Visual.

  • Orientador : TATIANE NOGUEIRA RIOS
  • MEMBROS DA BANCA :
  • KAMILA RIOS DA HORA RODRIGUES
  • MANOEL CARVALHO MARQUES NETO
  • RICARDO ARAUJO RIOS
  • TATIANE NOGUEIRA RIOS
  • VANINHA VIEIRA DOS SANTOS
  • Data: 02/04/2024

  • Mostrar Resumo
  • É possível observar na literatura que diversas abordagens são desenvolvidas para a navegação segura e orientação de pessoas com deficiência visual, visando evitar colisões com obstáculos. Essas abordagens frequentemente utilizam sensores ultrassônicos ou infravermelhos, aplicativos móveis com o auxílio de câmeras para visão computacional ou dispositivos vestíveis. No entanto, as incertezas e imprecisões decorrentes da dinâmica do ambiente muitas vezes são negligenciadas, tornando a navegação e orientação para pessoas com deficiência visual inseguras e sujeitas a vários tipos de colisões com diversos tipos de obstáculos. Diante dessa situação, surge a necessidade de desenvolver abordagens que considerem o grau de risco de colisão apresentado por cada obstáculo, considerando a dinâmica no deslocamento entre o indivíduo e o obstáculo, bem como a sua localização em pontos altos ou baixos de difícil percepção. Nesse contexto, a Teoria de Conjuntos Fuzzy (TCF) apresenta-se como um ferramental essencial para lidar com a imprecisão e as incertezas existentes no ambiente, uma vez que o uso de sistemas baseados na TCF possui a vantagem da interpretação intuitiva do comportamento do usuário. Sendo assim, esta tese apresenta um modelo inovador para detecção de obstáculos e previsão de riscos de colisões em cenários dinâmicos, denominado FRB-BlinGui (Modelo de navegação e orientação cega baseado em regras fuzzy). O modelo proposto foi testado em um dispositivo vestível para detectar obstáculos e prevenir colisões em tempo real, oferecendo alertas graduais sobre os riscos. Os resultados mostram sua eficácia ao fornecer alertas, prometendo melhorar a segurança e mobilidade de pessoas com deficiência visual.


  • Mostrar Abstract
  • It is possible to observe in the literature that several approaches are developed for safe navigation and orientation of people with visual impairments, aiming to avoid collisions with obstacles. These approaches often use ultrasonic or infrared sensors, mobile applications with cameras for computer vision, or wearable devices. However, uncertainties and inaccuracies resulting from the dynamics of the environment are often overlooked, making navigation and orientation for people with visual impairments insecure and subject to various types of collisions with different types of obstacles. Faced with this situation, there is a need to develop approaches that consider the degree of collision risk presented by each obstacle, the dynamics in the displacement between the individual and the obstacle, and its location at high or low points of complex perception. In this context, the fuzzy set theory (FST) presents itself as an essential tool for dealing with the imprecision and uncertainties existing in the environment since the use of systems based on FST has the advantage of intuitively interpreting user behavior. Thus, this thesis presents an innovative obstacle detection and collision risk prediction model called FRB-BlinGui in dynamic scenarios. The proposed model was tested on a wearable device to detect obstacles and prevent collisions in real time, offering gradual alerts about risks. The results show its effectiveness in providing alerts, promising to improve the safety and mobility of people with visual impairments.

2023
Dissertações
1
  • PEDRO HENRIQUE BATISTA DIAMANTINO
  • Visual Analytics no Apoio à Exploração Visual de Dívidas Técnicas em Repositórios de Softwares

  • Orientador : DANILO BARBOSA COIMBRA
  • MEMBROS DA BANCA :
  • DANILO BARBOSA COIMBRA
  • MANOEL GOMES DE MENDONCA NETO
  • DANIEL GARCIA FEITOSA
  • Data: 26/01/2023

  • Mostrar Resumo
  • O uso crescente de tecnologias digitais ocasionam uma produção e consumo de dados em larga escala em todo o mundo. Consequentimente, há uma grande demanda por técnicas de análise computacional que auxiliem os usuários a obter uma melhor compreensão dos dados. Um desafio inerente a esse contexto é analisar grande volume de dados complexos e heterogêneos, como os concebidos por repositórios de software. Áreas como Visualização de Software e Visual Software Analytics têm se tornado cada vez mais usadas para apoiar os desenvolvedores na compreensão do software, fornecendo um panorama visual de todo o processo de desenvolvimento. Essas representações gráficas fornecem extração de informações úteis, especialmente para manutenção do sistema ao analisar dívidas técnicas. Embora os repositórios sejam compostos em sua maioria por conjuntos de dados multidimensionais, faltam trabalhos que apliquem visualizações multidimensionais para identificar e rastrear tipos distintos de dívidas técnicas.
    Nesse sentido, a proposta apresenta a ferramenta Visual Debts Analytics, uma abordagem baseada em Visual Analytics composta por múltiplas visualizações multidimensionais coordenadas para a análise de diferentes grupos de dívidas técnicas em repositórios de software. Em particular, a técnica proposta visa identificar e rastrear a correlação, estrutura, evolução e semelhanças de dívidas técnicas em repositórios de software de código aberto. Para avaliar nossa abordagem, apresentamos estudos de caso em dois repositórios que demonstram uma melhor compreensão do ciclo de vida do projeto, permitindo extrair novos insights e informações.


  • Mostrar Abstract
  • The increasing access to digital technologies leads to a large-scale data production and consumption worldwide. Consequently, there is a high demand for computing analysis techniques that help users to obtain a better understanding of data. An inherent challenge in this context is to analyze large volume of complex and heterogeneous datasets, such as conceived by software repositories. Areas such as Software Visualization and Visual Software Analytics have become increasingly used to support developers in software comprehension by providing a visual panorama of the entire software development process. Those graphical representations enable useful information extraction, especially for system maintenance when analyzing technical debts. Although repositories are mostly composed of multidimensional datasets, there is a lack of works that apply multidimensional visualizations to identify and track distinct groups of technical debts. In this sense, the proposal presents the Visual Debts Analytics tool, an approach based on Visual Analytics consisting of multiple coordinated multidimensional visualizations for the analysis of different groups of technical debts in software repositories. In particular, the proposed technique aims to identify and track the correlation, structure, evolution and similarities of technical debts in open-source software repositories. To evaluate our approach we presented case studies in two different repositories that demonstrate the a better comprehension in the project life cycle, enabling insights into the project quality.

2
  • ERINALDO SANTOS OLIVEIRA
  • Um Modelo para Avaliar a Eficácia do Uso de Projetos FLOSS no Ensino de Engenharia de Software: Uma Proposta baseada em Análise de Conteúdo

  • Orientador : CHRISTINA VON FLACH GARCIA CHAVEZ
  • MEMBROS DA BANCA :
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • LAIS DO NASCIMENTO SALVADOR
  • ROBERTO ALMEIDA BITTENCOURT
  • Data: 31/03/2023

  • Mostrar Resumo
  • Contexto: A  demanda crescente da indústria de software por profissionais qualificados coloca em evidência a importância e necessidade de valorização da Educação em Engenharia de Software (EES) na formação de egressos dos cursos superiores da área de Computação. Educadores são desafiados continuamente a acompanhar as tendências emergentes na área, a identificar técnicas adequadas e incorporá-las em suas disciplinas de engenharia de software, de modo a promover o desenvolvimento de habilidades e competências que garantam aos egressos dos cursos da área de Computação uma formação que concilie o aprendizado de conceitos, processos, técnicas e ferramentas proporcionado no ambiente acadêmico com as necessidades e melhores práticas da indústria de software. Projetos de Software Livre/Código Aberto (FLOSS) trazem uma oportunidade para que estudantes e professores de cursos de graduação possam trabalhar o conteúdo da disciplina de engenharia de software em projetos realistas, que trazem uma experiência de mundo real próxima das exigências do mundo do trabalho. Problema: Um dos desafios associados ao uso de FLOSS na EES é como o educador pode avaliar o projeto escolhido como recurso de ensino e aprendizagem, bem como sua eficácia para o objetivo pedagógico proposto pela atividade ou disciplina. Torna-se relevante o uso de métodos ou modelos de avaliação que permitam ao docente mensurar e avaliar os resultados provenientes da sua escolha, de acordo com as exigências de aprendizagem necessárias após a conclusão da atividade ou disciplina. Objetivo: Este trabalho propõe a criação de um modelo para avaliar a eficácia do uso de projetos FLOSS no ensino da disciplina de Engenharia de Software. O modelo proposto será baseado no mapeamento de critérios de avaliação que serão estruturados de forma a facilitar a análise sobre o alcance dos objetivos pedagógicos planejados para o componente curricular. Método de Pesquisa: Por meio da Análise de Conteúdo, pretende-se identificar competências e habilidades técnicas e sociotécnicas mais relevantes para a disciplina de Engenharia de Software, segundo as principais diretrizes curriculares do Brasil e do exterior, e investigar aspectos de interferência tanto técnicas quanto pedagógicas, do uso de projetos FLOSS no ensino da disciplina de engenharia de software. Com base nestas informações, pretende-se definir os critérios de avaliação e, por meio de um diálogo teórico, identificar suas relações para propor um modelo de avaliação da eficácia do uso de projetos FLOSS no ensino de Engenharia de Software. Contribuições Esperadas: O uso de métodos para avaliar projetos FLOSS na EES mostra-se uma solução viável para o desenvolvimento real de competências e habilidades associadas a aspectos teóricos e práticos da engenharia de software, importantes na formação de profissionais das diversas vertentes da área de Computação. O uso de métodos para avaliar projetos FLOSS na EES pode estimular a inserção dos educadores no ecossistema de FLOSS, além de oferecer novas formas de avaliação aos que reconhecem e adotam tais projetos em sala de aula. 


  • Mostrar Abstract
  • Context: The software industry's growing demand for qualified professionals highlights the importance and need for valuing Education in Software Engineering in the training of graduates from higher education courses in the area of Computing. Educators are continually challenged to keep up with emerging trends in the area, to identify appropriate techniques and incorporate them into their software engineering disciplines, in order to promote the development of skills and competences that guarantee graduates of courses in the area of Computing an education that reconciles the learning of concepts, processes, techniques and tools provided in the academic environment with the needs and best practices of the software industry. Free, Libre and Open Source software projects provide an opportunity for students and professors of undergraduate courses to work on the content of the software engineering discipline in realistic projects, which bring a real-world experience close to the demands of the world of work. Problem: One of the challenges associated with the use of FLOSS in the EES is how the educator can evaluate the chosen project as a teaching and learning resource, as well as its effectiveness for the pedagogical objective proposed by the activity or discipline. It is relevant to use evaluation methods or models that allow the professor to measure and evaluate the results from his choice, according to the learning requirements necessary after the conclusion of the activity or discipline. Objective: This work proposes the creation of a model to evaluate the effectiveness of using FLOSS projects in the teaching of Software Engineering. The proposed model will be based on the mapping of evaluation criteria that will be structured in order to facilitate the analysis of the scope of the pedagogical objectives planned for the curricular component. Research Methods: Through Content Analysis, the aim is to identify the most relevant technical and sociotechnical skills and abilities for the Software Engineering discipline, according to the main curricular guidelines in Brazil and abroad, and to investigate aspects of interference, both technical and pedagogical, of the use of FLOSS projects in teaching the discipline of software engineering. Based on this information, it is intended to define the evaluation criteria and, through a theoretical dialogue, identify their relationships to propose a Model for evaluating the effectiveness of the use of FLOSS projects in the teaching of Software Engineering. Expected Contributions: The use of methods to evaluate FLOSS projects in the EES can stimulate the insertion of educators in the FLOSS ecosystem, in addition to offering new forms of evaluation to those who recognize and adopt such projects in the classroom, a solution to the real development of skills and abilities associated with theoretical and practical aspects of software engineering, important in the training of professionals from the various areas of the Computing area.

3
  • Levy Marlon Souza Santiago
  • Gifflar: um Framework para Geração de Contratos Inteligentes em Tempo de Execução

  • Orientador : FABIOLA GONCALVES PEREIRA GREVE
  • MEMBROS DA BANCA :
  • FABIOLA GONCALVES PEREIRA GREVE
  • RODRIGO ROCHA GOMES E SOUZA
  • ALEX BORGES VIEIRA
  • Data: 18/04/2023

  • Mostrar Resumo
  • Blockchain é uma tecnologia disruptiva que permite transações diretas entre entidades distribuídas sem a necessidade de uma terceira parte confiável, oferecendo uma rede descentralizada segura. Contratos inteligentes (SmCs) são códigos executáveis hospedados na blockchain e permitem a implementação de aplicações descentralizadas, em diferentes domínios. Devido à complexidade de construção dos SmCs, é necessário buscar formas de facilitar e tornar robusto esse processo de desenvolvimento inovador. Muitos projetos da literatura propuseram soluções baseadas em geração automática de código a partir de uma modelagem de alto nível, como diagramas. Porém, esta abordagem traz consigo uma constante necessidade de uma pessoa para modelar os contratos e realizar o processo de compilação e implantação. Esta dissertação de mestrado apresenta o Gifflar, um framework para geração automática de código de SmC em tempo de execução, que permite a um sistema escrever, compilar e implantar SmCs numa rede blockchain com uma aplicação ainda em execução, o que reduz a frequente precisão do desenvolvedor de SmC e possibilita automatizar ainda mais o processo de desenvolvimento de SmC. Uma das suas principais ferramentas é uma biblioteca estruturada em componentes que implementam padrões de projeto para melhor definir a responsabilidade de cada uma dessas partes. A biblioteca Gifflar oferece uma API que permite ao desenvolvedor modelar, gerar códigos e gerenciar os SmCs através de métodos que abstraem até certo nível o código do SmC utilizando o JSON como modelo para a geração de código. Em complemento, foram realizadas duas avaliações para validar o projeto: (i) uma avaliação de usabilidade da biblioteca do Gifflar e (ii) uma avaliação conceitual de aplicação do Gifflar em outros projetos. Até onde se sabe, este framework é um dos primeiros a permitir gerar SmCs dinamicamente em tempo de execução, assim contribuindo para o estado da arte ao abordar um novo paradigma, onde os sistemas podem atuar como desenvolvedores de contratos inteligentes.


  • Mostrar Abstract
  • Blockchain is a disruptive technology that offers a secure decentralized network, and allows for direct transactions between distributed entities, without the need for a trusted third party. Smart contracts (SmC) are executable codes hosted on the blockchain and enable the implementation of several decentralized applications, in different domains. However, due to the complexity of SmC construction, it is necessary to seek ways to facilitate and make this innovative development process robust. Many projects in the literature proposed solutions based on automatic code generation from high-level modeling, such as diagrams. However, this approach brings with it a constant need for a person to model the contracts. This paper presents Gifflar, a framework for generating SmC code on the fly, in such a way that it allows a system to write, compile and implement blockchain SmCs with an application still running, which reduces the frequent precision of the SmC developer and allows to further automate the SmC development process. One of the main tools is a component-structured library that implements design patterns to better define the responsibility of each of these parts. The Gifflar library offers an API that allows the developer to model, generate code and manage SmCs through methods that abstract to a certain level the SmC code using the JSON as a model to the code generation. In addition, project evaluations were carried out to validate the project: (i) a usability evaluation of the Gifflar library and (ii) a conceptual evaluation of Gifflar's application in other projects. As far as we know, this framework is one of the first to allow dynamically generating SmCs on the fly, thus contributing to the state of the art by approaching a new paradigm, where systems can act as smart contract developers.

4
  • Ibirisol Fontes Ferreira
  • Algoritmos de Roteamento Multicast Orientados a Justiça para Aplicações Distribuidas Interativas Usando COmputação na Borda

  • Orientador : GUSTAVO BITTENCOURT FIGUEIREDO
  • MEMBROS DA BANCA :
  • GUSTAVO BITTENCOURT FIGUEIREDO
  • TIAGO DE OLIVEIRA JANUARIO
  • MAYCON LEONE MACIEL PEIXOTO
  • JOSE AUGUSTO SURUAGY MONTEIRO
  • Data: 27/04/2023

  • Mostrar Resumo
  • Enfrentar os desafios dos serviços de rede na borda, como o roteamento considerando a Qualidade de Serviço, é uma questão crucial para os atuais esforços de pesquisa na área de redes. O roteamento multicast é uma técnica essencial para entregar serviços de roteamento com alto nível de otimização sob a perspectiva das operadoras e provedores de aplicações quando há grupos de usuários.
    Além disso, o roteamento considerando restrições de latência tem obstáculos para mesclar diferentes condições na solução, principalmente quando há uma perspectiva de equidade a ser realizada na comunicação dos usuários. Este trabalho visa lidar com este requisito de justiça no multicasting, apresentando soluções eficientes para aumentar o equilíbrio no roteamento através da escolha de melhores opções de caminhos para interação justa do grupo.


  • Mostrar Abstract
  • Facing the challenges of network services on the edge, such as routing considering quality of service, is a crucial issue for the current research efforts in the area of network. Multicast routing is an essential technique for delivering routing services with a high level of optimization from the perspective of operators and application providers when there are user groups.
    Furthermore, the routing that considers latency constraints has obstacles to merging different conditions in the solution, mainly when there is a fairness perspective to be accomplished in the users' communication. This work aims to deal with this fairness requirement in multicasting, showing efficient solutions to increase the equilibrium in the routing by choosing better path options for fair group interaction.

5
  • Caiza Almeida Fortunato
  • ATAM-4SAS: Um método para avaliar atributos de qualidade em sistemas autoadaptativos

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • LUCIANA LOURDES SILVA
  • CARLA ILANE MOREIRA BEZERRA
  • IVAN DO CARMO MACHADO
  • Data: 04/05/2023

  • Mostrar Resumo
  • Sistemas autoadaptativos podem monitorar a si mesmos e ao seu contexto. Eles podem detectar mudanças e reagir à condições inesperadas com o mínimo de supervisão humana durante a sua execução. Um dos desafios por trás do desenvolvimento de sistemas autoadaptativos é lidar com o processo de tomada de decisão durante a análise dos pontos de \textit{tradeoff} dentre os múltiplos atributos de qualidade (QA). Em Engenharia de Software, um método amplamente aceito de avaliação das metas de QA em projetos de software é o Método de Análise de \textit{Tradeoffs} Arquiteturais, amplamente conhecido como ATAM. Entretanto, apesar de sua importância e ampla aceitação, há poucos relatos de estudos empíricos sobre a análise de \textit{tradeoffs} de QA em sistemas autoadaptativos. Neste sentido, a presente investigação propõe uma versão adaptada do ATAM chamada ATAM-4SAS para lidar com as particularidades de sistemas de software autoadaptativos. Para alcançar o objetivo da pesquisa, empregamos o UPPAAL SMC (modelo de verificação estatística) para analisar um conjunto de QA. Para avaliar a viabilidade do método proposto, realizamos um estudo empírico sobre a execução do ATAM-4SAS em um sistema autoadaptativo desenvolvido conforme o modelo MAPE-K. Este modelo engloba as fases de Monitoramento, Análise, Planejamento e Execução. Tais etapas compartilham uma base de conhecimento (K), fundamental no apoio à tomada de decisões. A avaliação empírica foi complementada com a realização de um grupo focal, que buscou avaliar a facilidade de uso percebida e a utilidade percebida do ATAM-4SAS para apoiar a escolha estratégica de QA em um sistema autoadaptativo. Como resultado, obervamos que maioria dos participantes concordou que o ATAM-4SAS provê o devido suporte para a escolha estratégica dos QA em sistemas autoadaptativos. 


  • Mostrar Abstract
  • Self-adaptive Systems (SAS) can monitor themselves and their context. They can detect changes and react to unexpected conditions with minimal human supervision during their execution. One of the challenges behind developing SAS is dealing with the decision-making process while analyzing the tradeoff points among the multiple quality attributes (QA). In Software Engineering, a widely accepted method of evaluating QA goals in software projects is the Architecture Tradeoff Analysis Method (ATAM). However, despite its importance and wide acceptance, there are few reports of empirical studies on analyzing QA tradeoffs in SAS. In this sense, the present investigation proposes an adapted version of ATAM called ATAM-4SAS to deal with the particularities of SAS. To achieve the research goal, we employed the UPPAAL SMC (statistical verification model) to analyze a set of QA. To evaluate the feasibility of the proposed method, we performed an empirical study on the execution of the ATAM-4SAS in a SAS developed according to the MAPE-K model. This model encompasses the Monitoring, Analysis, Planning, and Execution phases. Such steps share a knowledge base (K), which is fundamental in supporting decision-making. We complemented the empirical evaluation by conducting a focus group, which sought to assess the perceived ease of use and the perceived usefulness of the ATAM-4SAS to support the strategic choice of QA in a SAS. As a result, we observed that most participants agreed that ATAM-4SAS provides adequate support for the strategic choice of QA in SAS.

6
  • RENATA DE SOUSA SANTOS
  • Process Smell 2.0: Um catálogo de Bad Smells para processo de software utilizando BPMN

  • Orientador : RITA SUZANA PITANGUEIRA MACIEL
  • MEMBROS DA BANCA :
  • ANA PATRICIA FONTES MAGALHÃES MASCARENHAS
  • CLAUDIO NOGUEIRA SANT ANNA
  • RITA SUZANA PITANGUEIRA MACIEL
  • Data: 04/05/2023

  • Mostrar Resumo
  • Um processo de software explicitamente especificado aprimora a qualidade do produto
    gerado, pois a especifica ̧c ̃ao direciona o caminho e passos a serem seguidos para que o
    software desenvolvido alcance a qualidade almejada pelo projeto. O processo de software

    evolui juntamente `as necessidades da organiza ̧c ̃ao e dos profissionais que o utilizam,e pre-
    cisa ser continuamente monitorado e avaliado para manter sua qualidade. Para avaliar

    um processo de software utiliza-se, comumente de simula ̧c ̃oes ou dados obtidos ap ́os uma

    execu ̧c ̃ao. Entretanto, em ambos os casos ́e dif ́ıcil prever problemas no processo de soft-
    ware em um determinado projeto de desenvolvimento antes de uma ou mais execu ̧c ̃oes.

    Diante disso,Process Smells foram propostos para possibilitar que problemas no design
    de processos de software pudessem ser identificados antes destes serem executados. A
    presen ̧ca de um Process Smell poder ́a ter um impacto negativo na qualidade do processo
    afetando assim a qualidade do produto de software. Inicialmente Process Smells foram
    especificados utilizando-se a nota ̧c ̃ao Software Process Specification Metamodel (SPEM).

    Apesar do SPEM ser uma linguagem para o dom ́ınio da modelagem de processos, Busi-
    ness Process Model and Notation (BPMN) tem sido utilizada largamente para processos

    de forma geral, com alta popularidade tanto no mercado e academia, neste sentido a espe-
    cifica ̧c ̃ao de um novo cat ́alogo pode permitir que process smells sejam compreendidos de

    forma independente de dom ́ınio de linguagem. Ainda no contexto de melhoria de processo,
    da mesma forma que o SPEM, embora o BPMN seja usado para melhorar o entendimento

    de um processo, a especifica ̧c ̃ao de um processo pode ser feita de forma inadequada, fe-
    rindo os fatores necess ́arios para a qualidade de um processo de software. Neste contexto,

    esta pesquisa teve como objetivo especificar um cat ́alogo de Process Smells para apoiar a
    identifica ̧c ̃ao de anomalias em processos de software especificado com BPMN a partir da
    proposta de (SANTOS; MACIEL; SANT’ANNA, 2018). Inicialmente, os Process Smells
    foram especificados em BPMN, originando assim um novo cat ́alogo com 8 Process Smells,
    o Process Smells 2.0. A especifica ̧c ̃ao foi avaliada por trinta e dois profissionais atrav ́es
    de um estudo de entrevista, que indicou que o novo cat ́alogo proposto de Process Smells
    foi aceito por estes profissionais. Atrav ́es dos resultados obtidos neste estudo foi poss ́ıvel
    verificar que a proposta de identificar smells independente do dom ́ınio de linguagem faz
    sentido, bem como a segunda etapa do estudo se mostrou mais convergente em rela ̧c ̃ao ao
    SPEM. Espera-se que a especifica ̧c ̃ao do cat ́alogo possa apoiar a identifica ̧c ̃ao de Process
    Smells em processo de software modelados usando BPMN, de forma a indicar os pontos
    onde o processo pode ser melhorado, antes mesmo da sua primeira execu ̧c ̃ao, evitando

    problemas que afetam negativamente os atributos de qualidade do processo. Adicional-
    mente, espera-se que o novo cat ́alogo possa ampliar a possibilidade de uso dos Process

    Smells.


  • Mostrar Abstract
  • An explicitly specified software process improves the quality of the generated product.
    The specification directs the path and steps to be followed so that the developed software
    reaches the quality desired by the project. The software process evolves along with the
    needs of the organization and the professionals who use it. It needs to be continuously

    monitored and evaluated to maintain its quality. To evaluate a software process, simula-
    tions or data obtained after execution are commonly used. However, in both cases, it is

    difficult to predict problems in the software process in a given development project before
    one or more executions. Therefore, Process Smells were proposed to enable problems in
    the design of software processes to be identified before they were executed. The presence
    of a Process Smell can negatively impact the quality of the Process, thus affecting the

    quality of the software product. Initially, Process Smells were specified using the Soft-
    ware Process Specification Metamodel (SPEM) notation. Although SPEM is a language

    for the domain of process modeling, Business Process Model and Notation (BPMN) has
    been widely used for processes in general, with high popularity both in the market and
    academia. In this sense, the specification of a new catalog can allow Process smells to

    be understood independently of the language domain. Still, in the context of process im-
    provement, just like SPEM, although BPMN is used to improve the understanding of a

    process, the specification of a process can be done inappropriately, injuring the necessary
    factors for the quality of a process of software. In this context, this research aimed to
    specify a Process Smells catalog to support the identification of anomalies in software
    processes specified with BPMN based on the (SANTOS; MACIEL; SANT’ANNA, 2018)

    proposal. Initially, Process Smells were specified in BPMN, thus originating a new ca-
    talog with 8 Process Smells, Process Smells 2.0. Thirty-two professionals evaluated the

    specification through an interview study, which indicated that these professionals accep-
    ted the proposed new Process Smells catalog. The results obtained in this study made it

    possible to verify that the proposal to identify smells regardless of the language domain
    makes sense. The second stage of the study proved to be more concurrent with SPEM.
    The catalog specification is expected to support the identification of Process Smells in
    software processes modeled using BPMN to indicate the points where the Process can be
    improved, even before its first execution, avoiding problems that negatively affect process
    quality attributes. Additionally, the new catalog is expected to expand the possibility of
    using Process Smells.

7
  • Jamile de Barros Vasconcelos
  • AVALIAÇÃO EXPERIMENTAL DO USO DE ESTATÍSTICA DOS VALORES EXTREMOS NA DETERMINAÇÃO DE LIMITES DE TEMPOS DE EXECUÇÃO PARA PROJETO DE SISTEMAS DE TEMPO REAL

  • Orientador : GEORGE MARCONI DE ARAUJO LIMA
  • MEMBROS DA BANCA :
  • GEORGE MARCONI DE ARAUJO LIMA
  • TATIANE NOGUEIRA RIOS
  • VERONICA MARIA CADENA LIMA
  • Data: 30/05/2023

  • Mostrar Resumo
  • Sistemas de tempo real (RTS) são aqueles cujas ações estão sujeitas a restrições tempo- rais, definidas em termos de prazos de execução (deadlines). Um RTS crítico é usualmente  projetado para nunca deixar de cumprir seus deadlines, como é o caso dos sistemas aviônicos e espaciais. Para que isso aconteça, é fundamental que se saiba qual o tempo máximo que cada tarefa leva para executar nestes ambientes, parâmetro conhecido como
    Tempo de Execução no Pior Caso (WCET). Estimar o WCET de uma tarefa não é simples e, no caso das arquiteturas modernas, o mesmo está sujeito a imprevisíveis influências de diferentes elementos de hardware e software, que impedem a identificação de um valor absoluto de WCET. Uma das técnicas mais empregadas, nestes casos, é a Análise Temporal Probabilística Baseada em Medições (MBPTA), fundamentada em um ramo da estatística conhecido como Teoria dos Valores Extremos (EVT). Por meio da MBPTA-EVT pode-se inferir distribuições de probabilidade de pior caso e estimar WCET Probabilísticos (Probabilistic Worst Case Execution Time - pWCET). O presente trabalho visa realizar uma análise experimental do uso da EVT via MBPTA
    para inferência de pWCET, apresentando o processo de aplicação da técnica em um ambiente real RPi e expondo os desafios e falhas encontrados durante este processo; ponto raramente exposto pela literatura. Os resultados parciais apontam que EVT é robusta, mas que apresenta fragilidades pois nem sempre produz modelos adequados e resultados pWCET coerentes. O trabalho está inserido no contexto do projeto Kepler,
    uma cooperação entre a UFBA e o INRIA-Paris.


  • Mostrar Abstract
  • Real-time systems (RTS) are those whose actions are subject to time constraints, defined in terms of execution time deadlines. A hard RTS is usually designed to never miss a deadline, as in the case of avionics and space systems. To guarantee this it is essential to know the maximum time that each task takes to execute, a parameter known as Worst Case Execution Time (WCET). Estimating the WCET of a task is not simple and, in the case of modern architectures, it is subject to unpredictable influences caused by different hardware and software elements, which prevent the derivation of an absolute  WCET value. One of the most used techniques in these cases is the Measurement-Based Probabilistic Timing Analysis (MBPTA) method based on the Extreme Values Theory (EVT) statistical area, for estimating worst-case probability distributions, called Probabilistic WCET (pWCET) . The present work aims to carry out an experimental analysis of the use of EVT via MBPTA for pWCET inference, presenting the process of applying the technique in a real RPi environment and exposing the challenges and flaws encountered during this process; a point rarely demonstrated in the literature. The partial results indicate that EVT is robust, but that has weaknesses because it does not always produce adequate models and
    coherent pWCET results. This work is part of the Kepler project, a cooperation between UFBA and INRIA-Paris.

8
  • TIAGO DA CONCEICAO OLIVEIRA
  • Uma metaheurística iterated local search baseada em simulação para o escalonamento de bombas hidráulicas em redes de distribuição de água

  • Orientador : RAFAEL AUGUSTO DE MELO
  • MEMBROS DA BANCA :
  • CELSO DA CRUZ CARNEIRO RIBEIRO
  • ISLAME FELIPE DA COSTA FERNANDES
  • RAFAEL AUGUSTO DE MELO
  • Data: 17/07/2023

  • Mostrar Resumo
  • Em uma rede de distribuição de água, a utilização de energia elétrica para o funcionamento das bombas pode alcançar 90% do total consumido nesta. Uma vez que o valor cobrado pelo consumo de energia elétrica pode variar com o horário, o escalonamento das bombas em horários oportunos pode diminuir o custo com energia. Escalonamentos de bombas ótimos ou quase ótimos não são triviais dadas as restrições não lineares da WDN, as quais inserem o problema de escalonamento de bombas na classe de problemas NP-hard. Assim, o problema de escalonamento de bombas consiste em obter o menor custo monetário operacional, garantindo que a água seja entregue a todos os pontos de demanda, respeitando as restrições físicas da rede de distribuição. Este trabalho tem por finalidade propor métodos heurísticos baseados em simulações, combinando-os em uma metaheurística Iterated Local Search (ILS). Por fim, experimentos computacionais realizados mostraram que a proposta apresentada é bastante promissora, obtendo os melhores resultados utilizando a representação binária com as restrições apresentadas e quando comparado a outras representações de escalonamento os valores obtidos para a instância Vanzyl chegou a soluções que desviam em apenas 0,73% do melhor valor conhecido e em apenas 2,02% do melhor valor conhecido para a Richmond.


  • Mostrar Abstract
  • In a water distribution network, the electricity amount to operate the pumps can achieve 90% of the total electricity consumed. The amount charged for electricity consumption can differ at each time of the day. Therefore, scheduling the pump’s operation at opportune times can reduce energy costs. Optimal or near-optimal pump scheduling is not trivial given the nonlinear constraints of the WDN, which include the pump scheduling problem in the NP-hard class. The pump scheduling problem consists of obtaining the lowest operating monetary cost, guaranteeing that water is delivered to all demand points, and without violating the physical constraints of the water distribution network. This work proposes heuristic methods based on simulations, combining them in a metaheuristic Iterated Local Search (ILS). Computational experiments show that the proposed approach is promissory, obtaining the best results using the binary representation with the restrictions presented in this work, and when compared to other pump scheduling representations, the values obtained for the Vanzyl instance reached solutions that deviate by only 0.73% of the best-known value and at only 2.02% value for Richmond.

9
  • Edmilson dos Santos de Jesus
  • MODELOS DE APRENDIZAGEM DE MÁQUINA PARA PREVISÃO DA DEMANDA DE ÁGUA DA REGIÃO METROPOLITANA DE SALVADOR, BAHIA

  • Orientador : GECYNALDA SOARES DA SILVA GOMES
  • MEMBROS DA BANCA :
  • ANDERSON LUIZ ARA SOUZA
  • GECYNALDA SOARES DA SILVA GOMES
  • PAULO HENRIQUE FERREIRA DA SILVA
  • Data: 31/07/2023

  • Mostrar Resumo
  • O objetivo deste trabalho é propor um novo modelo híbrido SVR-ANN para previsão de demanda de água. Onde uma adaptação da metodologia proposta por Zhang (2003) é utilizada para decompor as séries temporais de 10 reservatórios que abastecem a Região Metropolitana de Salvador (RMS). Os dados utilizados são do consumo histórico de janeiro/2017 a fevereiro/2022, obtidos junto à empresa de abastecimento local, Empresa Baiana de Águas e Saneamento (EMBASA), e dados meteorológicos obtidos junto ao Instituto Nacional de Meteorologia do Brasil (INMET). Os resultados demonstraram a viabilidade do uso do modelo proposto, comparado a outros modelos tradicionais como o Multilayer Perceptron (MLP), Support Vector Regression (SVR), Short Long Term Memory (LSTM) e Autoregressive and Integrated Moving Average (ARIMA).


  • Mostrar Abstract
  • The objective of this work is to proposes a new hybrid SVR-ANN model for water demand forecasting. Where an adaptation of the methodology proposed by Zhang (2003) is used to decompose the time series of 10 reservoirs that supply the Metropolitan Region of Salvador (RMS). The data used are from the historical consumption from January/2017 to February/2022, obtained from the local supply company, Empresa Baiana de Águas e Saneamento, and meteorological data obtained from the National Institute of Meteorology of Brazil. The results demonstrated the feasibility of using the proposed model, compared to other traditional models such as the Multilayer Perceptron (MLP), Support Vector Regression (SVR), Short Long Term Memory (LSTM) and Autoregressive and Integrated Moving Average (ARIMA).

10
  • Dárcio Santos Rocha
  • IDENTIFICAÇÃO DE TIPOS DE RELAÇÕES TEMPORAIS EVENT-TIME EM PORTUGUÊS: UMA ABORDAGEM BASEADA EM REGRAS COM CLASSIFICAÇÃO ASSOCIATIVA

  • Orientador : MARLO VIEIRA DOS SANTOS E SOUZA
  • MEMBROS DA BANCA :
  • MARLO VIEIRA DOS SANTOS E SOUZA
  • RERISSON CAVALCANTE DE ARAUJO
  • ROBESPIERRE DANTAS DA ROCHA PITA
  • Data: 14/08/2023

  • Mostrar Resumo
  • Este trabalho tem como objetivo desenvolver um método computacional para identificar tipos de relações temporais entre eventos e expressões temporais em textos escritos em língua portuguesa. A fim de alcançar esse objetivo, serão empregadas técnicas de aprendizado de regras para descobrir as melhores combinações de informações linguísticas disponíveis, formulando regras de decisão que possam identificar eficientemente os tipos de relações temporais entre eventos e expressões temporais. A maioria dos trabalhos relacionados adotou uma abordagem baseada em aprendizagem de máquina, enquanto apenas um utilizou uma abordagem híbrida, combinando regras manuais. A metodologia proposta neste trabalho consiste em uma abordagem baseada em regras, que incorpora informações lexicais, morfossintáticas e contextuais, tempos verbais de Reichenbach, sinais temporais e conhecimento sobre o mundo, além das anotações TimeML no corpus. Ao contrário de uma abordagem puramente baseada em aprendizagem de máquina, os conjuntos de regras gerados pelo nosso método permitem a combinação de regras geradas pelos diferentes algoritmos, ou a combinação de conjuntos completos, o que pode resultar em melhor desempenho. Em resumo, o método recebe pares de evento/expressão temporal como entrada e utiliza uma estratégia de filtragem para selecionar os pares com maior probabilidade de terem sido anotados no corpus. Em seguida, aplica conjuntos de regras em cada par para identificar o tipo da relação temporal existente e uma estratégia de aumento de dados para calcular o fechamento temporal de todos os pares e suas respectivas relações identificadas. Em experimentos preliminares, propusemos um conjunto inicial de regras manuais para o idioma português. No entanto, os resultados obtidos demonstraram que esse conjunto era limitado, resultando em baixa cobertura e consequentemente baixa acurácia. O valor máximo alcançado foi de 45,1% de acurácia e 34,1% de cobertura nos dados de teste. Para melhorar esses resultados, propomos incorporar técnicas de aprendizagem de regras ao método, visando aumentar o conjunto de regras. Essas técnicas são capazes de lidar bem com dados contendo ruídos, funcionar bem em dados não vistos e gerar regras mais eficientes, além de oferecer desempenho competitivo e funcionar de forma eficiente. Com essa incorporação, esperamos que os experimentos propostos produzam um conjunto de regras capaz de identificar tipos de relações temporais event-time com eficiência e alcance resultados superiores. Isso contribuirá para o avanço do estado da arte na área, além de disseminar a pesquisa realizada e contribuir com a comunidade científica.


  • Mostrar Abstract
  • This work aims to develop a computational method to identify types of temporal relations between events and temporal expressions in texts written in Portuguese. In order to achieve this goal, rule learning techniques will be employed to discover the best combinations of available linguistic information, formulating decision rules that can efficiently identify the types of temporal relations between events and temporal expressions. Most related works adopted a machine learning-based approach, while only one used a hybrid approach, combining manual rules. The methodology proposed in this work consists of a rule-based approach, which incorporates lexical, morphosyntactic and contextual information, Reichenbach tenses, temporal signals and knowledge about the world, in addition to TimeML annotations in the corpus. Unlike a purely machine learning approach, the rule sets generated by our method allow the combination of rules generated by different algorithms, or the combination of complete sets, which can result in better performance. In short, the method takes event/time expression pairs as input and uses a filtering strategy to select the pairs most likely to have been annotated in the corpus. It then applies sets of rules to each pair to identify the type of existing temporal relationship and a data augmentation strategy to calculate the temporal closure of all pairs and their respective identified relationships. In preliminary experiments, we proposed an initial set of manual rules for the Portuguese language. However, the results obtained showed that this set was limited, resulting in low coverage and consequently low accuracy. The maximum value achieved was 45.1% accuracy and 34.1% coverage in the test data. To improve these results, we propose to incorporate rule learning techniques to the method, aiming to increase the set of rules. These techniques are able to handle noisy data well, work well on unseen data and generate more efficient rules, in addition to offering competitive performance and working efficiently. With this incorporation, we hope that the proposed experiments will produce a set of rules capable of identifying types of event-time temporal relations efficiently and achieving superior results. This will contribute to the advancement of the state of the art in the area, in addition to disseminating the research carried out and contributing to the scientific community.

11
  • Davi Lima Alves
  • UMA PLATAFORMA SIDECHAIN PARA TRANSAÇÕES DE E-COMMERCE EM RESTAURANTES
  • Orientador : MANOEL GOMES DE MENDONCA NETO
  • MEMBROS DA BANCA :
  • ALLAN EDGARD SILVA FREITAS
  • CASSIO VINICIUS SERAFIM PRAZERES
  • LEOBINO NASCIMENTO SAMPAIO
  • MANOEL GOMES DE MENDONCA NETO
  • ROBESPIERRE DANTAS DA ROCHA PITA
  • Data: 22/08/2023

  • Mostrar Resumo
  • Pedir comida online está presente diariamente na vida das pessoas, entretanto, este procedimento exige o envio de dados de clientes para diferentes sistemas de restaurantes, e muitas vezes esses restaurantes compartilham informações sensíveis com seus parceiros sem autorização, criando um risco à segurança ao compartilhar tais dados. Ainda, em muitos casos quando uma pessoa viaja para um país diferente de sua origem e deseja pedir comida é exigida a transação de câmbio para moeda local que tem custo elevado. As blockchains revolucionaram o modo de fazer pagamentos online e intrinsecamente de forma segura eliminando a entidade centralizadora e autorizativa, a exemplo da Bitcoin, primeira blockchain utilizada em larga escala. Entretanto, a literatura científica registra a dificuldade diante da alta frequência de transações na Bitcoin, alto tempo de transações, e, também, seu alto custo por transação além da limitação da linguagem Script para desenvolvimento de aplicações. Nesse passo a blockchain Ethereum surge como alternativa a Bitcoin, num ambiente de aplicações mais complexas com maior frequência de aplicações e número de transações por segundo, mas, ainda distante da performance de soluções como cartão de crédito, o que desfavorece esta “cadeia de blocos” ante soluções tradicionais de pagamento como o cartão de crédito, além disso teve por um grande período altas taxas de custo por transação. Do estudo deste contexto nós propomos o modelo de pagamento de transações para o varejo por meio da blockchain a partir de Prova de Conceito (POC) voltada para restaurantes utilizando o Software Development Kit (SDK) da blockchain Lisk. A POC Lisk Restaurante representa uma integração da Lisk blockchain na indústria de alimentos permitindo clientes comprarem comida de forma rápida e segura através de sidechains - blockchains exclusivas para transações especiais tipo-restaurantes, sem intermediação e com menores taxas ao utilizar um único cripto ativo no mundo: o LSK. Realizamos estudo empírico da solução proposta no qual é avaliada o desempenho de transações em bloco, taxas de transação, auditabilidade, escala de solução, privacidade e segurança no envio de mensagens em transações. Os resultados foram utilizados na comparação com dados da literatura das blockchains Bitcoin, Ethereum, e Multichain. Os resultados apontam que, as transações especiais utilizadas na Lisk Restaurante permitem garantir privacidade de dados para seus clientes, pois, apenas ao recipiente de uma transação é possível acessar dados sensíveis de remetente. Assim, através de pesquisa, revisão da literatura e experimentos de avaliação de desempenho foi observado que a solução de sidechain para restaurantes demonstrou eficiência da tecnologia blockchain em prover serviços globais de forma menos custosa do que meios de pagamentos comuns; também, quando comparadas suas taxas de transações com outras blockchains como Bitcoin ou Ethereum, pois, seus valores são menores e mantida a privacidade de seus clientes. Ainda, a nossa solução demonstrou aumento na capacidade de transações Food em um único bloco e melhor escalabilidade por meio de sidechains, as quais, aceitam transações específicas ao negócio envolvido o que difere de blockchains únicas como Bitcoin ou Ethereum que executam transações de diversas finalidades, superando também à primeira versão da Prova de Conceito (PoC) Lisk Restaurante, ultrapassando em duas vezes a capacidade de número de transações ou frequência, em um bloco. Finalmente, ainda foi realizado experimentos com a Lightning network, tecnologia off-chain que funciona sobre a Bitcoin sendo uma solução de escalabilidade para a Bitcoin. A avaliação de resultados de experimentos da solução sidechain Lisk e da Lightning network demonstraram as diferenças de cada tecnologia e foi enaltecida as vantagens e desvantagens de cada uma. Assim, foi observado que a tecnologia Lightning network também pode ser utilizada na indústria de varejo, mas sem a possibilidade de personalizar custos de transação.


  • Mostrar Abstract
  • Ordering food online is present in people's lives every day, however, this procedure requires sending customer data to different restaurant systems, and often these restaurants share sensitive information with their partners without authorization, creating a security risk when sharing such information. data. Also, in many cases, when a person travels to a country other than their origin and wants to order food, an exchange transaction for local currency is required, which is expensive. Blockchains have revolutionized the way of making payments online and intrinsically secure, eliminating the centralizing and authorizing entity, such as Bitcoin, the first blockchain used on a large scale. However, the scientific literature records the difficulty in view of the high frequency of transactions in Bitcoin, the high transaction time, and also its high cost per transaction, in addition to the limitation of the Script language for application development. In this step, the Ethereum blockchain emerges as an alternative to Bitcoin, in an environment of more complex applications with a higher frequency of applications and number of transactions per second, but still far from the performance of solutions such as credit cards, which disadvantages this “chain of blocks”. ” compared to traditional payment solutions such as credit cards, which also had high transaction cost rates for a long time. From the study of this context, we propose a payment model for retail transactions through the blockchain based on a Proof of Concept (POC) aimed at restaurants using the Software Development Kit (SDK) of the Lisk blockchain. POC Lisk Restaurante represents an integration of Lisk blockchain in the food industry allowing customers to buy food quickly and securely through sidechains - exclusive blockchains for special restaurant-type transactions, without intermediation and with lower fees when using a single crypto asset in the world : the LSK. We performed an empirical study of the proposed solution in which the performance of block transactions, transaction fees, auditability, solution scale, privacy and security in sending messages in transactions is evaluated. The results were used in comparison with data from the literature of Bitcoin, Ethereum, and Multichain blockchains. The results indicate that the special transactions used at Lisk Restaurante allow guaranteeing data privacy for its customers, since only the recipient of a transaction can access sensitive sender data. Thus, through research, literature review and performance evaluation experiments, it was observed that the sidechain solution for restaurants demonstrated the efficiency of blockchain technology in providing global services at a lower cost than common means of payment; also, when compared to their transaction fees with other blockchains like Bitcoin or Ethereum, their values are lower and the privacy of their customers is maintained. Also, our solution has shown an increase in the capacity of Food transactions in a single block and better scalability through sidechains, which accept transactions specific to the business involved, which differs from single blockchains such as Bitcoin or Ethereum that execute transactions for different purposes, also surpassing the first version of the Proof of Concept (PoC) Lisk Restaurante, exceeding twice the capacity of number of transactions or frequency, in a block. Finally, experiments were carried out with the Lightning network, an off-chain technology that works on top of Bitcoin, being a scalability solution for Bitcoin. The evaluation of experimental results of the Lisk sidechain solution and the Lightning network demonstrated the differences of each technology and the advantages and disadvantages of each one were praised. Thus, it was observed that the Lightning network technology can also be used in the retail industry, but without the possibility of customizing transaction costs.

12
  • João Medrado Gondim
  • AMPLIANDO MODELOS DE IMAGE CAPTIONING EM PORTUGUES ATRAVÉS DAS INFORMAÇÕES LINGUÍSTICAS

  • Orientador : DANIELA BARREIRO CLARO
  • MEMBROS DA BANCA :
  • SANDRA ELIZA FONTES DE AVILA
  • DANIELA BARREIRO CLARO
  • TATIANE NOGUEIRA RIOS
  • Data: 23/08/2023

  • Mostrar Resumo
  • O aumento no número de aplicações que demandam acessibilidade, recuperação de informação e interação humano-computador vem culminando com uma crescente necessidade de geração automatizada da descrição de uma imagem. Essa descrição automatizada requer uma identificação do cenário, dos personagens e dos objetos presentes e de como esses elementos se relacionam entre si. A partir destes elementos torna-se possível gerar uma sentença em linguagem natural descrevendo o conteúdo da imagem. O desenvolvimento de métodos capazes de gerar de uma maneira automática as sentenças que descrevem a imagem permeia uma área de pesquisa denominada  Image Captioning. A maioria das pesquisas e  datasets  da área de Image Captioning se concentram na língua inglesa, desenvolvendo modelos e construindo recursos eficientes no estado da arte. Línguas com poucos recursos para desenvolvimento, tais como o Português, demandam maior pesquisa para alcançarem uma sentença descritiva e compreensível. Porém, somente a aglomeração de vários objetos da imagem não geram uma sentença na língua Portuguesa. Diante deste contexto, este trabalho propõe a análise e incorporação de recursos linguísticos que possam guiar o modelo de linguagem na geração de uma descrição que seja mais representativa da imagem e da sentença em Português. Experimentos foram realizados com a tradução de datasets para a geração da descrição em Português. Os resultados obtidos dão indícios que a análise morfológica das saídas de um modelo de Image Captioning, bem como a incorporação de classes gramaticais durante o treinamento, contribuirão para uma melhor descrição da imagem em língua Portuguesa.


  • Mostrar Abstract
  • The increase in the number of applications that require accessibility, information retrieval and human-computer interaction has culminated in a growing need for automated generation of the description of an image. This automated description requires an identification of the scenario, characters and objects present and how these elements relate to each other. From these elements it becomes possible to generate a sentence in natural language describing the content of the image. The development of methods capable of automatically generating the sentences describing the image permeates a research area called textit{Image Captioning}. Most researches and datasets in the area of Image Captioning focus on the English language, developing models and building efficient state-of-the-art resources. Languages with few resources for development, such as Portuguese, require more research to achieve a descriptive and understandable sentence. However, only the agglomeration of several objects in the image does not generate a sentence in the Portuguese language. In this context, this work proposes the analysis and incorporation of linguistic resources that can guide the language model in generating a description that is more representative of the image and the sentence in Portuguese. Experiments were performed with the translation of datasets to generate the description in Portuguese. The results indicate that the morphological analysis of the outputs of an Image Captioning model, as well as the incorporation of grammatical classes during the training, will contribute to a better description of the image in Portuguese.

13
  • CLEBER BRITO SANTOS
  • Determinação de vizinhança em rede veiculares ad hoc: uma análise dos tempos limite para entrega de mensagens

  • Orientador : ALINE MARIA SANTOS ANDRADE
  • MEMBROS DA BANCA :
  • ALINE MARIA SANTOS ANDRADE
  • ALIRIO SANTOS DE SA
  • ALLAN EDGARD SILVA FREITAS
  • LEOBINO NASCIMENTO SAMPAIO
  • Data: 05/09/2023

  • Mostrar Resumo
  • A detecção de vizinhança em redes veiculares ad hoc envolve a determinação de veículos
    vizinhos para uma organização colaborativa. Esse problema apresenta desafios em relação à
    comunicação entre veículos em redes veiculares devido à natureza dinâmica da rede, que
    provoca variações imprevisíveis na qualidade do canal de comunicação devido a fatores como
    condições ambientais, interferências e congestionamentos. Nesta dissertação, abordamos a
    detecção de vizinhança entre pelotões em redes dinâmicas, enfrentando desafios como a
    movimentação variada dos veículos e as interferências de edificações. A organização em
    pelotões representa um cenário relevante para o estudo em redes veiculares, uma vez que traz
    benefícios na qualidade do trânsito, como a redução do consumo de combustível, a melhoria
    do fluxo de tráfego e o aumento da segurança. Desenvolvemos um protocolo básico de
    comunicação, projetado para a comunicação entre líderes de pelotões, que garante o
    conhecimento mútuo entre eles, possibilitando a troca de informações essenciais para a
    detecção de vizinhança e o funcionamento colaborativo dos pelotões. Verificamos o protocolo
    utilizando o verificador de modelos PRISM. Utilizando este protocolo, realizamos experimentos
    para determinar os tempos necessários que ocorrem entre o envio e o recebimento de
    mensagens trocadas entre líderes de pelotões para a determinação de vizinhança. Realizamos
    experimentos em canais confiáveis e não confiáveis e determinamos tempos limite de
    progresso por meio de simulações utilizando o framework VEINS, que integra SUMO e
    OMNET++. Os resultados dos experimentos forneceram informações sobre os tempos limite
    de progresso em vários cenários que podem servir de referência para o desenvolvimento de
    aplicações relacionadas à comunicação em VANETs.


  • Mostrar Abstract
  • A detecção de vizinhança em redes veiculares ad hoc envolve a determinação de veículos
    vizinhos para uma organização colaborativa. Esse problema apresenta desafios em relação à
    comunicação entre veículos em redes veiculares devido à natureza dinâmica da rede, que
    provoca variações imprevisíveis na qualidade do canal de comunicação devido a fatores como
    condições ambientais, interferências e congestionamentos. Nesta dissertação, abordamos a
    detecção de vizinhança entre pelotões em redes dinâmicas, enfrentando desafios como a
    movimentação variada dos veículos e as interferências de edificações. A organização em
    pelotões representa um cenário relevante para o estudo em redes veiculares, uma vez que traz
    benefícios na qualidade do trânsito, como a redução do consumo de combustível, a melhoria
    do fluxo de tráfego e o aumento da segurança. Desenvolvemos um protocolo básico de
    comunicação, projetado para a comunicação entre líderes de pelotões, que garante o
    conhecimento mútuo entre eles, possibilitando a troca de informações essenciais para a
    detecção de vizinhança e o funcionamento colaborativo dos pelotões. Verificamos o protocolo
    utilizando o verificador de modelos PRISM. Utilizando este protocolo, realizamos experimentos
    para determinar os tempos necessários que ocorrem entre o envio e o recebimento de
    mensagens trocadas entre líderes de pelotões para a determinação de vizinhança. Realizamos
    experimentos em canais confiáveis e não confiáveis e determinamos tempos limite de
    progresso por meio de simulações utilizando o framework VEINS, que integra SUMO e
    OMNET++. Os resultados dos experimentos forneceram informações sobre os tempos limite
    de progresso em vários cenários que podem servir de referência para o desenvolvimento de
    aplicações relacionadas à comunicação em VANETs.

14
  • Iury Gomes de Oliveira
  • CycleVis - Uma abordagem de visualização esportiva para análise de desempenho de ciclistas

  • Orientador : DANILO BARBOSA COIMBRA
  • MEMBROS DA BANCA :
  • DANILO BARBOSA COIMBRA
  • FREDERICO ARAUJO DURAO
  • RENATO LIMA NOVAIS
  • Data: 14/09/2023

  • Mostrar Resumo
  • A evolução tecnológica em conjunto com a crescente produção massiva de dados demandam a criação de novos mecanismos para processamento e análise nos mais diferentes domínios de informação. O mesmo ocorre para o domínio de esportes, que possui um grande apelo popular ao redor do mundo e vem conquistando cada vez mais interesse da comunidade científica. Dentre os diferentes gêneros esportivos, o ciclismo vem ganhando atenção especial na comunidade de visualização de informação e Visual Analytics ao longo dos anos. De modo geral, o foco destes trabalhos está na descoberta de padrões para traçar estratégias, exibir informações estatísticas, ou analisar desempenho de grupos de ciclistas. Contudo, há uma lacuna de estudos que foquem em percursos não relacionados a competições profissionais ou ainda que considerem atributos de clima e intensidade em suas análises. Nesse contexto, esse trabalho apresenta o CycleVis, uma abordagem de visualização de dados para ciclismo que permite melhor compreensão do desempenho esportivo de ciclistas. Para tal, utilizou-se características de intensidade, como velocidade, frequência cardíaca e elevação, além da geolocalização das corridas/pedaladas. Para validar a abordagem, foi desenvolvido um caso de uso e o mesmo foi avaliado por meio de estudo com usuários, que resultou em uma avaliação muito positiva para eficácia e usabilidade. 


  • Mostrar Abstract
  • The technological evolution together with the growing mass production of data demand the creation of new mechanisms for processing and analysis in the most different areas of information. The same goes for the field of sports, which has a great popular appeal around the world and has been gaining more and more interest from the scientific community. Among the different sports genres, cycling has been gaining special attention in the community of information visualization and Visual Analytics over the years. In general, the focus of these works is on finding patterns to draw strategies, display statistical information, or analyze performance of groups of cyclists. However, there is a gap of studies that focus on paths not related to professional competitions or that consider attributes of climate and intensity in their analysis. In this context, this work presents CycleVis, a data visualization approach for cycling that allows a better understanding of the sports performance of cyclists. For this, intensity characteristics such as speed, heart rate and elevation were used, in addition to the geolocation of the runs/pedals. To validate the approach, a use case was developed and it was evaluated through a study with users, which resulted in a very positive evaluation for effectiveness and usability.

15
  • JOSÉ AUGUSTO DUARTE GOMES
  • MultiVisD3: uma abordagem Visual Analytics para Análise da Qualidade de Projeções Multidimensionais Utilizando Múltiplas Visões Coordenadas

  • Orientador : DANILO BARBOSA COIMBRA
  • MEMBROS DA BANCA :
  • RAFAEL MESSIAS MARTINS
  • BRUNO PEREIRA DOS SANTOS
  • DANILO BARBOSA COIMBRA
  • Data: 29/09/2023

  • Mostrar Resumo
  • Visualizações multidimensionais são representações gráficas que atuam na apresentação de conjuntos de dados multidimensionais ou multivariados. Entretanto, muitas dessas técnicas apresentam pouca escalabilidade visual à medida que as dimensões aumentam, exigindo um espaço visual cada vez maior para acomodar todo o conjunto de dados. Uma forma de contornar esse problema é utilizar técnicas de Projeções Multidimensionais que realizam redução de dimensionalidade e buscam preservar os padrões dos dados originais no espaço projetado. Durante esse processo, é altamente provável que erros e distorções estejam presentes nos layouts de projeção. Um desafio na pesquisa desse tema é mensurar e visualizar os erros e distorções incorporados nos mapeamentos das projeções. Nesse sentido, este trabalho desenvolveu o MultiVisD3, uma abordagem de Visual Analytics para analisar a qualidade de Projeções Multidimensionais. Esta abordagem compreende um dashboard como um painel visual interativo contendo múltiplas visualizações coordenadas para facilitar a compreensão e comparação de métricas de erro entre duas projeções. Outras técnicas de visualização como Treemap e visão tabular apoiam a extração de informações sobre a qualidade das projeções. Por fim, a abordagem proposta foi submetida a uma avaliação com usuário utilizando conjuntos de dados conhecidos para analisar aspectos de funcionalidade e usabilidade. Os resultados mostraram que os usuários avaliaram positivamente a abordagem proposta neste trabalho. Mais de 90% dos participantes executaram corretamente oito das nove tarefas que lhes foram solicitadas e mais de 90% deles aprovaram os aspectos de usabilidade relacionados às interações e disposição das visualizações.


  • Mostrar Abstract
  • Multidimensional visualizations are graphical representations that assist in presenting multidimensional datasets. However, many of these techniques exhibit limited visual scalability as the number of dimensions increases, requiring ever-expanding visual space to accommodate the entire dataset. One way to address this problem is by utilizing Multidimensional Projection techniques, which perform dimensionality reduction while aiming to preserve the patterns of the original data in the projected space. However, it is highly likely that errors and distortions may be present in the projection layouts. A challenge in researching this topic is to measure and visualize the errors and distortions embedded in the projection mappings. In this regard, this article introduces MultiVisD3, a Visual Analytics approach to analyzing the quality of Multidimensional Projections. This approach comprises an interactive visual dashboard containing multiple coordinated views to facilitate understanding and comparison of error metrics between two projections. Other visualization techniques such as Treemap and tabular views support the extraction of information regarding projection quality. Finally, the proposed approach underwent user evaluation using well-known datasets to analyze functionality and usability aspects. The results demonstrated that users positively evaluated the proposed approach. More than 90% of the participants correctly completed eight out of nine tasks assigned to them, and over 90% of them approved of usability aspects related to interactions and the arrangement of visualizations.

16
  • LEONARDO RODRIGUES RIBEIRO
  • MetaLProjection: Uma Abordagem para Recomendação de Algoritmos de Redução de Dimensionalidade Utilizando Meta-Aprendizagem

  • Orientador : DANILO BARBOSA COIMBRA
  • MEMBROS DA BANCA :
  • THIAGO FERREIRA COVÕES
  • DANILO BARBOSA COIMBRA
  • RICARDO ARAUJO RIOS
  • Data: 06/10/2023

  • Mostrar Resumo
  • As técnicas de visualização de dados possuem um enorme potencial para análise, sumarização, compreensão a fim de facilitar a extração de informação. Áreas recentes como Visual Analytics e Ciência de Dados evidenciam a sua importância, principalmente para analisar complexos conjuntos de dados. Nesse sentido, as técnicas de Projeção Multidimensional são particularmente utilizadas para realizar análise visual de conjuntos de dados de alta dimensionalidade, em razão de realizarem redução de dimensionalidade e, por consequência, possuírem melhor escalabilidade no tocante a quantidade de atributos/dimensões. Todavia, há uma grande variedade destas técnicas de projeção e definir qual a mais adequada para encontrar padrões visuais de informação em um, ou vários, conjuntos de dados não é uma tarefa trivial. Ainda que os trabalhos na literatura testem e comparem diferentes técnicas em conjuntos de dados com características distintas, não o fazem de modo sistematizado para facilitar uma escolha para o usuário. Nesse contexto, esta pesquisa utiliza a meta-aprendizagem para classificar e recomendar as projeções multidimensionais considerando determinadas métricas de avaliação em uma base de conhecimento com mais de 500 conjuntos de dados distintos. Para avaliar a abordagem foi observado i) a relação entre os meta-atributos de todos os conjuntos de dados, ii) geração de um ranking contendo o desempenho das técnicas de projeção escolhidas e, iii) acurácia da recomendação dessas técnicas. Por fim, os resultados obtidos mostram que a abordagem desenvolvida contribui de modo eficiente para a escolha e recomendação de técnicas de projeção multidimensional.


  • Mostrar Abstract
  • Data visualization techniques have significant potential for analysis, summarization, and comprehension to facilitate information extraction. Recent areas such as Visual Analytics and Data Science underscore their importance, especially in analyzing complex datasets. In this sense, Multidimensional Projection techniques are particularly used for visual analysis of high-dimensional datasets because they perform dimensionality reduction and, consequently, exhibit better scalability in terms of the number of attributes/dimensions. However, there is a wide variety of these projection techniques, and determining the most suitable one for discovering visual patterns of information in one or multiple datasets is not a trivial task. While works in the literature test and compare different techniques on datasets with distinct characteristics, they do not do so systematically to assist user decision-making. In this context, this research leverages meta-learning to classify and recommend multidimensional projections, considering specific evaluation metrics from a knowledge base comprising over 500 distinct datasets. To evaluate the approach, we observed i) the relationship between the meta-attributes of all datasets, ii) the generation of a ranking containing the performance of the selected projection techniques, and iii) the accuracy of the recommendation of these techniques. Finally, the results obtained demonstrate that the developed approach effectively contributes to the selection and recommendation of multidimensional projection techniques.

17
  • FELIPE REBOUCAS FERREIRA ABREU
  • Um Sistema de Recomendação Inteligente e Autoconfigurável como Serviço

  • Orientador : FREDERICO ARAUJO DURAO
  • MEMBROS DA BANCA :
  • FREDERICO ARAUJO DURAO
  • CLAUDIO NOGUEIRA SANT ANNA
  • ROSALVO FERREIRA DE OLIVEIRA NETO
  • Data: 28/11/2023

  • Mostrar Resumo
  • No mundo digital dinâmico de hoje, a infinidade de serviços de listagem, que vão desde plataformas de música até recomendações de produtos e sugestões de conteúdo de mídia social, muitas vezes deixa os usuários em busca de itens que realmente se alinhem com seus gostos. Abordando esta complexidade, a ascensão dos Sistemas de Recomendação provou ser inestimável. Esses sistemas filtram com eficiência vastos dados para alinhar itens com preferências individuais, melhorando as escolhas do usuário. Este trabalho centra-se na criação de uma API avançada de Sistemas de Recomendação. Criada de forma distinta, esta API possui acessibilidade universal e um procedimento de implantação descomplicado. Como base para vários serviços da Web, a API se fortalece na robusta arquitetura REST. Ele foi projetado com um compromisso com a modularidade, defendendo a adaptabilidade e a flexibilidade. A API processa dados e consultas do usuário para fornecer recomendações personalizadas rapidamente. As avaliações de desempenho destacaram a louvável precisão da API. Ele brilhou particularmente com conjuntos de dados menores, exibindo impressionantes tempos de processamento de dados e execução de algoritmos. A API manifestou eficiência e resiliência excepcionais sob condições de teste específicas, incluindo ambientes de nuvem, especialmente notáveis em cenários extensos de conjuntos de dados de 16.000 itens. A API é mais que uma ferramenta; ele abre caminho para experiências digitais personalizadas, mostrando sua habilidade em operações CRUD e recomendações personalizadas. A fase de avaliação do usuário abrangeu um grupo demográfico variado: desenvolvedores iniciantes a experientes. Mais da metade tinha experiência considerável em desenvolvimento de software e uma porcentagem significativa tinha envolvimentos anteriores com sistemas de recomendação de codificação. Com conhecimento diversificado de bibliotecas de recomendação, a maioria dos comentários elogiou a eficácia da API. 81% valorizaram as recomendações e muitos se sentiram confiantes nas técnicas de filtragem. O destaque deste trabalho é a versatilidade da API do Sistema de Recomendação. Apesar do feedback positivo, os usuários sugeriram melhorias na documentação, segurança de dados e recursos. Esses insights moldarão futuros refinamentos de API e experiência do usuário. O envolvimento entusiástico e o feedback dos participantes sublinham o potencial da API para melhorar aplicações que requerem um sistema de recomendação, especialmente para desenvolvedores que talvez sejam menos versados nas nuances teóricas. A sólida base de pesquisa e a dedicação dos participantes destacam o potencial da API para uma adoção mais ampla pelos desenvolvedores.


  • Mostrar Abstract
  • In today's dynamic digital realm, the plethora of listing services, spanning from music platforms to product recommenders and social media content suggestions, often leaves users searching for items that truly align with their tastes. Addressing this intricacy, the rise of Recommender Systems has proven invaluable. These systems efficiently filter vast data to align items with individual preferences, enhancing user choices. This work centers on the creation of an advanced Recommender Systems API. Distinctively crafted, this API boasts universal accessibility and an uncomplicated deployment procedure. As the foundation for various Web Services, the API draws strength from the stalwart REST architecture. It is designed with a commitment to modularity, championing adaptability and flexibility. The API processes user data and queries to provide tailor-made recommendations quickly. Performance evaluations illuminated the API's commendable accuracy. It particularly shone with smaller datasets, displaying impressive data processing and algorithm execution times. The API manifested exceptional efficiency and resilience under specific test conditions, including cloud environments, especially notable in extensive 16,000-item dataset scenarios. The API is more than a tool; it paves the way for personalized digital experiences, showcasing its prowess in CRUD operations and tailored recommendations. The user evaluation phase encompassed a varied demographic: novice to experienced developers. Over half had considerable software development experience, and a significant percentage had prior engagements with coding recommender systems. With diverse knowledge of recommender libraries, most feedback praised the API's effectiveness. 81% valued the recommendations, and many felt confident in its filtering techniques. The highlight of this work is the Recommender System API's versatility. Despite positive feedback, users suggested improvements in documentation, data security, and features. These insights will shape future API refinements and user experience. Participants' enthusiastic engagement and feedback underscore the API's potential to enhance applications requiring a recommendation system, especially for developers who are perhaps less versed in the theoretical nuances. The solid research foundation and participant dedication highlight the API's potential for broader adoption by developers.

18
  • GENICLEITO CARVALHO BELTRAO GONCALVES
  • GEnI-FR: Um método para assegurar a interpretabilidade de regras fuzzy por meio de granularidade

  • Orientador : TATIANE NOGUEIRA RIOS
  • MEMBROS DA BANCA :
  • MARCOS EVANDRO CINTRA
  • HELOISA DE ARRUDA CAMARGO
  • TATIANE NOGUEIRA RIOS
  • Data: 30/11/2023

  • Mostrar Resumo
  • A representação computacional do conhecimento humano, quando composto por dados imprecisos, é uma tarefa facilitada pela utilização de sistemas que utilizam recursos da teoria de conjuntos e lógica fuzzy. Tais sistemas usam regras que permitem mapear o conhecimento obtido a partir dos dados em uma representação linguística de fácil entendimento. A base de regras fuzzy que constitui esse tipo de sistema pode ser gerada por um especialista ou por meio de métodos que consideram as características dos próprios dados, diminuindo a necessidade de um especialista neste processo de criação. Com os devidos ajustes e utilização de métodos automatizados é possível aumentar a interpretabilidade dessas regras sem reduzir a precisão do sistema. Neste sentido, a base de regras de um sistema fuzzy pode ser melhorada por meio do princípio da granularidade justificável para ajustar os conjuntos fuzzy representativos dos dados. Sendo assim, nesta dissertação de mestrado é apresentado o método denominado GEnI-FR (Granularity to Ensure Interpretability of the Fuzzy Rules), o qual realiza ajustes e refinamentos no processo de geração de regras fuzzy, obtendo o equilíbrio entre interpretabilidade e precisão, ajustando conjuntos fuzzy baseando-se nas características dos próprios dados. GEnI-FR apresenta-se como um método promissor visto que proporciona uma redução da quantidade de regras fuzzy mantendo os mesmos níveis de acurácia quando comparado com outros métodos do estado da arte. 


  • Mostrar Abstract
  • The computational representation of human knowledge, when composed of imprecise data, is a task facilitated by the use of systems that use resources from set theory and fuzzy logic. Such systems use rules that allow mapping the knowledge obtained from data into an easy-to-understand linguistic representation. The fuzzy rule base that constitutes this type of system can be generated by a specialist or through methods that consider the characteristics of the data itself, reducing the need for a specialist in this creation process. With the appropriate adjustments and use of automated methods, it is possible to increase the interpretability of these rules without reducing the system's accuracy. In this sense, the rule base of a fuzzy system can be improved through the principle of justifiable granularity to adjust the fuzzy sets representative of the data. Therefore, in this master's thesis, the method called GEnI-FR (Granularity to Ensure Interpretability of the Fuzzy Rules) is presented, which makes adjustments and refinements in the process of generating fuzzy rules, achieving a balance between interpretability and precision, adjusting sets fuzzy based on the characteristics of the data itself. GEnI-FR presents itself as a promising method as it provides a reduction in the number of fuzzy rules while maintaining the same levels of accuracy when compared to other state-of-the-art methods.

19
  • JALISSON DOS SANTOS HENRIQUE
  • MOTIVAÇÕES PARA APLICAÇÃO DA REFATORAÇÃO EXTRACT METHOD: UM ESTUDO BASEADO EM MENSAGENS DE COMMIT

  • Orientador : CLAUDIO NOGUEIRA SANT ANNA
  • MEMBROS DA BANCA :
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • CLAUDIO NOGUEIRA SANT ANNA
  • RAPHAEL PEREIRA DE OLIVEIRA
  • Data: 11/12/2023
    Ata de defesa assinada:

  • Mostrar Resumo
  • Refatorações são operações realizadas no código fonte que visam melhorar a capacidade de manutenção de um sistema de software. Apesar da literatura conter diversos estudos sobre refatorações, são poucos os trabalhos que investigam as motivações reportadas pelos desenvolvedores para realizar refatorações. Portanto, esta pesquisa tem o objetivo de investigar as motivações por trás das refatorações de extract method em sistemas reais. Para isso, foram conduzidos dois estudos experimentais, um preliminar envolvendo um único sistema de software, e um outro estudo onde foram considerados diversos sistemas. Os estudos foram baseados em mineração de commits onde ocorreram refatorações do tipo extract method. Basicamente, buscou-se analisar as mensagens desses commits visando capturar as motivações dos desenvolvedores para realizar tais refatorações. Os resultados apontaram 16 motivações diferentes para a aplicação do extract method. Além disso, observou-se que apenas 16% das refatorações tiveram intenção explícita de melhorar a qualidade do código. Também foi identificado que as refatorações com intenção de melhorar a qualidade do código ocorreram com maior frequência em métodos com tamanho acima de 61 linhas de código e com menor frequência em métodos abaixo de 20 linhas de código.


  • Mostrar Abstract
  • Refactorings are operations performed on source code aimed at improving the maintainability of a software system. Although literature contains a high number of studies on refactorings, there are only few works that investigate the motivations reported by developers to perform refactorings. Therefore, this research aims to investigate the motivations behind extract method refactorings in real systems. To achieve this, we conducted two empirical studies: a preliminary study involving a single software system, and another study considering multiple real systems. The studies were based on mining software repository commits in which extract method refactorings occurred. Essentially, the goal was to analyze commit messages in order to capture developers' motivations for performing such refactorings. The results identified 16 different motivations for applying extract method. Additionally, it was observed that only 16% of the refactorings had an explicit intention of improving code quality. It was also identified that refactorings with the intention of improving code quality occurred more frequently in methods with size higher than 61 lines of code and less frequently in methods smaller than 20 lines of code.

20
  • MATEUS CARVALHO DA SILVA
  • Aplicações de algoritmos genéticos de chaves aleatórias enviesadas e formulações para o problema da coloração de Grundy e o problema da coloração conexa de Grundy

  • Orientador : RAFAEL AUGUSTO DE MELO
  • MEMBROS DA BANCA :
  • PEDRO HENRIQUE GONZÁLEZ SILVA
  • MAURICIO GUILHERME DE CARVALHO RESENDE
  • FREDERICO ARAUJO DURAO
  • RAFAEL AUGUSTO DE MELO
  • Data: 13/12/2023

  • Mostrar Resumo
  • Dado um grafo G, seu número de Grundy $\Gamma(G)$ define o comportamento de pior caso para a conhecida e amplamente utilizada heurística de coloração gulosa \textit{first-fit}. Mais especificamente, $\Gamma(G)$ é o maior $k$ para o qual uma $k$-coloração  pode ser obtida com a heurística \textit{first-fit}. O número de Grundy conexo $\Gamma_c(G)$ fornece o comportamento do pior caso para a heurística de coloração \textit{first-fit} conexa, ou seja, aquela em que cada vértice a ser colorido, exceto o primeiro, é adicionado adjacente a um vértice já colorido. Ambos os problemas são NP-difíceis. Nesta dissertação, apresentamos abordagens heurísticas e exatas para o problema da coloração de Grundy e o problema de coloração de Grundy conexo, que são problemas de otimização consistindo na obtenção do número de Grundy e do número de Grundy conexo, respectivamente. Nesse estudo é proposto o uso do algoritmo genético de chaves aleatórias viesado (\textit{Biased random-key genetic algorithm} - BRKGA) e do uso de formulações de programação inteira usando uma abordagem mais tradicional (padrão) e uma por representativos. Também é proposto um novo limite superior combinatório que é válido para ambos os problemas e um algoritmo usando programação dinâmica para o seu cálculo. Os experimentos computacionais mostram que o novo limite superior pode melhorar o limite para vários casos em relação a um limite combinatório bem estabelecido disponível na literatura. Os resultados também evidenciam que a formulação por representativos tem um desempenho geral superior que a formulação padrão, alcançando melhores resultados para as instâncias mais densas, enquanto esta última tem melhor desempenho para as mais esparsas para o problema dos números de Grundy. Contudo mostramos que este tipo de formulações com programação inteira são computacionalmente impraticáveis para a versão conexa. Além disso, o BRKGA pode encontrar soluções de alta qualidade para ambos os problemas e pode ser usado com confiança em grandes instâncias onde as formulações falham para o problema da coloração de Grundy.


  • Mostrar Abstract
  • Given a graph G, its Grundy number $\Gamma(G)$ defines the worst-case behavior for the well-known and widely used first-fit greedy coloring heuristic. Specifically, $\Gamma(G)$ is the largest $k$ for which a $k$-coloring can be obtained with the first-fit heuristic. The connected Grundy number $\Gamma_c(G)$ gives the worst-case behavior for the connected first-fit coloring heuristic, that is, one in which each vertex to be colored, except the first, is added adjacent to an already colored vertex. Both problems are NP-hard. In this master's thesis, we present heuristic and exact approaches to the Grundy coloring problem and the connected Grundy coloring problem, which are optimization problems consisting of obtaining the Grundy number and the connected Grundy number, respectively. This study proposes the use of a algorithm Biased Random-Key Genetic Algorithm (BRKGA) and the use of integer programming formulations using a more traditional (standard) approach and a representative one. A new combinatorial upper bound is also proposed that is valid for both problems and an algorithm using dynamic programming for its calculation. The computational experiments show that the new upper bound can improve over a well-established combinatorial bound available in the literature for several instances. The results also evidence that the formulation by representatives has an overall superior performance than the standard formulation, achieving better results for the denser instances, while the latter performs better for the sparser ones to the Grundy coloring problem. However, we show that these types of integer programming formulations are computationally impractical for the connected version. Furthermore, the BRKGA can find high-quality solutions for both problems and can be used with confidence in large instances where the formulations fail for the Grundy coloring problem.

21
  • JUVENAL CONSTANTINO DE MACÊDO JÚNIOR
  • Investigando a associação entre Rajadas de Mudanças e o Status da Build

  • Orientador : RODRIGO ROCHA GOMES E SOUZA
  • MEMBROS DA BANCA :
  • RODRIGO ROCHA GOMES E SOUZA
  • IVAN DO CARMO MACHADO
  • JOSÉ AMÂNCIO MACEDO SANTOS
  • TIAGO OLIVEIRA MOTTA
  • Data: 18/12/2023

  • Mostrar Resumo
  • Rajadas de commits são sequências de modificações realizadas por desenvolvedores, que ocorrem no código dentro de um curto período de tempo. Em projetos que adotam a prática de Integração Contínua (IC), toda vez que uma modificação é finalizada, cria-se uma nova versão do código, gerando uma nova build. Nessa nova versão, as mudanças realizadas são verificadas automaticamente, executando testes de unidade e relatando o resultado de falha ou sucesso da build para os desenvolvedores. Nesse sentido, o objetivo desta pesquisa é realizar um estudo empírico para verificar a associação entre rajadas de commits e falhas na build. O primeiro passo foi a realização de um estudo empírico a partir da mineração de repositórios, por meio do qual se identificou a relação das rajadas de commits e falha na build. Após esse estudo, foi conduzido um survey, para se avaliar os resultados obtidos, considerando as opiniões de desenvolvedores que trabalham com IC. Dentre as descobertas realizadas, os resultados do primeiro estudo mostram que em alguns projetos a taxa de sucesso de builds após rajadas de mudanças tendem a diminuir. No entanto, não podemos generalizar os resultados para todos os projetos visto que, na maioria dos projetos estudados a diferença não foi estatisticamente significativa. No segundo estudo, a maioria dos participantes da pesquisa concordam que a proximidade da data de entrega de um projeto é um fator responsável pela rajada de commits e falha na build. No entanto, não podemos generalizar os resultados, visto que alguns desenvolvedores apresentaram pequenas discordâncias quanto aos responsáveis pela falha na build. Desse modo, os resultados deste trabalho pretendem contribuir com a comunidade de desenvolvedores que utilizam IC, ajudando-os a reduzir falhas na build, podendo orientar trabalhos futuros sobre boas práticas de desenvolvimento.


  • Mostrar Abstract
  • Commit bursts are sequences of changes made by developers that occur in code within a short period of time. In projects that adopt the practice of Continuous Integration (CI), every time a modification is completed, a new version of the code is created, generating a new build. In this new version, the changes made are verified automatically, running unit tests and reporting the result of failure or success of build to the developers. In this sense, the objective of this research is to carry out an empirical study to verify the association between bursts of commits and failures in build. The first step was to carry out an empirical study based on the mining of deposits, through which the relationship between bursts of commits and construction failure was identified. After this study, a survey was followed to evaluate the results obtained, considering the opinions of developers who work with CI. Among the discoveries made, the results of the first study show that in some projects the success rate of builds after bursts of changes tends to decrease. However, we cannot generalize the results to all projects since, in most of the studied projects, the difference was not statistically significant. In the second study, most survey participants agree that the proximity of a project's delivery data is a factor responsible for bursts of commits and build failure. However, we cannot generalize the results, since some developers had small disagreements about who was responsible for the construction failure. Thus, the results of this work intend to contribute to the community of developers who use CI, helping them to reduce failures in build, facilitating future work on good development practices.

22
  • ANGELA PEIXOTO SANTANA
  • Um Estudo de Caracterização da Dívida Técnica em Software na Indústria

  • Orientador : CHRISTINA VON FLACH GARCIA CHAVEZ
  • MEMBROS DA BANCA :
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • IVAN DO CARMO MACHADO
  • CRESCENCIO RODRIGUES LIMA NETO
  • TIAGO OLIVEIRA MOTTA
  • Data: 20/12/2023

  • Mostrar Resumo
  • Contexto. O termo Dívida Técnica (DT) denota resultados e consequências da decisão de priorizar a entrega rápida de software, com foco na eficácia de curto prazo, em detrimento de sua qualidade. Dívidas de natureza técnica contraídas durante o desenvolvimento e manutenção de um software devem ser identificadas, caracterizadas e pagas no futuro, para não comprometer sua qualidade e a facilidade de evolução. Em projetos de software desenvolvidos na indústria, reconhece-se a necessidade de identificar e caracterizar a DT no ciclo de vida de um software, buscando gerenciá-la e mitigar ameaças ao sucesso de longo prazo de um software. Estudos na indústria permitem explorar diferentes aspectos da DT na prática e sob diferentes perspectivas, por exemplo, de desenvolvedores e gerentes, enriquecendo a caracterização da DT. Objetivos. O objetivo principal deste trabalho foi investigar, no contexto de uma empresa de TI, as percepções dos profissionais de equipes de desenvolvimento sobre o conceito de DT e sobre como a DT se manifesta em um dos sistemas de software desenvolvidos. Métodos. Realizou-se um estudo no contexto da filial de uma empresa de desenvolvimento de software, incluindo: (i) um estudo de levantamento (survey) com funcionários que atuavam no desenvolvimento de software na filial; (ii) uma caracterização preliminar da DT de um sistema de software a partir da identificação da DT com o apoio da ferramenta de análise estática adotada pela empresa, SonarQube; (iii) entrevistas semi-estruturadas com a equipe de desenvolvimento do software analisado sobre a DT identificada pelo SonarQube. Resultados. O estudo de levantamento recebeu 32 respostas válidas. Observou-se que o conceito de DT era conhecido pela maioria dos profissionais que participaram do estudo, entretanto, com pouca familiaridade com as consequências de longo prazo da DT. A caracterização do sistema de software com base na identificação automática da DT foi realizada e usada como suporte para seis entrevistas. Segundo os desenvolvedores entrevistados, os prazos definidos para a implementação dos requisitos são notadamente curtos. As documentações, ao não serem atualizadas, tornam-se insuficientes no longo prazo, enquanto os testes são relegados a segundo plano em favor de entregas mais rápidas. Conclusões. A caracterização da Dívida Técnica em uma empresa, sob diferentes perspectivas, revelou que os prazos estabelecidos são o fator preponderante para as equipes de desenvolvimento decidirem incorrer em dívida técnica. A equipe entrevistada frequentemente opta por essa abordagem para atender aos prazos de entrega. Apesar de ser um tema conhecido, ainda há a necessidade de explorar e caracterizar as consequências a longo prazo da Dívida Técnica. Embora haja um aumento nas pesquisas sobre dívida técnica, o campo carece de consenso em suas definições e nos impactos a longo prazo na indústria.


  • Mostrar Abstract
  • Context. The term Technical Debt (TD) denotes the results and consequences of the decision to prioritize the rapid delivery of software, focusing on short-term effectiveness at the expense of its quality. Technical debts incurred during the development and maintenance of software must be identified, characterized, and repaid in the future to avoid compromising its quality and the ease of its evolution.
    In software projects developed in the industry, there is a recognized need to identify and characterize TD throughout the software lifecycle, aiming to manage it and mitigate threats to the long-term success of software. Industry studies allow exploring different aspects of TD in practice and from various perspectives, such as those of developers and managers, enriching the characterization of TD.


    Objectives. The main objective of this work is to investigate, in the context of an IT company, the perceptions of development team professionals regarding the concept of Technical Debt (TD) and how TD manifests in one of the developed software systems.

    Methods. We conducted a study in the context of a software development company branch, comprising:

    (i) a survey with employees engaged in software development at the branch;
    (ii) a preliminary characterization of the Technical Debt (TD) in a software system based on the identification of TD using the static analysis tool adopted by the company, SonarQube;
    (iii) semi-structured interviews with the development team of the analyzed software regarding the TD identified by SonarQube.


    Results. The survey study received 32 valid responses. It was observed that the concept of Technical Debt (TD) was known to the majority of professionals who participated in the study; however, they exhibited little familiarity with the long-term consequences of TD. The characterization of the software system based on the automatic identification of TD was conducted and used as support for the interviews. The deadlines set for the implementation of requirements are notably short. The documentation, when not updated, becomes insufficient in the long term, while testing is relegated to the background in favor of faster deliveries.

    Conclusions. A characterization of Technical Debt in the industry revealed that established deadlines are the predominant factor for development teams to decide to incur technical debt. The team often chooses this approach to meet delivery deadlines. Despite being a known topic, there is still a need to disseminate the long-term consequences of Technical Debt. However, despite the increasing research on technical debt, the field lacks consensus on its definitions and long-term impacts on the industry.

     

23
  • ADRIANO HUMBERTO DE OLIVEIRA MAIA
  • Um Framework baseado em Fog Computing para redução de dados em um sistema de detecção de tráfego para VANETs

  • Orientador : MAYCON LEONE MACIEL PEIXOTO
  • MEMBROS DA BANCA :
  • RODRIGO AUGUSTO CARDOSO DA SILVA
  • ROBERTO RODRIGUES FILHO
  • MAYCON LEONE MACIEL PEIXOTO
  • Data: 20/12/2023

  • Mostrar Resumo
  • Com o crescimento da quantidade de veículos no mundo nos últimos anos, se tornou necessária a adoção de tecnologias para lidar com as consequências que esse volume veicular pode gerar para as grandes cidades, como o aumento dos congestionamento nas rodovias. As redes veiculares Ad-Hoc (VANETs) se apresentam como uma tecnologia promissora nesse cenário, auxiliando na formação de redes veiculares capazes de interconectar veículos e infraestrutura para entender e lidar com congestionamento de veículos. Considerando isso, a quantidade de dados gerados por esse ambiente aumenta na proporção que o número de veículos nas vias cresce. Consequentemente, o envio dos dados do ambiente veicular para a estrutura que identifica o congestionamento, pode ser cada vez mais oneroso no ponto de vista de utilização de rede, podendo gerar sobrecargas e aumento da latência e dificultando a tomada de decisão rápida. Dessa forma, propomos nesse trabalho, a construção de um Framework que visa identificar congestionamento de veículos, com uma abordagem para reduzir na camada de névoa, os dados gerados por uma VANET e depois enviar para a nuvem somente os dados mais relevantes para tomada de decisão. Além da detecção de congestionamento, com os dados históricos em formato de séries temporais realizamos a previsão de congestionamento utilizando ARIMA. Para trabalhar com a redução dos dados, o Framework utiliza algoritmos de amostragem simples e  técnicas de agrupamento (DBSCAN e XMEANS). Os resultados mostraram que, a utilização de algoritmos de agrupamento nesse Framework pode alcançar um nível significativo de acurácia na detecção de congestionamento de tráfego em conjunto com uma redução acentuada do uso de rede.


  • Mostrar Abstract
  • With the growth in the number of vehicles in the world in recent years, it has become necessary to adopt technologies to deal with the consequences that this vehicle volume can generate for large cities, such as increased congestion on highways. Vehicular Ad-Hoc Networks (VANETs) present themselves as a promising technology in this scenario, helping to form vehicular networks capable of interconnecting vehicles and infrastructure to understand and deal with vehicle congestion. Considering this, the amount of data generated by this environment increases as the number of vehicles on the roads increases. Consequently, sending data from the vehicular environment to the structure that identifies congestion can be increasingly costly from the point of view of network use, potentially generating overloads and increased latency, making quick decision-making difficult. Therefore, in this work, we propose the construction of a Framework that aims to identify vehicle congestion, with an approach to reduce the data generated by a VANET in the fog layer and then send only the most relevant data to the cloud. for decision making. In addition to congestion detection, with historical data in time series format we perform congestion prediction using ARIMA. To work with data reduction, \textit{Framework} uses simple sampling algorithms and clustering techniques (DBSCAN and XMEANS). The results showed that the use of clustering algorithms in this Framework can achieve a significant level of accuracy in detecting traffic congestion together with a marked reduction in network usage.

24
  • IURY MAIA DE ALMEIDA
  • Predição da Evasão de Jogadores em Jogo Grátis-Para-Jogar Utilizando Game Analytics

  • Orientador : RODRIGO ROCHA GOMES E SOUZA
  • MEMBROS DA BANCA :
  • LYNN ROSALINA GAMA ALVES
  • RODRIGO ROCHA GOMES E SOUZA
  • TIAGO OLIVEIRA MOTTA
  • Data: 21/12/2023

  • Mostrar Resumo
  • A problemática da evasão de jogadores em jogos grátis-para-jogar representa um desafio significativo na indústria de jogos eletrônicos. A crescente popularidade desses modelos de negócios, nos quais os jogadores podem acessar o jogo gratuitamente, coloca uma ênfase crucial na retenção desses usuários para garantir o sucesso financeiro e a sustentabilidade do jogo. Nesse cenário, a análise preditiva emerge como uma ferramenta essencial para antecipar e compreender os padrões de evasão.

    O trabalho começou com um mapeamento sistemático de literatura no campo de modelos preditivos em game analytics, visando responder à principal questão de pesquisa, Como modelos preditivos estão sendo aplicados em game analytics?. A pesquisa foi conduzida com base em um protocolo que definiu os objetivos, questões de pesquisa e critérios de inclusão e exclusão.

    Os principais resultados indicam que a pesquisa sobre modelos preditivos em game analytics tem crescido significativamente desde 2010, com uma variedade de técnicas de aprendizado de máquina sendo aplicadas. Além disso os objetos de predição mais investigados incluem a probabilidade de vitória, a predição de evasão e a perícia do jogador. Quanto às técnicas de pré-processamento, foram identificadas várias abordagens, como análise de componentes principais (PCA) e técnicas de raspagem da web (web scraping).

    Focamos nossa pesquisa em predição de evasão, inicialmente pela definição de evasão e estabelecimento de datas de corte, com a consideração de múltiplas janelas de tempo para classificação dos jogadores como evadidos ou recorrentes. A análise abordou as ameaças à validade do trabalho, incluindo questões de definição de evasão, desequilíbrio de classes e o uso de técnicas como o SMOTE para balancear os dados.

    Foram avaliados seis modelos de aprendizado de máquina, com ênfase em métricas como acurácia, precisão, recall e AUC (Area Under the Curve). A técnica de 10-fold cross validation foi aplicada para validar os modelos, proporcionando uma visão mais abrangente de seu desempenho. A análise da importância das features revelou quais características dos jogadores eram mais relevantes para a previsão da evasão, embora a interpretação dessas features tenha sido destacada como dependente do contexto do jogo.

    Em última análise, o trabalho ofereceu insights promissores para a previsão de evasão de jogadores em jogos grátis-para-jogar, mas ressaltou a necessidade de abordagens cuidadosas e considerações contextuais para mitigar ameaças à validade e garantir a generalização dos modelos para diferentes conjuntos de dados e períodos no tempo.


  • Mostrar Abstract
  • The issue of player churn in free-to-play games poses a significant challenge in the electronic gaming industry. The growing popularity of these business models, where players can access the game for free, places a crucial emphasis on retaining these users to ensure the financial success and sustainability of the game. In this scenario, predictive analysis emerges as an essential tool to anticipate and understand the patterns of player churn.

    This study began with a systematic literature review in the field of predictive models in game analytics, aiming to answer the main research question: How are predictive models applied in game analytics? The research was conducted based on a protocol that defined the objectives, research questions, and inclusion and exclusion criteria.

    The main findings indicate that research on predictive models in game analytics has grown significantly since 2010, with a variety of machine learning techniques being applied. Furthermore, the most investigated prediction targets include the probability of winning, churn prediction, and player expertise. Regarding preprocessing techniques, several approaches were identified, such as Principal Component Analysis (PCA) and web scraping techniques.

    We focused our research on churn prediction, initially by defining churn and establishing cutoff dates, considering multiple time windows for classifying players as churned or recurrent. The analysis addressed the validity threats of the work, including churn definition issues, class imbalance, and the use of techniques like SMOTE to balance the data.

    Six machine learning models were evaluated, with an emphasis on metrics like accuracy, precision, recall, and AUC (Area Under the Curve). The 10-fold cross-validation technique was applied to validate the models, providing a more comprehensive view of their performance. The analysis of feature importance revealed which player characteristics were most relevant for churn prediction, although the interpretation of these features was highlighted as context-dependent.

    Ultimately, the work offered promising insights into the prediction of player churn in free-to-play games but emphasized the need for careful approaches and contextual considerations to mitigate validity threats and ensure the generalization of models to different datasets and time periods.

Teses
1
  • EMMANUEL SÁVIO SILVA FREIRE
  • Organizando o Estado da Prática em Prevenção, Monitoramento e Pagamento de Dívidas Técnicas em Projetos de Software

  • Orientador : MANOEL GOMES DE MENDONCA NETO
  • MEMBROS DA BANCA :
  • DANIELA SOARES CRUZES
  • MANOEL GOMES DE MENDONCA NETO
  • RENATO LIMA NOVAIS
  • THIAGO SOUTO MENDES
  • UIRÁ KULESZA
  • Data: 30/01/2023

  • Mostrar Resumo
  • Contexto: Dívida Técnica (DT) descreve os efeitos de artefatos imaturos no desenvolvimento de software que podem trazer benefícios a curto prazo, mas que poderão ter que ser pagos com juros a longo prazo. O gerenciamento da DT equilibra os objetivos de curto e longo prazo, auxiliando as equipes de desenvolvimento a decidir sobre a necessidade e o melhor momento para eliminar a dívida. Dentre as atividades de gerenciamento da DT, tem-se a prevenção, o monitoramento e o pagamento. Por meio da prevenção, é possível evitar que equipes incorram em DT, enquanto o monitoramento as auxilia a acompanhar a evolução dos itens da DT em relação ao custo-benefício de eliminá-los ou não, ou seja, pagar os itens da dívida. Conhecer as práticas utilizadas para prevenir, monitorar e pagar os itens da DT pode auxiliar equipes de desenvolvimento na escolha da melhor prática a ser utilizada nos seus projetos. Identificar as razões que levam à não prevenção, ao não monitoramento e ao não pagamento da DT pode ajudar equipes a entenderem quais aspectos precisam ser melhorados para possibilitar o gerenciamento da DT. Embora a literatura técnica tenha investigado a prevenção, o monitoramento e o pagamento da DT, os resultados atuais refletem apenas o ponto de vista de um pequeno número de profissionais e organizações. Para alcançar os benefícios da gestão da DT, é necessário investigar mais profundamente as práticas e as razões associados a essas atividades da DT.

    Objetivo: Esta tese tem como objetivo investigar, por meio da replicação contínua e independente de uma família de surveys conduzidos globalmente, o estado da prática sobre a prevenção, o monitoramento e o pagamento de itens da DT em projetos de software.

    Método: Inicialmente, foi realizada uma revisão da literatura sobre o estado atual da pesquisa sobre DT e sua prevenção, monitoramento e pagamento. Em seguida, foram analisados os dados coletados por seis equipes de replicação do projeto InsighTD, uma família de surveys globalmente distribuída sobre causas, efeitos e gerenciamento da DT. A partir do corpo de conhecimento resultante das análises dos dados de InsighTD, foram definidos três artefatos: uma versão atualizada do modelo conceitual de DT, um conjunto de mapas conceituais e os diagramas IDEA (Impediments, Decision factors, Enabling practices, and Actions). Por fim, os três artefatos foram avaliados por meio de estudos de casos na academia e na indústria.

    Resultados: Esta tese apresenta as principais práticas utilizadas para prevenir, monitorar e pagar itens da DT e as razões que justificam a não aplicação dessas práticas. Em relação à prevenção da DT, requisitos bem definidos, adoção de boas práticas de programação e melhor gerenciamento do projeto estão entre as cinco práticas relacionadas à prevenção mais citadas, enquanto prazo curto, gerenciamento ineficiente e falta de previsibilidade no desenvolvimento de software estão entre as cinco razões mais citadas para justificar a não prevenção da dívida. Sobre o monitoramento da DT, backlog composto por itens da DT, utilização de ferramentas e reuniões da equipe estão entre as cinco práticas relacionadas ao monitoramento mais citadas, enquanto falta de interesse, foco em metas de curto prazo e falta de tempo estão entre as cinco razões utilizadas para explicar o não monitoramento de itens da DT. Em relação ao pagamento da DT, refatoração de código, investindo esforço nas atividades de pagamento da DT e refatoração de design estão entre as cinco práticas relacionadas ao pagamento mais citadas, enquanto foco em metas de curto prazo, falta de interesse organizacional e falta de tempo estão entre as cinco razões mais citadas para explicar o não pagamento da DT. O modelo conceitual da DT foi atualizado por meio da inclusão do conhecimento oriundo do estado da prática e todas as práticas e razões, juntamente com seus tipos, natureza e categorias, foram organizadas em mapas conceituais e diagramas IDEA. Por meio da avaliação do modelo conceitual e do mapa de pagamento da DT, foi encontrado que eles são bem-organizados e fornecem informações valiosas para definir estratégias de gerenciamento da DT. A avaliação dos diagramas IDEA forneceu evidências positivas de que eles são fáceis de ler e seguir e podem influenciar as decisões sobre como gerenciar itens de TD. Conclusão: Utilizando dados de InsighTD, esta tese explora o estado da prática da prevenção, monitoramento e pagamento da DT, revelando as principais práticas utilizadas para realizar essas atividades e as razões que evitam sua execução. Todo o corpo de conhecimento foi organizado em três artefatos que podem guiar novas investigações sobre a DT e apoiar os profissionais de software a aumentar suas capacidades e reduzir seus problemas no gerenciamento de itens de dívida.


  • Mostrar Abstract
  • Context: Technical debt (TD) describes the effects of immature artifacts on software development that can bring benefits in the short term but may have to be paid with interest in the long term. TD management balances short-term and long-term goals, supporting development teams to decide on the need and the best time to eliminate the debt. TD management activities include prevention, monitoring, and payment. Through prevention, it is possible to prevent teams from incurring TD, while monitoring helps them follow the evolution of TD items concerning the cost-benefit of eliminating them or not, that is, paying the debt items. Knowing the practices used to prevent, monitor, and pay TD items can help development teams to choose the best practice to be used in their projects. Identifying the practice avoidance reasons (PARs) that lead to nonprevention, non-monitoring, and non-payment of TD can help teams understand which aspects need to be improved to enable TD management. Although the technical literature has investigated the prevention, monitoring, and payment of TD, current results only reflect the viewpoint of a small number of professionals and organizations. To achieve the benefits of TD management, it is necessary to investigate more deeply the practices and PARs associated with these TD activities.

    Aims: This Ph.D. dissertation aims to investigate, through the continuous and independent replication of a family of surveys conducted globally, the state of practice on the prevention, monitoring, and payment of TD items in software projects.

    Method: Initially, we conducted a literature review on the current state of research on TD and its prevention, monitoring, and payment. Then, we analyzed data collected by six replication teams from the InsighTD project, which is a family of globally distributed surveys on the causes, effects, and management of TD. From the body of knowledge resulting from the analysis of InsighTD data, we defined three artifacts: an updated version of the conceptual model for TD, a set of conceptual maps, and IDEA (Impediments, Decision factors, Enabling practices, and Actions) diagrams. Finally, we assessed these artifacts through case studies in academic and industrial settings.

    Results: This Ph.D. dissertation presents the leading practices used to prevent, monitor, and pay off TD items and the PARs that justify the non-application of these practices. Regarding the prevention of TD, well-defined requirements, adopting good programming practices, and better project management are among the five most cited practices related to prevention, while short deadlines, ineffective management, and lack of predictability in the software development are among the five most cited PARs to justify the non-prevention of debt. About TD monitoring, TD item backlog, use of tools, and team meetings are among the five most cited practices related to monitoring, while lack of interest, focus on short-term goals, and lack of time are among the five PARs used to explain the non-monitoring of TD items. Regarding TD payment, code refactoring, investing effort in TD payment activities, and design refactoring are among the top five payment-related practices, while focusing on short-term goals, lack of organizational interest, and lack of time are among the five most cited PARs to explain the non-payment of TD. We update the conceptual model for TD by including the knowledge we learn from the state of practice and organize all practices and PARs along with their types, natures, and categories into maps and IDEA diagrams. From the conceptual model and TD payment map assessment, we found that they are well organized and provide valuable information to define strategies for TD management. The IDEA diagrams assessment provided positive evidence that the diagrams are easy to read and follow and can influence decisions on how to manage TD items.

    Conclusion: Using the InsighTD data, this Ph.D. dissertation explores the state of practice on TD prevention, monitoring, and payment, revealing the primary practices used to perform these activities and the PARs that avoid their execution. All body of knowledge was organized into three artifacts that can drive new investigations on TD and support software practitioners in increasing their capabilities and reducing their issues in managing debt items.

2
  • Edson Mota da Cruz
  • DaRkaM: Um Framework de Redução de Dados Baseado na Névoa Aplicado ao Contexto da Computação Urbana

  • Orientador : MAYCON LEONE MACIEL PEIXOTO
  • MEMBROS DA BANCA :
  • ADEMAR TAKEO AKABANE
  • DIONISIO MACHADO LEITE FILHO
  • GERALDO PEREIRA ROCHA FILHO
  • LOURENÇO ALVES PEREIRA JUNIOR
  • MAYCON LEONE MACIEL PEIXOTO
  • Data: 01/02/2023

  • Mostrar Resumo
  • Os Sistemas de Transporte Inteligente (ITS) são projetados para analisar o fluxo de veículos nas rodovias com o objetivo de identificar eventuais anomalias de tráfego, garantindo maior eficiência na tomada de decisão. Estes sistemas podem ser estruturados no contexto das redes veiculares Ad-Hoc (VANET), na qual realizam a tarefa de integrar os elementos do espaço urbano por meio de um sistema de comunicação distribuída. Analogamente, aplicações ITS requerem um monitoramento constante das rodovias e tal monitoramento visa analisar, entre outros aspectos, a variação da densidade de veículos ao longo do tempo. Em geral, este processo ocorre por meio do envio periódico de dados situacionais do ambiente de mobilidade para a nuvem. Como consequência, os conjuntos de dados enviados em alta frequência para nuvem formam um fluxo contínuo de dados a serem processados e essa dinâmica resulta no aumento progressivo do custo de comunicação. Esse fenômeno ocorre em função do volume de dados transferidos no enlace entre a névoa e a nuvem, elevando os riscos de sobrecarga no canal de comunicação, além de aumentar a latência durante as requisições de serviços disponibilizados na nuvem. Diante disso, propõe-se neste trabalho, a elaboração de uma arquitetura multicamada para redução de dados baseada em Fog Computing denominada DaRkaM, acrônimo em inglês para (Data Reduction Framework for Traffic Management). A estratégia consiste na utilização de uma estratégia de monitoramento capaz de realizar processos de redução de dados diretamente na borda da rede veicular. Na camada da nuvem, DaRkaM atua como um controlador central, analisando as posições geográficas dos veículos que são recebidas a partir de um fluxo de dados contínuo, os quais são utilizados nos processos de monitoramento e gestão do tráfego. %sobre os quais são realizadas as ações de monitoramento.
    Na borda da rede, um módulo de redução de dados implementado no framework DaRkaM foi projetado para hospedar diferentes estratégias de monitoramento de tráfego. Esta arquitetura permite a realização de análises comparativas envolvendo tanto a utilização de algoritmos baseados em amostragem simples, como o uso de algoritmos de agrupamento, nos quais os processos de redução de dados são estruturados com base na similaridade dos objetos analisados. Os resultados preliminares demonstraram que a utilização de algoritmos baseados em agrupamento, hospedados no núcleo de redução de dados do framework DaRkaM, podem alcançar uma significativa redução no custo de comunicação, especialmente em cenários sobrecarregados, além de manterem alta precisão no monitoramento e detecção de congestionamento de tráfego.


  • Mostrar Abstract
  • The Intelligent Transport Systems (ITS) has a function to analyze the flow of vehicles on highways in order to identify any traffic anomalies, ensuring greater efficiency during the decision-making process. These systems can be based on an Ad-Hoc vehicular network (VANETs) able to integrate the elements of urban space through a distributed communication system. Similarly, ITS applications require constant monitoring of roads, and such monitoring aims to analyze, among other aspects, the variation of the vehicle density over time. In general, this process occurs by means of the periodic sending of situational data from the mobility environment to the cloud. Consequently, the data sets sent at high frequency to the cloud form a continuous data flow that should be processed in a real-time context. However, this dynamic implies in a progressive increase of the communication cost, in function of the volume of data transferred in the link between the fog and the cloud, increasing the risks of overload beyond increasing the latency during requests for services made available in the cloud. Therefore, this work proposes the development of a multilayer architecture for data reduction based on Fog Computing called DaRkaM, acronym in English for (Data Reduction Framework for Traffic Management). The strategy consists of using a monitoring model able to perform data reduction processes directly at the edge of the vehicular network. At the cloud layer, DaRkaM acts as a central controller, analyzing the geographic positions of vehicles that are received from a continuous data flow. These data are used to monitor and perform the traffic management processes addressed in this proposal. At the edge network, a data reduction module was designed to host different traffic monitoring strategies. This architecture favors the comparative analysis among different approaches, ranging from the use of algorithms based on simple sampling until clustering algorithms, in which the data reduction processes are structured based on the number of clusters. The results showed that the use of cluster-based algorithms, hosted in the data reduction core of the DaRkaM framework, are able to achieve high accuracy in monitoring and detecting traffic congestion, in addition, they are able to reach a significant reduction in communication cost, especially in overloaded scenarios.

3
  • DIEGO BRAGA MONTEIRO DE MOURA
  • Heterogeneous Memory Management for Graph Applications

  • Orientador : VINICIUS TAVARES PETRUCCI
  • MEMBROS DA BANCA :
  • PAUL M. CARPENTER
  • LUIS FILIPE NUNES QUARESMA DE OLIVEIRA
  • DANIEL MOSSÉ
  • ESBEL TOMÁS VALERO ORELLANA
  • GEORGE MARCONI DE ARAUJO LIMA
  • VINICIUS TAVARES PETRUCCI
  • Data: 09/03/2023

  • Mostrar Resumo
  • A demanda por memória aumentou devido ao surgimento de várias aplicações, como big data, aprendizado de máquina, redes sociais, análise de grafos entre outros. A tecnologia DRAM está enfrentando problemas com escalabilidade, energia e custos, apesar de sua vantagem de baixa latência. A memória não volátil (NVM) é uma alternativa aos problemas de escalabilidade da DRAM. Embora o NVM tenha alta densidade, baixo custo e baixo consumo de energia, sua alta latência o impede de substituir a DRAM. Memórias heterogêneas como DRAM+NVM provavelmente se tornarão comuns, e o posicionamento eficiente de dados é uma importante questão de pesquisa. Esta dissertação de doutorado se concentra no gerenciamento de posicionamento de dados para aplicações de análise de grafos. Ele estuda modelos de aprendizado de máquina para prever o desempenho de aplicativos em um contexto com várias aplicações e explora opções de mapeamento de dados no nível de objeto ou bloco para uma única aplicação. A dissertação contribui para a identificação off-line de atributos de objetos que influenciam o desempenho, a implementação de um escalonador off-line no nível do chunk e a implementação de um escalonador on-line no nível do chunk.


  • Mostrar Abstract
  • The demand for memory has increased due to various applications such as big data, machine learning, social networks, and streaming analytics. DRAM technology is facing issues with scalability, energy, and costs, despite its low latency advantage. Non-Volatile Memory (NVM) is an alternative to DRAM scalability issues. Although NVM has high density, low cost, and low energy, its high latency prevents it from replacing DRAM. Heterogeneous memories like DRAM+NVM are likely to become common, and efficient data placement is an important research question. This PhD dissertation focuses on managing data placement for graph analytics applications. It studies machine learning models to predict application performance in a context with multiple applications and explores data mapping choices at the object or chunk level for a single application. The dissertation contributes to offline identification of performance-influencing object attributes, implementation of an offline scheduler at the chunk level, and implementation of an online scheduler at the chunk level.

4
  • Valéria Argôlo Rosa de Queiroz
  • Design de Interação Semioparticipativo por pessoas Idosas: empatia e engajamento na produção de tecnologia

  • Orientador : ECIVALDO DE SOUZA MATOS
  • MEMBROS DA BANCA :
  • SIMONE BACELLAR LEAL FERREIRA
  • KAMILA RIOS DA HORA RODRIGUES
  • FAUSTO ORSI MEDOLA
  • ECIVALDO DE SOUZA MATOS
  • MARLO VIEIRA DOS SANTOS E SOUZA
  • Data: 27/03/2023

  • Mostrar Resumo
  • O número de pessoas idosas tem aumentado consideravelmente em todo o mundo. Assim, a ciência tem desenvolvido estratégias para ajudar as pessoas a envelhecer com saúde e manter a vida ativa. As tecnologias digitais podem contribuir para isso. No entanto, essas tecnologias nem sempre são projetadas de acordo com as reais necessidades e expectativas dos idosos. Estimular idosos a projetar tecnologias computacionais por meio de perspectivas abertas e participativas de design de interação tem-se mostrado uma solução possível. Contudo, engajar o sujeito idoso nesse processo e torná-lo parceiro de design ainda é desafiador. A maioria dos estudos baseados em práticas participativas encontrados não estabelece o engajamento de potenciais usuários, principalmente em relação aos sujeitos idosos. Desse modo, esta pesquisa teve o objetivo de investigar e desenvolver técnicas de engajamento do sujeito idoso na concepção de tecnologias digitais por meio de um processo semioparticipativo de (co)design de interação, estabelecendo a empatia como elemento fundamental de engajamento. Para isso, inicialmente foi elaborado um modelo de engajamento para integrar os elementos e variáveis desse modelo em um processo semioparticipativo. Sob essa perspectiva, realizou-se dois estudos de casos, o primeiro no formato presencial e o segundo no formato remoto, em uma abordagem qualitativa com mulheres idosas. Os resultados analisados por meio do método de análise de conteúdo confirmaram a potencialidade dos elementos e variáveis para melhorar o engajamento do sujeito idoso. Espera-se que esses resultados possam contribuir para a ampliação dos processos semioparticipativos de codesign de interação na perspectiva do sujeito idoso, além de oferecer elementos epistemológicos para desenvolvimento de métodos e processos de design de interação inclusivos.


  • Mostrar Abstract
  • The number of elderly people has increased considerably around the world. Thus, science has developed strategies to help people age healthily and maintain an active life. Digital technologies can contribute to this. However, these technologies are not always designed according to the real needs and expectations of the elderly. Encouraging the elderly to design computational technologies through open and participatory perspectives of interaction design has been shown to be a possible solution. However, engaging older people in this process and making them a design partner is still challenging. Most studies based on participatory practices found do not establish the engagement of potential users, especially in relation to elderly people. Therefore, this research aimed to investigate and develop techniques to engage the elderly in designing digital technologies through a semi-participatory interaction (co)design process, establishing empathy as a fundamental engagement element. To this end, an engagement model was initially developed to integrate the elements and variables of this model in a semi-participatory process. From this perspective, two case studies were carried out, the first in a face-to-face format and the second in a remote format, in a qualitative approach with elderly women. The results analyzed using the content analysis method confirmed the potentiality of the elements and variables to improve the engagement of the elderly person and, thus, provided the conception of an informative educational document in Guide format, highlighting the main techniques, activities and strategies with the purpose of making the conduction of a semi-participatory Interaction co-design process more practical and accessible. It is expected that these results may contribute to the expansion of semi-participatory interaction co-design processes from the perspective of the elderly person, besides offering epistemological elements for developing inclusive interaction design methods and processes.

5
  • Djan Almeida Santos
  • Compreensibilidade de Código Fonte com Dependência entre Features em Sistemas Configuráveis

  • Orientador : CLAUDIO NOGUEIRA SANT ANNA
  • MEMBROS DA BANCA :
  • ROHIT GHEYI
  • FLÁVIO MOTA MEDEIROS
  • CLAUDIO NOGUEIRA SANT ANNA
  • EDUARDO SANTANA DE ALMEIDA
  • IVAN DO CARMO MACHADO
  • Data: 28/03/2023

  • Mostrar Resumo
  • Compilação condicional é frequentemente utilizada para implementar variabilidade em código fonte de sistemas configuráveis. Compilação condicional utiliza #ifdefs para delimitar o código de uma funcionalidade (feature). Estudos anteriores mostraram que #ifdefs podem dificultar a compreensão do código. No entanto, esses estudos não levaram explicitamente em conta as dependências entre features. A dependência entre feature ocorre quando diferentes features se referem ao mesmo elemento de programa, como por exemplo, uma variável. A compreensibilidade de código fonte de sistemas configuráveis pode ser ainda mais afetada na presença de dependência entre features, pois o desenvolvedor deve raciocinar sobre diferentes cenários que afetam a mesma variável. Nosso objetivo é, portanto, entender como a dependência entre features afeta a compreensibilidade do código fonte de sistemas configuráveis. Para isso, realizamos quatro estudos experimentais complementares. No Estudo 1, quarenta e seis desenvolvedores responderam a uma pesquisa online. Eles executaram tarefas nas quais tiveram que analisar programas contendo #ifdefs com e sem dependências entre features. No entanto, as dependências entre features podem ser de tipos diferentes, dependendo do escopo da variável compartilhada. No Estudo 1, não nos preocupamos com diferentes tipos de dependência. Assim, no Estudo 2, realizamos um experimento no qual 30 desenvolvedores depuraram programas com diferentes tipos de dependência entre features. Cada programa incluiu um tipo diferente de dependência entre features: global, intraprocedural ou interprocedural. Usamos um dispositivo de rastreamento ocular para registrar os movimentos do olhar dos desenvolvedores enquanto depuravam os programas. No entanto, as dependências entre features não diferem umas das outras apenas em termos de tipos. Eles também podem apresentar diferenças em termos de número de variáveis dependentes e grau de variabilidade, entre outros. Para atender a essas características, complementamos os Estudos 1 e 2 por meio dos Estudos 3 e 4. No Estudo 3, realizamos um experimento controlado com 12 participantes que analisaram programas com diferentes números de variáveis dependentes. No Estudo 4, realizamos um experimento no qual 12 desenvolvedores analisaram programas com diferentes graus de variabilidade. Nossos resultados mostram que: (i) analisar programas contendo #ifdefs e dependência entre features exigiu mais tempo do que programas contendo #ifdefs, mas sem dependência entre features, (ii) depurar programas com #ifdefs e dependência global ou interprocedural exigiu mais tempo e maior esforço visual do que programas com dependência intraprocedural, (iii) quanto maior o número de variáveis dependentes, mais difícil foi para entender programas com dependência entre features e (iv) o grau de variabilidade não afetou a compreensibilidade de programas com dependência entre features. Em resumo, nossos estudos mostraram que #ifdefs afetaram a compreensibilidade de sistemas configuráveis em diferentes graus, dependendo da presença ou não de dependência entre features, do tipo de dependência entre features e do número de variáveis dependentes.


  • Mostrar Abstract
  • Conditional compilation is often used to implement variability in configurable systems. This technique relies on #ifdefs to delimit feature code. Previous studies have shown that #ifdefs may hinder code comprehensibility. However, those studies did not explicitly take feature dependencies into account. Feature dependency occurs when different features refer to the same program element, such as a variable. Comprehensibility may be even more affected in the presence of feature dependency, as the developer must reason about different scenarios affecting the same variable. Our goal is to understand how feature dependency affects the comprehensibility of configurable system source code. We conducted four complementary empirical studies. In Study 1, forty-six developers responded an online survey. They executed tasks in which they had to analyze programs containing #ifdefs with and without feature dependency. However, feature dependencies may be of different types depending on the scope of the shared variable. In Study 1, we were not concerned with different types of dependency. Thus, in Study 2, we carried out an experiment in which 30 developers debugged programs with different types of feature dependency. Each program included a different type of feature dependency: global, intraprocedural or interprocedural. We used an eye-tracking device to record developers' gaze movements while they debugged programs. However, feature dependencies do not differ from each other only in terms of types. They can also present differences in terms of number of dependent variables and degree of variability, among others. To address those characteristics, we complemented Study 1 and 2 by means of Studies 3 and 4. In Study 3, we executed a controlled experiment with 12 participants who analyzed programs with different numbers of dependent variables and number of uses of dependent variables. In Study 4, we carried out an experiment in which 12 developers analyzed programs with different degrees of variability. Our results show that: (i) analyzing programs containing #ifdefs and feature dependency required more time than programs containing #ifdefs but without feature dependency, (ii) debugging programs with #ifdefs and global or interprocedural dependency required more time and higher visual effort than programs with intraprocedural dependency, (iii) the higher the number of dependent variables the more difficult it was to understand programs with feature dependency, and (iv) the degree of variability did not affect the comprehensibility of programs with feature dependency. In summary, our studies showed that #ifdefs affected comprehensibility of configurable systems in different degrees depending on the presence or not of feature dependency, on the type of feature dependency, and on the number of dependent variables.

6
  • LEANDRO OLIVEIRA DE SOUZA
  • Although Software Product Lines (SPL) offer the potential for order-of-magnitude improvements in software engineering performance, the up-front cost, level of effort, assumed risk, and latency required to make the transition to SPL are prohibitive adoption barriers for many organizations that could otherwise benefit from reusing of their existing systems. The SPL adoption from an extractive model based on a reengineering process of existing systems into SPL is an active research topic with tangible benefits in practice. It allows software development companies to preserve their investment and aggregate knowledge obtained while developing their individually developed systems portfolio. 

     

    Despite these benefits, adopting an extractive product line approach still requires a considerable upfront investment and is more complex to evolve than one-off systems. Because of these drawbacks, software companies refrain from adopting SPL, resorting to an ad-hoc practice of clone-and-own. To speed the conversion to and maintenance of SPL, we present FOUNDRY, a Software Transplantation (ST) approach that guides transplanting and merging features in a product line from existing systems. It is the first approach for SPL that automates all stages of product line construction using the ST technique. We realized Foundry in a software transplantation tool for SPL that automates identifying, adapting, and transferring features from existing systems to a standard product base. Its code transfer mechanism between different systems allows it to be used not only for generating product lines but also as an alternative to the clone-and-own technique for system specialization. We compared our proposal with the existing reengineering solutions to demonstrate evidence that the ST is an alternative with the potential for application in reengineering existing systems to SPL. In the search for more concrete evidence, we evaluated two case studies where two products were generated by transplanting features from three real-world systems.

     

    Moreover, we experimented with comparing Foundry’s feature migration with manual effort. We show that Foundry automatically migrated features across codebases 4.8 times faster, on average, than the average time a group of SPL experts took to accomplish the task. Although preliminary, our evaluation provides evidence to support the claim that ST for Software Product Line Engineering (SPLE) is a feasible and promising new research direction.


  • Orientador : EDUARDO SANTANA DE ALMEIDA
  • MEMBROS DA BANCA :
  • CLAUDIO NOGUEIRA SANT ANNA
  • EDUARDO SANTANA DE ALMEIDA
  • GUSTAVO HENRIQUE LIMA PINTO
  • LEOPOLDO MOTTA TEIXEIRA
  • RODRIGO ROCHA GOMES E SOUZA
  • Data: 30/06/2023

  • Mostrar Resumo
  • Although Software Product Lines (SPL) offer the potential for order-of-magnitude improvements in software engineering performance, the up-front cost, level of effort, assumed risk, and latency required to make the transition to SPL are prohibitive adoption barriers for many organizations that could otherwise benefit from reusing of their existing systems. The SPL adoption from an extractive model based on a reengineering process of existing systems into SPL is an active research topic with tangible benefits in practice. It allows software development companies to preserve their investment and aggregate knowledge obtained while developing their individually developed systems portfolio. 

     

    Despite these benefits, adopting an extractive product line approach still requires a considerable upfront investment and is more complex to evolve than one-off systems. Because of these drawbacks, software companies refrain from adopting SPL, resorting to an ad-hoc practice of clone-and-own. To speed the conversion to and maintenance of SPL, we present FOUNDRY, a Software Transplantation (ST) approach that guides transplanting and merging features in a product line from existing systems. It is the first approach for SPL that automates all stages of product line construction using the ST technique. We realized Foundry in a software transplantation tool for SPL that automates identifying, adapting, and transferring features from existing systems to a standard product base. Its code transfer mechanism between different systems allows it to be used not only for generating product lines but also as an alternative to the clone-and-own technique for system specialization. We compared our proposal with the existing reengineering solutions to demonstrate evidence that the ST is an alternative with the potential for application in reengineering existing systems to SPL. In the search for more concrete evidence, we evaluated two case studies where two products were generated by transplanting features from three real-world systems.

     

    Moreover, we experimented with comparing Foundry’s feature migration with manual effort. We show that Foundry automatically migrated features across codebases 4.8 times faster, on average, than the average time a group of SPL experts took to accomplish the task. Although preliminary, our evaluation provides evidence to support the claim that ST for Software Product Line Engineering (SPLE) is a feasible and promising new research direction.



  • Mostrar Abstract
  • Although Software Product Lines (SPL) offer the potential for order-of-magnitude improvements in software engineering performance, the up-front cost, level of effort, assumed risk, and latency required to make the transition to SPL are prohibitive adoption barriers for many organizations that could otherwise benefit from reusing of their existing systems. The SPL adoption from an extractive model based on a reengineering process of existing systems into SPL is an active research topic with tangible benefits in practice. It allows software development companies to preserve their investment and aggregate knowledge obtained while developing their individually developed systems portfolio. 

     

    Despite these benefits, adopting an extractive product line approach still requires a considerable upfront investment and is more complex to evolve than one-off systems. Because of these drawbacks, software companies refrain from adopting SPL, resorting to an ad-hoc practice of clone-and-own. To speed the conversion to and maintenance of SPL, we present FOUNDRY, a Software Transplantation (ST) approach that guides transplanting and merging features in a product line from existing systems. It is the first approach for SPL that automates all stages of product line construction using the ST technique. We realized Foundry in a software transplantation tool for SPL that automates identifying, adapting, and transferring features from existing systems to a standard product base. Its code transfer mechanism between different systems allows it to be used not only for generating product lines but also as an alternative to the clone-and-own technique for system specialization. We compared our proposal with the existing reengineering solutions to demonstrate evidence that the ST is an alternative with the potential for application in reengineering existing systems to SPL. In the search for more concrete evidence, we evaluated two case studies where two products were generated by transplanting features from three real-world systems.

     

    Moreover, we experimented with comparing Foundry’s feature migration with manual effort. We show that Foundry automatically migrated features across codebases 4.8 times faster, on average, than the average time a group of SPL experts took to accomplish the task. Although preliminary, our evaluation provides evidence to support the claim that ST for Software Product Line Engineering (SPLE) is a feasible and promising new research direction.


7
  • SILVIO LUIZ BRAGATTO BOSS
  • Avaliação automática de mapas conceituais para identificar indícios de aprendizagem significativa

  • Orientador : ALINE MARIA SANTOS ANDRADE
  • MEMBROS DA BANCA :
  • DAVIDSON CURY
  • ALINE MARIA SANTOS ANDRADE
  • CREDINE SILVA DE MENEZES
  • ECIVALDO DE SOUZA MATOS
  • LYNN ROSALINA GAMA ALVES
  • MARLO VIEIRA DOS SANTOS E SOUZA
  • Data: 01/09/2023

  • Mostrar Resumo
  • Mapas Conceituais são ferramentas pedagógicas amplamente utilizadas para facilitar o
    processo de aprendizagem. De forma geral, podem ser definidos como diagramas com
    organização hierárquica que apresentam relações entre conceitos. São um importante
    instrumento para o ensino e avaliação do conhecimento por representarem, entre outras
    características, a estrutura cognitiva do aprendiz. Os mapas conceituais estão fundamentados
    na Teoria da Aprendizagem Significativa de Ausubel, assim, é possível avaliar os mapas com
    base em aspectos dessa Teoria, como as categorias-chave da diferenciação progressiva e
    reconciliação integrativa. Estas representam informações sobre o processo de construção do
    conhecimento sendo, portanto, fundamentais para uma avaliação de aprendizagem
    significativa. As categorias-chave podem ser identificadas no processo de elaboração dos
    mapas, no entanto, este processo não vem sendo muito explorado na literatura. A maioria dos
    trabalhos focam na análise comparativa entre o mapa do aprendiz e um mapa de referência
    para verificar se os conceitos e relações estão representados corretamente. A análise
    comparativa entre mapas é importante, mas não suficiente para uma avaliação da
    aprendizagem significativa, visto que as categorias-chave bem como outras informações da
    estrutura cognitiva do aprendiz, ou seja, como ele constrói e reconstrói seu conhecimento no
    decurso do seu processo de aprendizagem, são essenciais para identificar indícios de
    aprendizagem. Na literatura, há trabalhos que analisam a estrutura do mapa conceitual para
    classificar a qualidade da aprendizagem em aprendizagem mecânica, significativa ou não-
    aprendizagem, mas não analisa o processo de construção do mapa e nenhuma discussão é
    feita sobre a automatização da avaliação. Pesquisas no campo da Informática na Educação têm
    investigado o problema de se avaliar a aprendizagem, comparando mapas conceituais de
    aprendizes com um mapa de referência, por meio de ferramentas computacionais. Há diversas
    soluções que envolvem análise estrutural utilizando padrões de comparação e análise
    semântica por meio de ontologias de domínio. Esta tese de doutorado apresenta um modelo
    e um método para avaliação de mapas conceituais que considera avaliação sintática e
    semântica bem como o processo de construção de mapas, propondo critérios para identificar
    indícios de aprendizagem mecânica, significativa e não-aprendizagem. São consideradas
    avaliação qualitativa e quantitativa. Um framework conceitual é especificado fornecendo um
    arcabouço sobre a organização e estruturação de avaliação de mapas conceituais para apoiar a
    construção de sistemas computacionais para a sua automatização. Foram desenvolvidos
    estudos de caso, que serviram como uma primeira avaliação do método proposto.


  • Mostrar Abstract
  • Mapas Conceituais são ferramentas pedagógicas amplamente utilizadas para facilitar o
    processo de aprendizagem. De forma geral, podem ser definidos como diagramas com
    organização hierárquica que apresentam relações entre conceitos. São um importante
    instrumento para o ensino e avaliação do conhecimento por representarem, entre outras
    características, a estrutura cognitiva do aprendiz. Os mapas conceituais estão fundamentados
    na Teoria da Aprendizagem Significativa de Ausubel, assim, é possível avaliar os mapas com
    base em aspectos dessa Teoria, como as categorias-chave da diferenciação progressiva e
    reconciliação integrativa. Estas representam informações sobre o processo de construção do
    conhecimento sendo, portanto, fundamentais para uma avaliação de aprendizagem
    significativa. As categorias-chave podem ser identificadas no processo de elaboração dos
    mapas, no entanto, este processo não vem sendo muito explorado na literatura. A maioria dos
    trabalhos focam na análise comparativa entre o mapa do aprendiz e um mapa de referência
    para verificar se os conceitos e relações estão representados corretamente. A análise
    comparativa entre mapas é importante, mas não suficiente para uma avaliação da
    aprendizagem significativa, visto que as categorias-chave bem como outras informações da
    estrutura cognitiva do aprendiz, ou seja, como ele constrói e reconstrói seu conhecimento no
    decurso do seu processo de aprendizagem, são essenciais para identificar indícios de
    aprendizagem. Na literatura, há trabalhos que analisam a estrutura do mapa conceitual para
    classificar a qualidade da aprendizagem em aprendizagem mecânica, significativa ou não-
    aprendizagem, mas não analisa o processo de construção do mapa e nenhuma discussão é
    feita sobre a automatização da avaliação. Pesquisas no campo da Informática na Educação têm
    investigado o problema de se avaliar a aprendizagem, comparando mapas conceituais de
    aprendizes com um mapa de referência, por meio de ferramentas computacionais. Há diversas
    soluções que envolvem análise estrutural utilizando padrões de comparação e análise
    semântica por meio de ontologias de domínio. Esta tese de doutorado apresenta um modelo
    e um método para avaliação de mapas conceituais que considera avaliação sintática e
    semântica bem como o processo de construção de mapas, propondo critérios para identificar
    indícios de aprendizagem mecânica, significativa e não-aprendizagem. São consideradas
    avaliação qualitativa e quantitativa. Um framework conceitual é especificado fornecendo um
    arcabouço sobre a organização e estruturação de avaliação de mapas conceituais para apoiar a
    construção de sistemas computacionais para a sua automatização. Foram desenvolvidos
    estudos de caso, que serviram como uma primeira avaliação do método proposto.

8
  • GABRIELA OLIVEIRA MOTA DA SILVA
  • Explorando estratégias de personalização de similaridade baseadas em Lod para sistemas de recomendação

  • Orientador : FREDERICO ARAUJO DURAO
  • MEMBROS DA BANCA :
  • DANIELA BARREIRO CLARO
  • FREDERICO ARAUJO DURAO
  • LAIS DO NASCIMENTO SALVADOR
  • NATASHA CORREIA QUEIROZ LINO
  • ROSALVO FERREIRA DE OLIVEIRA NETO
  • Data: 28/09/2023

  • Mostrar Resumo
  • Linked Open Data (LOD) é uma nuvem de conjuntos de dados livremente acessíveis e interconectados abranger dados legíveis por máquina. Esses dados estão disponíveis em Web Semântica aberta padrões, como Resource Description Framework (RDF) e protocolo SPARQL e Linguagem de Consulta RDF (SPARQL). Um exemplo notável de um conjunto de LOD é o DBpedia, um esforço comunitário de crowdsourcing para extrair informações estruturadas da Wikipedia e tornar esta informação disponível abertamente na Web. O conteúdo semântico de LOD e os recursos avançados do SPARQL abriram oportunidades sem precedentes para habilitar aplicações semânticas. Sistemas de recomendação baseados em LOD Sistemas de recomendação geralmente aproveitam os dados disponíveis nos conjuntos de dados LOD, como DBpedia, para recomendar itens como filmes, lugares, livros e música para usuários finais. Esses sistemas usam uma semântica algoritmo de similaridade que calcula o grau de correspondência entre pares de recursos contando o número de links diretos e indiretos entre eles, o comprimento do caminho entre eles, ou a hierarquia de classes. Por outro lado, calcular a similaridade em Gráficos RDF podem ser difíceis porque cada recurso pode ter centenas de links para outros nós. Nem todos eles são semanticamente relevantes ou podem ser aplicados a todos os recursos em o gráfico. Isso pode levar ao conhecido problema de esparsidade da matriz. No entanto, alguns esforço foi feito para selecionar subconjuntos de recursos, ou seja, links, que são mais úteis para calcular a similaridade entre os itens de um conjunto de dados do gráfico, reduzindo a dimensão da matriz. Apesar de vários estudos nesta área, ainda faltam soluções aplicadas à personalização de tarefas de seleção de recursos. Neste contexto, propomos estratégias personalizadas para melhorar a precisão da similaridade semântica em sistemas de recomendação baseados em LOD, incluindo i) aplicar uma abordagem de seleção de recursos para filtrar os melhores recursos para um determinado usuário; ii) personalizar o grafo RDF adicionando pesos às arestas, de acordo com o desejo do usuário preferências anteriores; e iii) explorar a semelhança de propriedades literais, bem como a links do modelo de usuário. Os experimentos de avaliação usaram dados combinados da DBpedia e conjuntos de dados MovieLens e DBpedia e LastFM. Os resultados indicam significativa aumentos nas principais tarefas de recomendação em Precision@K (K=5, 10), Map e NDCG sobre métodos de semelhanças de linha de base não personalizados, como distância semântica de dados vinculados (LDSD) e Similaridade de Recursos (ReSim). Os resultados mostram que o LOD baseado estratégias de personalização do modelo do usuário e seleção de recursos exploradas neste trabalho são eficiente para melhorar sistemas de recomendação baseados em conteúdo em diversos contextos.


  • Mostrar Abstract
  • Linked Open Data (LOD) is a cloud of freely accessible and interconnected datasets that encompass machine-readable data. These data are available under open Semantic Web standards, such as Resource Description Framework (RDF), SPARQL Protocol, and RDF Query Language (SPARQL). One notable example of a LOD set is DBpedia, a crowd-sourced community effort to extract structured information from Wikipedia and make this information openly available on the Web. The semantic content of LOD and the advanced features of SPARQL has opened unprecedented opportunities for enabling semantic-aware applications. LOD-based Recommender Systems Recommender Systems usually leverage the data available within LOD datasets such as DBpedia to recommend items such as movies, places, books, and music to end-users. These systems use a semantic similarity algorithm that calculates the degree of matching between pairs of resources by counting the number of direct and indirect links between them, the length of the path between them, or the hierarchy of classes. Conversely, calculating similarity in RDF graphs could be difficult because each resource can have hundreds of links to other nodes. Not all of them are semantically relevant or can be applied to all resources in the graph. This can lead to the well-known matrix sparsity problem. Nevertheless, some effort has been made to select subsets of features, i.e., links, which are more helpful to computing similarity between items of a graph dataset, reducing the matrix dimension. Despite several studies in this field, there is still a lack of solutions applied to the personalization of feature selection tasks. In this context, we propose personalized strategies to improve semantic similarity precision in LOD-based Recommender Systems, including i) applying a feature selection approach to filter the best features for a particular user, ii) personalizing the RDF graph by adding weights to the edges, according to the user’s previous preferences; and iii) exploiting the similarity of literal properties as well as the links from the user model. The evaluation experiments used combined data from DBpedia and MovieLens and DBpedia and LastFM datasets. Results indicate significant increases in top-n recommendation tasks in Precision@K (K=5, 10), Map, and NDCG over non-personalized baseline similarities methods such as Linked Data Semantic Distance (LDSD) and Resource Similarity (ReSim). The results show that the LOD-based strategies of user model personalization.

9
  • SAULO ANTONIO DE LIMA MATOS
  • Invariantes e estruturas de vizinhanças para 1-fatorações de grafos completos

  • Orientador : RAFAEL AUGUSTO DE MELO
  • MEMBROS DA BANCA :
  • RAFAEL AUGUSTO DE MELO
  • TIAGO DE OLIVEIRA JANUARIO
  • CELSO DA CRUZ CARNEIRO RIBEIRO
  • MARCIO COSTA SANTOS
  • VINICIUS FERNANDES DOS SANTOS
  • SEBASTIÁN ALBERTO URRUTIA
  • Data: 03/10/2023

  • Mostrar Resumo
  • Uma 1-fatoração é uma partição do conjunto de arestas de um grafo em emparelhamentos perfeitos. O conceito de 1-fatoração é de grande interesse devido às suas aplicações na modelagem de torneios esportivos. Duas 1-fatorações são ditas isomorfas (pertencem a mesma classe de isomorfismo) se existir uma bijeção entre seus conjuntos de vértices que transforme uma na outra. O espaço de busca de 1-fatorações não isomorfas é um grafo em que cada classe de isomorfismo é representada por um vértice e cada aresta que conecta os vértices $\mathcal{F}_a$ e $\mathcal{F}_b$ corresponde a um movimento em uma estrutura de vizinhança, que a partir de uma 1-fatoração isomorfa a $\mathcal{F}_a$ gera uma 1-fatoração isomorfa a $\mathcal{F}_b$. Uma invariante de uma 1-fatoração é uma propriedade que depende apenas de sua estrutura, de modo que 1-fatorações isomorfas possuem valores de invariantes iguais. Uma invariante é completa quando quaisquer duas 1-fatorações não isomorfas têm valores invariantes distintos. Essa tese analisa sete invariantes utilizadas para distinguir 1-fatorações não isomorfas de $K_{2n}$ (grafos completos com quantidade par de vértices). Considerando que as invariantes disponíveis na literatura não são completas, propomos duas novas invariantes, denominadas \textit{lantern profiles} e \textit{even-size bichromatic chains}. As invariantes são comparadas quanto aos seus tamanhos e complexidade computacional do seu cálculo. Além disso, realizamos experimentos computacionais para avaliar suas capacidades de distinguir 1-fatorações não isomorfas. Para tal, utilizamos os conjuntos de 1-fatorações não isomorfas de $K_{10}$ e $K_{12}$, bem como os conjuntos de 1-fatorações perfeitas não isomorfas de $K_{14}$ e $K_{16}$. Também consideramos aspectos algorítmicos e computacionais para explorar a vizinhança \textit{generalized partial team swap} (GPTS), uma estrutura de vizinhança para problemas de planejamento de tabelas de torneios \textit{round-robin} recentemente proposta na literatura. Nesse sentido, apresentamos um arcabouço para explorar a vizinhança GPTS. Além disso, é apresentada uma discussão sobre como esta estrutura de vizinhança aumenta a conectividade do espaço de busca definido por 1-fatorações não isomorfas de $K_{2n}$ (para $8 \le 2n \le 12$) quando comparada a outras estruturas de vizinhança.


  • Mostrar Abstract
  • A 1-factorization is a partition of the edge set of a graph into perfect matchings. The concept of 1-factorization is of great interest due to its applications in modeling sports tournaments. Two 1-factorizations are said to be isomorphic (belong to the same isomorphism class) if there exists a bijection between their sets of vertices that transforms one into the other. The non-isomorphic 1-factorization search space is a graph in which each isomorphism class is represented by a vertex and each edge that connects the vertices $\mathcal{F}_a$ and $\mathcal{F}_b$ corresponds to a move in a neighborhood structure, which from a 1-factorization isomorphic to $\mathcal{F}_a$ generates a 1-factorization isomorphic to $\mathcal{F}_b$. An invariant of a 1-factorization is a property that depends only on its structure such that isomorphic 1-factorizations are guaranteed to have equal invariant values. An invariant is complete when any two non-isomorphic 1-factorizations have distinct invariant values. This thesis reviews seven invariants used to distinguish non-isomorphic 1-factorizations of $K_{2n}$ (complete graph with an even number of vertices). Additionally, considering that the invariants available in the literature are not complete, we propose two new ones, denoted lantern profiles and even-size bichromatic chains. The invariants are compared regarding their sizes and calculation time complexity. Furthermore, we conduct computational experiments to assess their ability to distinguish non-isomorphic 1-factorizations. To accomplish that we use the sets of non-isomorphic 1-factorizations of $K_{10}$ and $K_{12}$, as well as the sets of non-isomorphic perfect 1-factorizations of $K_{14}$ and $K_{16}$.
    We also consider algorithmic and computational aspects for exploring the generalized partial team swap (GPTS) neighborhood, a neighborhood structure for round-robin sports scheduling problems recently proposed in the literature. In this regard, we present a framework to explore the GPTS neighborhood. Furthermore, a discussion is presented on how this neighborhood structure increases the connectivity of the search space defined by non-isomorphic 1-factorizations of $K_{2n}$ (for $8 \le 2n \le 12$) when compared to other neighborhood structures.

10
  • RENATA MARIA DE SOUZA SANTOS
  • Um Estudo de Múltiplos Casos sobre Práticas de Engenharia de Software em Startups em Estágio Inicial

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • GLEISON DOS SANTOS SOUZA
  • KIEV SANTOS DA GAMA
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • IVAN DO CARMO MACHADO
  • RITA SUZANA PITANGUEIRA MACIEL
  • Data: 14/11/2023

  • Mostrar Resumo
  • Startups em estágios iniciais, frequentemente fundadas por equipes pequenas com ideias inovadoras, porém não comprovadas, enfrentam o desafio de validar seus conceitos no mercado. Essas ideias tomam forma por meio de um modelo de negócios flexível, adaptando-se até que uma abordagem repetível e escalável seja estabelecida. As startups precisam lidar com a pressão de fornecer rapidamente um produto ou serviço mínimo viável. Para as startups de software, isso frequentemente gira em torno de ofertas de software ou tecnologia, operando em um cenário altamente competitivo ao lado de empresas de vários tamanhos. Pesquisas recentes exploraram o contexto, objetivos, desafios e práticas de startups de software. Embora pesquisas extensivas tenham investigado como as startups de software se envolvem no desenvolvimento de software, ainda existe uma lacuna na compreensão de como elas selecionam e implementam práticas de desenvolvimento específicas. Descobrir seus processos e metodologias de desenvolvimento de software é igualmente essencial, pois isso impacta diretamente sua capacidade de superar os desafios do desenvolvimento de software. Perguntas-chave incluem: O que caracteriza o desenvolvimento de software em ambientes de startup? Como as startups priorizam os atributos de qualidade do produto em seus processos de desenvolvimento? Quais práticas de engenharia de software apoiam seus esforços de desenvolvimento e quais ferramentas auxiliam seu progresso? Esta tese busca obter insights sobre como as startups de software em estágios iniciais navegam na jornada de desenvolvimento de software, lançando luz sobre suas prioridades, processos e as ferramentas que utilizam. Nossa pesquisa adota uma abordagem qualitativa na forma de um estudo de caso múltiplo envolvendo 14 organizações. Analisamos os dados usando técnicas da Teoria Fundamentada, incluindo codificação aberta, axial e seletiva. As descobertas destacam a relevância crítica de fatores humanos, processos de desenvolvimento de software, práticas de engenharia de software e influências externas na jornada de desenvolvimento de software. A compreensão desses fatores levou à formulação de recomendações práticas para fortalecer o desenvolvimento de software em estágios iniciais nas startups. Este trabalho identifica fatores cruciais que influenciam o desenvolvimento de software nas startups e oferece recomendações práticas para suas iniciativas de desenvolvimento de software em estágios iniciais.


  • Mostrar Abstract
  • Early-stage startups, often founded by small teams with innovative yet unproven ideas, face the challenge of validating their concepts in the market. These ideas take shape through a fluid business model, adapting until a repeatable and scalable approach is established. Startups must grapple with the pressure to deliver a minimum viable product or service swiftly. For software startups, this often centers around software or technology-mediated offerings, operating within a competitive landscape alongside companies of various sizes. Recent research has explored software startups' context, objectives, challenges, and practices. While extensive research has delved into how software startups engage in software development, there remains a gap in understanding how they select and implement specific development practices. Uncovering their software development processes and methodologies is equally essential, as it directly impacts their ability to overcome software development challenges. Key questions include: What characterizes software development in startup environments? How do startups prioritize product quality attributes in their development processes? What software engineering practices support their development endeavors, and which tools aid their progress? This thesis seeks to gain insights into how early-stage software startups navigate the software development journey, shedding light on their priorities, processes, and the tools they leverage. Our research adopts a qualitative approach in the form of a multiple case study involving 14 organizations. We analyze the data employing Grounded Theory techniques, including open, axial, and selective coding. The findings underscore the critical relevance of human factors, software development processes, software engineering practices, and external influences in the software development journey. Understanding these factors has led to the formulation of practical recommendations to bolster early-stage software development within startups. This work identifies pivotal factors influencing software development within startups and offers practical recommendations for their early-stage software development endeavors.

11
  • RENATA MARIA DE SOUZA SANTOS
  • Um Estudo de Múltiplos Casos sobre Práticas de Engenharia de Software em Startups em Estágio Inicial

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • GLEISON DOS SANTOS SOUZA
  • IVAN DO CARMO MACHADO
  • KIEV SANTOS DA GAMA
  • RITA SUZANA PITANGUEIRA MACIEL
  • Data: 14/11/2023

  • Mostrar Resumo
  • Startups em estágios iniciais, frequentemente fundadas por equipes pequenas com ideias inovadoras, porém não comprovadas, enfrentam o desafio de validar seus conceitos no mercado. Essas ideias tomam forma por meio de um modelo de negócios flexível, adaptando-se até que uma abordagem repetível e escalável seja estabelecida. As startups precisam lidar com a pressão de fornecer rapidamente um produto ou serviço mínimo viável. Para as startups de software, isso frequentemente gira em torno de ofertas de software ou tecnologia, operando em um cenário altamente competitivo ao lado de empresas de vários tamanhos. Pesquisas recentes exploraram o contexto, objetivos, desafios e práticas de startups de software. Embora pesquisas extensivas tenham investigado como as startups de software se envolvem no desenvolvimento de software, ainda existe uma lacuna na compreensão de como elas selecionam e implementam práticas de desenvolvimento específicas. Descobrir seus processos e metodologias de desenvolvimento de software é igualmente essencial, pois isso impacta diretamente sua capacidade de superar os desafios do desenvolvimento de software. Perguntas-chave incluem: O que caracteriza o desenvolvimento de software em ambientes de startup? Como as startups priorizam os atributos de qualidade do produto em seus processos de desenvolvimento? Quais práticas de engenharia de software apoiam seus esforços de desenvolvimento e quais ferramentas auxiliam seu progresso? Esta tese busca obter insights sobre como as startups de software em estágios iniciais navegam na jornada de desenvolvimento de software, lançando luz sobre suas prioridades, processos e as ferramentas que utilizam. Nossa pesquisa adota uma abordagem qualitativa na forma de um estudo de caso múltiplo envolvendo 14 organizações. Analisamos os dados usando técnicas da Teoria Fundamentada, incluindo codificação aberta, axial e seletiva. As descobertas destacam a relevância crítica de fatores humanos, processos de desenvolvimento de software, práticas de engenharia de software e influências externas na jornada de desenvolvimento de software. A compreensão desses fatores levou à formulação de recomendações práticas para fortalecer o desenvolvimento de software em estágios iniciais nas startups. Este trabalho identifica fatores cruciais que influenciam o desenvolvimento de software nas startups e oferece recomendações práticas para suas iniciativas de desenvolvimento de software em estágios iniciais.


  • Mostrar Abstract
  • Early-stage startups, often founded by small teams with innovative yet unproven ideas, face the challenge of validating their concepts in the market. These ideas take shape through a fluid business model, adapting until a repeatable and scalable approach is established. Startups must grapple with the pressure to deliver a minimum viable product or service swiftly. For software startups, this often centers around software or technology-mediated offerings, operating within a competitive landscape alongside companies of various sizes. Recent research has explored software startups' context, objectives, challenges, and practices. While extensive research has delved into how software startups engage in software development, there remains a gap in understanding how they select and implement specific development practices. Uncovering their software development processes and methodologies is equally essential, as it directly impacts their ability to overcome software development challenges. Key questions include: What characterizes software development in startup environments? How do startups prioritize product quality attributes in their development processes? What software engineering practices support their development endeavors, and which tools aid their progress? This thesis seeks to gain insights into how early-stage software startups navigate the software development journey, shedding light on their priorities, processes, and the tools they leverage. Our research adopts a qualitative approach in the form of a multiple case study involving 14 organizations. We analyze the data employing Grounded Theory techniques, including open, axial, and selective coding. The findings underscore the critical relevance of human factors, software development processes, software engineering practices, and external influences in the software development journey. Understanding these factors has led to the formulation of practical recommendations to bolster early-stage software development within startups. This work identifies pivotal factors influencing software development within startups and offers practical recommendations for their early-stage software development endeavors.

2022
Dissertações
1
  • TATIANA DE OLIVEIRA SILVA
  • Estratégia híbrida de proteção dedicada e restauração dirigida por conexões de baixa prioridade em redes EON

  • Orientador : GUSTAVO BITTENCOURT FIGUEIREDO
  • MEMBROS DA BANCA :
  • GUSTAVO BITTENCOURT FIGUEIREDO
  • RODRIGO IZIDORO TININI
  • PEDRO MESQUITA MOURA
  • Data: 15/02/2022
    Ata de defesa assinada:

  • Mostrar Resumo
  • A rigidez do espectro das redes multiplexadas por comprimento de onda (Wavelength Division Multiplexing - WDM) não permite acomodar as requisições proporcionalmente à sua necessidade de banda, causando desperdício no espectro. Logo, as Redes Ópticas Elásticas (Elastic Optical Networks - EON) tem se mostrado uma solução para o futuro das redes de transporte óptico trazendo flexibilidade e eficiência no uso dos recursos. A escalabilidade provida por estas redes demonstram ser um paradigma adequado aos requisitos de largura de banda para as aplicações emergentes na Internet. Devido ao volume de tráfego suportado pelas EONs, eventos de falhas podem causar a perda vigorosa de dados. Para isso, esquemas de proteção e restauração tem sido desenvolvidos a fim de minimizar tal prejuízo. Especificações de contrato de serviço (Service Level Agreement - SLA), tornam possível às aplicações terem seus recursos atribuídos apropriadamente e com seus respectivos níveis de tolerância à degradação de serviço. Classes de serviço de maior prioridade apresentam maiores restrições à degradação de serviço, enquanto classes de menor prioridade são mais flexíveis à degradação. Desta forma, a classificação das conexões e suas respectivas especificações de SLA devem ser levadas em consideração na definição de estratégias para recuperação de desastres a fim de identificar as melhores oportunidades que elevem a capacidade de provisionamento ou reprovisionamento da rede. Este trabalho propõe um esquema de sobrevivência híbrida (proteção e restauração) com degradação de banda e atraso na restauração para conexões de baixa prioridade transmitidas no caminho de backup de conexões de alta prioridade. O algoritmo proposto foi comparado com uma estratégia de proteção de caminho com backup dedicado. Os resultados obtidos demonstram que a restauração baseada na degradação de serviços e na utilização de recursos de backup reduz a probabilidade de bloqueio geral da rede e a probabilidade de bloqueio por classes. Ademais, a estratégia proposta aumenta a capacidade de restauração de conexões de baixa prioridade interrompidas pelo desastre enquanto mantém a capacidade de restauração de conexões de alta prioridade.


  • Mostrar Abstract
  • The spectrum rigidity of wavelength-multiplexed networks (Wavelength Division Multiplexing - WDM) does not allow to accommodate requests proportionally to their bandwidth needs, causing waste in the spectrum. Therefore, Elastic Optical Networks (EON) have proved to be a solution for the future of optical transport networks, bringing flexibility and efficiency in the use of resources. The scalability provided by these networks proves to be an adequate paradigm for the bandwidth requirements for emerging applications on the Internet. Due to the volume of traffic supported by EONs, failure events can cause massive data loss. For this, protection and restoration schemes have been developed in order to minimize such damage. Service Level Agreement (SLA) specifications make it possible for applications to have their resources properly allocated and with their respective service degradation tolerance levels. Higher priority classes of service present greater restrictions to service degradation, while lower priority classes are more flexible to degradation. In this way, the classification of connections and their respective SLA specifications must be taken into account when defining disaster recovery strategies in order to identify the best opportunities that increase the network provisioning or re-provisioning capacity. This work proposes a hybrid survivability scheme (protection and restoration) with bandwidth degradation and restoration delay for low-priority connections transmitted in the backup path of high-priority connections. The proposed algorithm was compared with a path protection strategy with dedicated backup. The results obtained demonstrate that restoration based on service degradation and the use of backup resources reduces the overall network blocking probability and the blocking probability by classes. Furthermore, the proposed strategy increases the ability to restore low-priority connections interrupted by the disaster while maintaining the ability to restore high-priority connections.

2
  • GABRIEL DAHIA FERNANDES
  • META APRENDIZADO PARA A CLASSIFICAÇÃO DE UMA CLASSE COM POUCAS AMOSTRAS

  • Orientador : MAURICIO PAMPLONA SEGUNDO
  • MEMBROS DA BANCA :
  • FABIO AUGUSTO FARIA
  • MAURICIO PAMPLONA SEGUNDO
  • RUBISLEY DE PAULA LEMES
  • Data: 08/03/2022

  • Mostrar Resumo
  • Nós propomos um método que pode realizar a classificação de uma classe, dado apenas um pequeno número de exemplos da classe alvo e nenhum das outras. Nós formulamos o aprendizado de features significativas para a classificação de uma classe como um problema de meta-aprendizado no qual o estágio de metatreinamento simula repetidamente a classificação de uma classe, usando o objetivo de classificação do algoritmo escolhido para aprender uma representação de recurso. Para aprender essas representações, exigimos apenas dados multiclasse de tarefas semelhantes. Mostramos como o método Support Vector Data Description (SVDD) pode ser usado em nosso método, e também propomos uma variante mais simples baseada em Prototypical Networks que obtém desempenho comparável, indicando que aprender a representações de features diretamente dos dados pode ser mais importante do que qual algoritmo nós escolhemos. Nós validamos nossa abordagem adaptando conjuntos de dados de classificação com poucos exemplos ao cenário de classificação de uma classe com poucos exemplos, obtendo resultados semelhantes ao estado da arte da classificação tradicional de uma classe e que melhora a classificação de uma classe quando comparado aos baselines de classificação de uma classe com poucos exemplos. Além disso, como uma aplicação prática, empregamos nosso método para a tarefa biométrica de verificação facial. Nesse cenário, ele se compara desfavoravelmente à tácnica de aprendizagem de métrica do estado-da-arte.


  • Mostrar Abstract
  • We propose a method that can perform one-class classification given only a small number of examples from the target class and none from the others. We formulate the learning of meaningful features for one-class classification as a meta-learning problem in which the meta-training stage repeatedly simulates one-class classification, using the classification loss of the chosen algorithm to learn a feature representation. To learn these representations, we require only multiclass data from similar tasks. We show how the SVDD method can be used with our method, and also propose a simpler variant based on Prototypical Networks that obtains comparable performance, indicating that learning feature representations directly from data may be more important than which one-class algorithm we choose. We validate our approach by adapting few-shot classification datasets to the few-shot one-class classification scenario, obtaining similar results to the state-of-the-art of traditional one-class classification, and that improves upon that of one-class classification baselines employed in the few-shot setting. Moreover, as a practical application, we employ our method to the biometric task of on-device face verification. In this scenario, it compares unfavorably to the state-of-the-art metric learning technique.

3
  • DANIEL DAVID FERNANDES
  • Uma investigação empírica sobre a ocorrência de test smells em Python

  • Orientador : RITA SUZANA PITANGUEIRA MACIEL
  • MEMBROS DA BANCA :
  • LEOPOLDO MOTTA TEIXEIRA
  • RITA SUZANA PITANGUEIRA MACIEL
  • RODRIGO ROCHA GOMES E SOUZA
  • Data: 30/03/2022

  • Mostrar Resumo
  • este de software é uma atividade do processo de desenvolvimento de software que busca por defeitos. Testes automatizados são compostos por códigos que permitem executar cenários de teste de software mais rapidamente, evitando retrabalho manual. Ao escrever códigos de teste, testadores podem executar más práticas, conhecidas como test smells, que são padrões de codificação que podem impactar negativamente na qualidade dos testes em termos de manutenibilidade, compreensibilidade e eficácia na detecção de defeitos. Python tornou-se a linguagem de programação mais utilizada no mundo em 2020, entretanto, a maioria das pesquisas sobre a qualidade do código de teste é conduzida para a linguagem Java. A ausência de estudos referentes à percepção de desenvolvedores Python sobre test smells, bem como tipos de test smells ainda não detectados por ferramentas podem causar prejuízos em softwares desenvolvidos nesta linguagem. Apesar do conceito de test smells ser independente de linguagem de programação, estudos em uma linguagem de programação não são generalizáveis para as demais, pois diferentes linguagens podem apresentar diferentes comportamentos a respeito dos test smells. Esta dissertação de mestrado tem como objetivo apoiar desenvolvedores Python na construção e manutenção de código de teste com maior qualidade, trazendo uma visão a respeito de ocorrências de test smells em Python. Para isto, inicialmente construímos um dataset com 5303 arquivos de teste de 90 projetos Python coletados de repositórios do GitHub para observar o comportamento dos test smells em Python. Esta análise resultou na proposta de 4 novos test smells com discussões dos seus potenciais impactos. Além disso, para conhecer a percepção de desenvolvedores Python sobre test smells, fizemos uma pesquisa através de questionários para compreender a percepção sobre teste de software de desenvolvedores Python, o qual divulgamos a análise dos resultados obtidos. Como contribuição adicional, desenvolvemos o TEMPY, uma ferramenta open-source de detecção de 10 test smells para Python, a qual alcançou 100% de precisão. Avaliamos o TEMPY através de entrevistas com 10 desenvolvedores Python, obtendo 99% de concordância nas detecções apontadas pelo TEMPY. Espera-se que ao compartilhar os resultados deste estudo, desenvolvedores Python possam usar o conceito de test smell para melhorar a qualidade do código de teste, consequentemente apoiar as atividades de teste de software.


  • Mostrar Abstract
  • Software testing is an activity in the software development process that looks for defects. Automated testing is composed of code that allows you to run software testing scenarios more quickly, avoiding manual rework. When writing test code, testers may execute bad practices, known as test smells, which are coding patterns that can negatively impact test quality in terms of maintainability, understandability, and defect detection effectiveness. Python became the most widely used programming language in the world in 2020, however, most research on test code quality is conducted for the Java language. The absence of studies regarding Python developers’ perception of test smells, as well as types of test smells not yet detected by tools, can cause damage to software developed in this language. Although the concept of test smells is language independent, studies in one programming language cannot be generalized to the others, because different languages may present different behaviors regarding test smells. This dissertation aims to support Python developers in building and maintaining higher quality test code, providing insight into the occurrences of test smells in Python. To do this, we initially built a dataset with 5303 test files from 90 Python projects collected from GitHub repositories to observe the behavior of test smells in Python. This analysis resulted in the proposal of 4 new test smells with discussions of their potential impacts. In addition, to know the perception of Python developers about test smells, we conducted a survey through questionnaires to understand the perception about software testing of Python developers, which we publish the analysis of the results obtained. As an additional contribution, we developed TEMPY, an open-source 10 test smells detection tool for Python, which achieved 100% accuracy. We evaluated TEMPY through interviews with 10 Python developers, obtaining 99% agreement on the detections pointed out by TEMPY. We hope sharing the findings of this study, Python developers can use the concept of test smell to improve test code quality, thereby supporting software testing activities

4
  • Alan Teixeira de Oliveira
  • Melhorando a eficiência de sistemas em nuvem através de coalocação de tarefas sensíveis à latência e de melhor esforço

  • Orientador : VINICIUS TAVARES PETRUCCI
  • MEMBROS DA BANCA :
  • GEORGE MARCONI DE ARAUJO LIMA
  • VINICIUS TAVARES PETRUCCI
  • ESBEL TOMÁS VALERO ORELLANA
  • Data: 01/04/2022

  • Mostrar Resumo
  • A computação em nuvem oferece uma infraestrutura centralizada e orientada a serviços para usuários em todo o mundo. Um ambiente em nuvem permite executar aplicações críticas sensíveis à interação com os usuários (como uma busca online na Web), e também é usado para executar aplicações em lote orientadas a melhor esforço (como compressão de áudio/vídeo, indexação das páginas Web). Data centers são projetados em larga escala para suportar os diversos serviços em nuvem, distribuídos em centenas de milhares de servidores, com expressivos gastos operacionais e de capital. Assim, otimizar o uso dos recursos dos servidores resulta em economia significativa nesses sistemas. Como oportunidade de pesquisa, há a possibilidade de explorar momentos de ociosidade dos servidores que executam os serviços críticos, em especial durante períodos de baixa demanda. Esta pesquisa visa permitir coalocar diferentes tipos de tarefas de aplicações em nuvem (sensíveis à latência e de melhor esforço) em um mesmo servidor de forma a aumentar sua utilização, melhorando assim sua eficiência. O trabalho demonstra que realizar coalocação de tarefas sensíveis à latência e de melhor esforço proporciona maior eficiência dos servidores em nuvem, desde que seja garantido o desempenho das tarefas das aplicação críticas. O trabalho explorou o uso de escalonadores específicos para cada tipo de tarefa, as tarefas sensíveis à latência foram escalonadas e parametrizadas via escalonamento de tempo real, e tarefas de aplicações em lote utilizaram escalonamento justo de melhor esforço. Os ganhos em relação ao escalonador padrão do sistema chegaram a até 150% quando comparado ao proposto neste trabalho, aqui chamado de EDFCoaloc.


  • Mostrar Abstract
  • Cloud computing provides a centralized, service-oriented infrastructure for users around the world. A cloud environment allows running critical applications sensitive to user interaction (such as an online web search), and is also used to run best-effort oriented batch applications (such as audio/video compression, indexing of web pages). Data centers are designed on a large scale to support the various cloud services, distributed across hundreds of thousands of servers, with significant operational and capital expenditures. Thus, optimizing the use of server resources results in significant savings on these systems. As a research opportunity, there is the possibility of exploring idle moments of servers that run critical services, especially during periods of low demand. This research aims to co-locate different types of cloud application tasks (latency-sensitive and best-effort) on the same server in order to increase its utilization, thus improving its efficiency. The work demonstrates that performing co-allocation of latency-sensitive and best-effort tasks provides greater efficiency for cloud servers, as long as the performance of critical application tasks is guaranteed. The work explored the use of specific schedulers for each type of task, latency-sensitive tasks were scheduled and parameterized via real-time scheduling, and batch application tasks used fair best-effort scheduling. The gains in relation to the standard scheduler of the system reached up to 150% when compared to the one proposed in this work, here called EDFCoaloc.

5
  • PRABHÁT KUMAR DE OLIVEIRA
  • SIMULAÇÃO DE DEFORMAÇÃO EM TECIDO MOLE NO PLANEJAMENTO DE CIRURGIA ORTOGNÁTICA UTILIZANDO POSITION BASED DYNAMICS


  • Orientador : ANTONIO LOPES APOLINARIO JUNIOR
  • MEMBROS DA BANCA :
  • ANTONIO LOPES APOLINARIO JUNIOR
  • IEDA MARGARIDA CRUSOE ROCHA REBELLO
  • KARL PHILIPS APAZA AGUERO
  • VINICIUS MOREIRA MELLO
  • Data: 08/04/2022

  • Mostrar Resumo
  • Corpos deformáveis  é um tema que vem sendo estudado na área da computação gráfica nas últimas décadas, existindo diversas soluções e propostas para simular esses tipos de objetos. Entretanto, ainda há uma preocupação com o balanceamento entre o realismo físico e a simulação em tempo real de forma interativa. Alguns trabalhos anteriores na área médica, utilizam FEM e MSM para realizar simulações, porém essas abordagens possuem limitações. O uso de Position-Based Dynamics (PBD), por sua vez, vem ganhando destaque, sendo capaz de proporcionar interações entre diferentes tipos de objetos. A proposta deste trabalho foca no uso de PBD para simulação em tempo real de tecidos moles e rígidos na previsão de resultados de cirurgia ortognática.



  • Mostrar Abstract
  • Deformable bodies is a topic that has been studied in the area of computer graphics in recent decades, with several solutions and proposals for simulations of these types of objects. However, there is still a concern with the balance between physical realism and real-time simulation in an interactive way. Some previous works in the medical field use FEM and MSM to perform simulations, but these approaches have limitations. The use of Position-Based Dynamics (PBD), in turn, has been gaining prominence, being able to provide interactions between different types of objects. The purpose of this work focuses on the use of PBD for real-time simulation of soft and rigid tissues in predicting the results of orthognathic surgery. 

6
  • ARISTOTELES ESTEVES MARÇAL DA SILVA
  • Planejamento em Sistemas Auto-Adaptativos: Uma Abordagem Baseada em Verificação de Modelos e MAPE-K

  • Orientador : ALINE MARIA SANTOS ANDRADE
  • MEMBROS DA BANCA :
  • MARIA VIVIANE MENEZES
  • ADOLFO ALMEIDA DURAN
  • ALINE MARIA SANTOS ANDRADE
  • ALIRIO SANTOS DE SA
  • SANDRO SANTOS ANDRADE
  • Data: 12/04/2022

  • Mostrar Resumo
  • O projeto e implementação de Self-Adaptive Systems (SAS) eficazes é uma tarefa bastante desafiadora, geralmente por conta da existência de dinâmicas complexas entre os diversos elementos que compõem o sistema e entre estes elementos e o ambiente no qual eles operam. Um ponto crucial, no projeto de SAS, é a execução da atividade de planejamento (planning): definição de quais ações (planos de adaptação) devem ser realizadas para que o sistema se adapte e volte a atender os níveis de qualidade de serviço esperados. Pesquisas recentes têm investigado o uso de técnicas de verificação formal para viabilizar a geração de planos de adaptação confiáveis. Através da técnica de verificação de modelos (model checking) e do modelo de referência MAPE-K desenvolvemos o projeto, implementação e validação de uma arquitetura que define estruturas e comportamentos auto-adaptativos utilizando modelos formais, para a especificação planejadores que gerem planos de adaptação de forma autônoma, considerando propriedades auto-adaptativas tais como self-organizing e self-healing. Para a avaliação da arquitetura foi realizada através de um estudo de caso relacionado ao problema de controle de semáforos, com a criação de um planejador, em que os planos de adaptação foram gerados, de forma off-line, com o verificador de modelos UPPAAL e executados em run-time através de uma implementação própria deste trabalho. Alguns cenários da aplicação foram simulados, com uso da ferramenta SUMO, para avaliar a eficácia das soluções encontradas. O planejador criado gerou planos de adaptação eficientes, de forma autônoma, em cenários onde o número de possíveis planos de adaptação foi ordem de 2¹². Os resultados indicam que as soluções adotadas com nosso planejador foram mais efetivas em relação a soluções sem nenhuma abordagem de auto-adaptação, quando o fluxo de veículos se aproximou do colapso.


  • Mostrar Abstract
  • The design and implementation of effective Self-Adaptive Systems (SAS) is a very challenging task, usually due to the existence of complex dynamics between the various elements that make up the system and between these elements and the environment in which they operate. A crucial point, in the SAS project, is the execution of the planning activity (planning): definition of which actions (adaptation plans) must be carried out so that the system adapts and returns to meet the quality levels expected service. Recent research has investigated the use of formal verification techniques to enable the generation of reliable adaptation plans. Through the model checking technique (model checking) and the MAPE-K reference model, we developed the design, implementation and validation of an architecture that defines self-adaptive structures and behaviors using formal models, for the specification planners that generate adaptation plans autonomously, considering self-adaptive properties such as self-organizing and self-healing. The architecture evaluation was carried out through a case study related to the traffic light control problem, with the creation of a planner, in which the adaptation plans were generated, in an off-line way, with the verifier of UPPAAL models and executed in run-time through an implementation of this work. Some application scenarios were simulated, using the SUMO tool, to evaluate the effectiveness of the solutions found. The created planner generated efficient adaptation plans, autonomously, in scenarios where the number of possible adaptation plans was around 2¹². The results indicate that the solutions adopted with our planner were more effective compared to solutions without any self-adaptation approach, when the vehicle flow approached collapse.

7
  • EBERTY ALVES DA SILVA
  • Pipeline de reconstrução 3D de artefatos culturais utilizando diferentes câmeras de profundidade e cor

  • Orientador : KARL PHILIPS APAZA AGUERO
  • MEMBROS DA BANCA :
  • LUCIANO SILVA
  • ANTONIO LOPES APOLINARIO JUNIOR
  • KARL PHILIPS APAZA AGUERO
  • Data: 12/05/2022

  • Mostrar Resumo
  • "Nos últimos anos, houveram numerosos avanços no que diz respeito à digitalização 3D de patrimônio cultural, principalmente aplicando um encadeamento de processos para
    reconstrução tridimensional (pipelines) a partir de custosos scanners 3D de alta precisão.
    Além disso, recentes estudos buscam reconstruir objetos e artefatos utilizando dispositivos de aquisição de baixo custo (por exemplo, o sensor Microsoft Kinect) ou utilizando técnicas mais modernas de fotogrametria (como Structure from Motion). Métodos de baixo custo ainda são limitados no contexto de reconstrução 3D de artefatos culturais, sendo um verdadeiro desafio quando se trata da representatividade e qualidade final dos modelos 3D reconstruídos digitalmente.
    Visando obter modelos tridimensionais completos e bem detalhados de artefatos culturais utilizando tecnologia de baixo custo, este trabalho propõe um pipeline de reconstrução 3D que utiliza nuvens de pontos de diferentes sensores, combinando capturas de um sensor de profundidade de baixo custo pós-processadas por técnicas de Super-Resolução com imagens RGB de alta resolução adquiridas por uma câmera externa aplicadas em algoritmos de Structure from Motion e Multi-View Stereo.
    A principal contribuição deste trabalho inclui a descrição de um pipeline completo que aprimora o estágio de aquisição de informações e mescla dados de diferentes sensores. Várias fases do pipeline de reconstrução 3D também foram especializadas para melhorar a qualidade visual do modelo.
    O pipeline foi avaliado e discutido em termos dos resultados obtidos e demonstra contribuir para viabilizar a utilização de metodologias de reconstrução 3D de baixo custo no contexto de patrimônio cultural digital. A metodologia proposta foi desenvolvida para ser aplicada à preservação de peças do Museu de Arqueologia e Etnologia da Universidade Federal da Bahia (MAE/UFBA), sendo também testada em objetos de mesa que viabilizaram o processo de validação dos resultados experimentais."


  • Mostrar Abstract
  • "In recent years, there have been numerous advances with regard to 3D digitization of cultural heritage, mainly applying a process chain to
    three-dimensional reconstruction (pipelines) from expensive high-precision 3D scanners.
    In addition, recent studies seek to reconstruct objects and artifacts using low-cost acquisition devices (for example, the Microsoft Kinect sensor) or using more modern photogrammetry techniques (such as Structure from Motion). Low-cost methods are still limited in the context of 3D reconstruction of cultural artifacts, being a real challenge when it comes to the representativeness and final quality of digitally reconstructed 3D models.
    Aiming to obtain complete and well-detailed three-dimensional models of cultural artifacts using low-cost technology, this work proposes a 3D reconstruction pipeline that uses point clouds from different sensors, combining captures from a low-cost depth sensor post-processed by imaging techniques. Super-Resolution with high resolution RGB images acquired by an external camera applied in Structure from Motion and Multi-View Stereo algorithms.
    The main contribution of this work includes the description of a complete pipeline that improves the information acquisition stage and merges data from different sensors. Various phases of the 3D reconstruction pipeline were also specialized to improve the visual quality of the model.
    The pipeline was evaluated and discussed in terms of the results obtained and demonstrates that it contributes to enabling the use of low-cost 3D reconstruction methodologies in the context of digital cultural heritage. The proposed methodology was developed to be applied to the preservation of pieces from the Museum of Archeology and Ethnology of the Federal University of Bahia (MAE/UFBA), being also tested on table objects that enabled the validation process of the experimental results."

8
  • MURILO GUERREIRO AROUCA
  • Gamificação como suporte às abordagens de mapeamento participativo e crowdsourcing no enfrentamento da Covid-19

  • Orientador : MARCOS ENNES BARRETO
  • MEMBROS DA BANCA :
  • ISA BEATRIZ DA CRUZ NEVES LUSTOSA
  • MARCOS ENNES BARRETO
  • RICARDO LUSTOSA BRITO
  • VANINHA VIEIRA DOS SANTOS
  • Data: 16/05/2022

  • Mostrar Resumo
  • Em virtude dos impactos provocados pelo advento do novo Coronavírus (SARS-CoV-2), a mobilização e participação popular diante das políticas públicas de saúde são fundamentais para o enfrentamento da Covid-19 e mitigação dos seus danos, o que ´e amplamente afetado pelo conhecimento, atitudes e práticas em relação `a doença. Porém, tendo em vista o contexto de pessoas em estado de vulnerabilidade social e com baixo acesso `a educação e `a informação, a ausência de participação e engajamento em comunidades socioeconomicamente desfavorecidas se apresenta como um obstáculo que se interpõe aos objetivos propostos pelas políticas sanitárias. Desse modo, o presente trabalho propõe a implementação do modelo de design de gamificação orientado `a teoria GAFCC na plataforma +Lugar (versão Covid-19), para apoiar as abordagens participativas de crowdsourcing e mapeamento participativo em prol de iniciativas destinadas ao enfrentamento da Covid-19, principalmente o mapeamento e sinalização dos preditores de transmissão da doença em tempo real, por meio de uma abordagem de percepção de risco. A fim de avaliar a aceitação e uso da solução proposta, utilizou-se a UTAUT para identificação dos fatores determinantes que apresentam impacto significativo na intenção de uso da plataforma. Para tanto, foi realizado um estudo de validação com 20 jovens e adolescentes residentes do bairro de Marechal Rondon, onde foi aplicado um formulário composto por questões relacionadas aos fatores moderadores e determinantes, e intenção comportamental. O resultado do estudo apontou que os respondentes possuem altos níveis de expectativa de desempenho e esforço, influência social, condições facilitadoras, e intenção comportamental de uso da plataforma. Porém, por meio da análise do coeficiente de correlação de Spearman, foi possível identificar que apenas os fatores “expectativa de esforço” e “influência social” impactam significativamente a intenção comportamental.


  • Mostrar Abstract
  • Due to the impacts caused by the advent of the new Coronavirus (SARS-CoV-2), the mobilization and popular participation in the face of public health policies are fundamental for facing Covid-19 and mitigating its damages, which is widely affected knowledge, attitudes and practices in relation to the disease. However, in view of the context of people in a state of social vulnerability and with low access to education and information, the absence of participation and engagement in socioeconomically disadvantaged communities presents itself as an obstacle that stands in the way of the objectives proposed by health policies. . Thus, the present work proposes the implementation of the GAFCC theory-oriented gamification design model on the +Lugar platform (Covid-19 version), to support participatory crowdsourcing approaches and participatory mapping in favor of initiatives aimed at coping with Covid-19. -19, mainly the mapping and signaling of disease transmission predictors in real time, through a risk perception approach. In order to assess the acceptance and use of the proposed solution, UTAUT was used to identify the determining factors that have a significant impact on the intention to use the platform. To this end, a validation study was carried out with 20 young people and adolescents living in the Marechal Rondon neighborhood, where a form was applied, consisting of questions related to moderating and determining factors, and behavioral intention. The result of the study pointed out that the respondents have high levels of performance and effort expectation, social influence, facilitating conditions, and behavioral intention to use the platform. However, through the analysis of Spearman's correlation coefficient, it was possible to identify that only the factors “effort expectancy” and “social influence” significantly impact behavioral intention.

9
  • GESSÉ JUSTINIANO DE OLIVEIRA JÚNIOR
  • Avaliação de Algoritmos de Escalonamento e Economia de Energia para Sistemas Embarcados Baseados em FreeRTOS

  • Orientador : GEORGE MARCONI DE ARAUJO LIMA
  • MEMBROS DA BANCA :
  • ALLAN EDGARD SILVA FREITAS
  • GEORGE MARCONI DE ARAUJO LIMA
  • VINICIUS TAVARES PETRUCCI
  • Data: 03/06/2022

  • Mostrar Resumo
  • Os sistemas embarcados, cada vez mais presentes no nosso cotidiano, estão ficando mais complexos e poderosos devido aos avanços tecnológicos da computação e eletrônica. As aplicações de sistemas embarcados de tempo real, relacionadas às indústrias automotiva e aeronáutica, são exemplos proeminentes das disciplinas clássicas da engenharia, onde os conflitos entre custos, pequenos ciclos de vida de produtos e requisitos legais relativos à confiabilidade, à robustez e à segurança se tornaram um problema.
    De fato, gerenciar energia de maneira eficaz e eficiente é crucial para todos os dispositivos alimentados por baterias, por exemplo, aqueles aplicados em robôs autônomos, dispositivos vestíveis (\textit{wearable devices}), controladores industriais e redes de sensores sem fio.
    Determinar em sistemas de tempo real, algoritmos de escalonamento eficazes onde os prazos das tarefas sejam cumpridos, é um tema amplamente abordado no estado da arte, visando sempre melhorar as aplicações em diversos ambientes. Quando a abordagem aplicada é via escalonamento por prioridade fixa, que não se modifica em função do tempo, o custo computacional é menor  que o escalonamento por prioridade dinâmica, pois não é necessário ordenar dinamicamente a fila de tarefas. Em sistemas embarcados de pequena capacidade de processamento, o uso de Earliest-Deadline First (EDF), uma política de escalonamento de prioridade dinâmica, é frequentemente menos visto, embora existam muitos esforços para usá-la neste segmento, demonstrando que a sobrecarga pode ser viável. Ao se utilizar a técnica DVFS, a frequência e a tensão de alimentação da CPU são manipuladas ao longo da execução das tarefas, a fim de reduzir a potência dissipada pelo processador. Já com o uso da técnica DPM, os componentes ociosos em um determinado instante de tempo $t$, podem ser desligados ou colocados em modos baixo consumo energético com o objetivo de reduzir a potência consumida pelo processador ao executar alguma ação no sistema.
    foco do presente trabalho é adaptar o FreeRTOS, sistema operacional de tempo real, de modo a torná-lo capaz de lidar com aplicações que possuam restrições temporais e consumo energético. Uma nova técnica de economia de energia baseada em DPM, com baixa sobrecarga computacional, foi criada para ser utilizada em plataformas com poucos recursos de hardware.


  • Mostrar Abstract
  • Embedded systems, increasingly present in our daily lives, are becoming more complex and powerful due to technological advances in computing and electronics. Real-time embedded systems applications related to the automotive and aeronautical industries are prominent examples of classical engineering disciplines, where the conflicts between costs, short product life cycles and legal requirements regarding reliability, robustness and safety arise. became a problem. Indeed, managing energy effectively and efficiently is crucial for all battery powered devices, for example those applied in autonomous robots, wearable devices, industrial controllers and wireless sensor networks. Determining effective scheduling algorithms in real-time systems where task deadlines are met is a topic widely addressed in the state of the art, always aiming to improve applications in different environments.
    When the approach applied is via fixed priority scheduling, which does not change as a function of time, the computational cost is lower than dynamic priority scheduling, since it is not necessary to dynamically order the task queue. In embedded systems with small processing power, the use of Earliest-Deadline First (EDF), a dynamic priority scheduling policy, is often less seen, although there are many efforts to use it in this segment, demonstrating that overhead may be feasible. When using the DVFS technique, the frequency and voltage of the CPU supply are manipulated during the execution of the tasks, in order to reduce the power dissipated by the processor. With the use of the DPM technique, the idle components at a given instant of time t, can be turned off or placed in low energy modes in order to reduce the power consumed by the processor when performing some action in the system. The focus of the present work is to adapt FreeRTOS, the real-time operating system, in order to make it capable of dealing with applications that have time constraints and energy consumption. A new energy saving technique based on DPM, with low computational overhead, was created to be used on platforms with few hardware resources.

10
  • MAYCON EMILY DE FARIAS RIBEIRO
  • PROJETO E DESENVOLVIMENTO DE UMA FERRAMENTA COMPUTACIONAL ROBUSTA PARA ELETROCARDIOGRAFIA

  • Orientador : RAIMUNDO JOSE DE ARAUJO MACEDO
  • MEMBROS DA BANCA :
  • LUCIANO REBOUCAS DE OLIVEIRA
  • RAIMUNDO JOSE DE ARAUJO MACEDO
  • ROBERTO FREITAS PARENTE
  • Data: 08/06/2022

  • Mostrar Resumo
  • Por muito tempo, os eletrocardiogramas (ECGs) têm sido usados para diagnosticar problemas cardíacos. No entanto, obter uma classificação satisfatória através da tecnologia dos sistemas digitais aplicados a medicina e-health é uma tarefa difícil. Para estudar tal problemática foi considerado que o coração é sistema reativo com alguns modos ou estados de funcionamento possíveis, então, é intuitivo usar ferramentas computacionais como máquinas estados finitas (MEFs) para descrever o estado de saúde desse órgão humano. Nesse paradigma, propomos o Cyber-ECG, um modelo computacional para classificação automática de sinais de ECG com detecções de falhas do eletrocardiógrafo ou sensores. Para realizá-lo, foram utilizadas as bibliotecas Simscape e Stateflow do Simulink no ecossistema Matlab. Além disso, é apresentado um protótipo para detecção do pulso cardíaco, com uso da tecnologia da Internet das Coisas Médico (IoTM). Esse protótipo é constituído de uma placa ESP32, para coletar, agregar e visualizar os dados do pulso cardíaco de uma pessoa na nuvem. A ferramenta Cyber-ECG proposta obteve uma precisão de 84% e 80% ao classificar as classes ARR e NSR, respectivamente. Para essas mesmas classes, os valores de F1- Score são 82% e 83%, aproximadamente. A precisão foi de 82,5% e a sensibilidade foi de 80%, respectivamente. Com base nesses resultados, a ferramenta apresentou desempenho satisfatório e, em alguns casos, teve desempenho superior em comparação a outros estudos de métodos de classificação de sinais de ECG relatados na literatura científica.


  • Mostrar Abstract
  • For a long time, electrocardiograms (ECGs) have been used to diagnose heart problems. However, obtaining a satisfactory classification through the technology of digital systems applied to e-health medicine is a difficult task. To study this problem, it was considered that the heart is a reactive system with some possible modes or states of functioning, so it is intuitive to use computational tools such as finite state machines (FEMs) to describe the health status of this human organ. In this paradigm, we propose the Cyber-ECG, a computational model for automatic classification of ECG signals with detection of electrocardiograph or sensor failures. To accomplish this, the Simscape and Stateflow libraries from Simulink were used in the Matlab ecosystem. In addition, a prototype for cardiac pulse detection is presented, using the Medical Internet of Things (IoTM) technology. This prototype consists of an ESP32 board, to collect, aggregate and visualize data on a person's heart pulse in the cloud. The proposed Cyber-ECG tool obtained an accuracy of 84% and 80% when classifying the ARR and NSR classes, respectively. For these same classes, the F1-Score values are approximately 82% and 83%. The precision was 82.5% and the sensitivity was 80%, respectively. Based on these results, the tool 

11
  • MATHEUS THIAGO MARQUES BARBOSA
  • Q-balance: Um esquema de balanceamento de carga baseado em uma Multilayer Perceptron para recursos em Névoa em uma Smart Grid

  • Orientador : MAYCON LEONE MACIEL PEIXOTO
  • MEMBROS DA BANCA :
  • MAYCON LEONE MACIEL PEIXOTO
  • GUSTAVO BITTENCOURT FIGUEIREDO
  • BRUNO GUAZZELLI BATISTA
  • Data: 14/06/2022

  • Mostrar Resumo
  • O processamento de dados em aplicações de Smart Grids pode utilizar a computação em nuvem. Entretanto, essa infraestrutura pode levar ao aumento do tempo de resposta em tais aplicações devido a distância entre os data centers da nuvem e os Smart Meters. Dessa forma, propomos uma abordagem baseada em rede neural para gerenciar os recursos computacionais na névoa. Nesse ambiente, o Q-balance tem o objetivo de reduzir o tempo médio de resposta das aplicações que utilizam dados dos Smart Meters por meio da utilização de uma rede neural MultiLayer Perceptron -- (MLP). A MLP realiza a previsão do tempo que um recurso computacional irá processar uma requisição da aplicação do Smart Meter. O Q-balance utiliza essa informação sobre a previsão para balancear a carga entre os recursos disponíveis, reduzindo o tempo médio de resposta obtido. A avaliação de desempenho dos experimentos mostrou que o Q-balance reduziu o tempo médio de resposta em até 65% e 79% em comparação aos algoritmos da literatura para a névoa e nuvem respectivamente.


  • Mostrar Abstract
  • Data processing in Smart Grids applications can use cloud computing. However, this infrastructure can lead to increased response time in such applications due to the distance between cloud data centers and Smart Meters. In this way, we propose a neural network based approach to manage the computational resources in the fog. In this environment, Q-balance aims to reduce the average response time of applications that use data from Smart Meters through the use of a MultiLayer Perceptron -- (MLP) neural network. MLP predicts the time that a computational resource will process a request from the Smart Meter application. Q-balance uses this information about the forecast to balance the load between available resources, reducing the average response time obtained. The performance evaluation of the experiments showed that the Q-balance reduced the average response time by up to 65% and 79% compared to the algorithms in the literature for fog and cloud respectively.

12
  • VICTOR MARTINEZ VIDAL PEREIRA
  • Explorando Dados Ligados na DBpedia para Reduzir Erros de Predição em Sistemas de Recomendação que utilizam Fatoração de Matrizes

  • Orientador : FREDERICO ARAUJO DURAO
  • MEMBROS DA BANCA :
  • ADRIANO CÉSAR MACHADO PEREIRA
  • DANILO BARBOSA COIMBRA
  • FREDERICO ARAUJO DURAO
  • RAMON PEREIRA LOPES
  • RODRIGO ROCHA GOMES E SOUZA
  • Data: 21/06/2022

  • Mostrar Resumo
  • Sistemas de Recomendação fornecem sugestões de itens que são mais prováveis de serem de interesse dos usuários. Prover recomendações personalizadas é um desafio que pode ser endereçado por meio de algoritmos de filtragem, entre os quais a Filtragem Colaborativa (CF) tem demonstrado grande progresso nos últimos anos. Ao usar técnicas de Fatorização de Matrizes (MF), métodos de CF reduzem o erro estimado por meio da utilização de algoritmos de otimização. Contudo, eles geralmente lidam com problemas de esparsidade dos dados e erro predito. Estudos apontam o uso de dados da Web Semântica como um caminho para melhorar sistemas de recomendação e endereçar desafios relacionados a técnicas de CF. Motivado por essas premissas, o presente trabalho desenvolveu um pipeline de dados e um algoritmo que processa a Matriz de Avaliações combinando similaridades semânticas da Linked Open Data (LOD) e estima avaliações em branco. Os experimentos consideram subsets de três diferentes datasets (Movielens, LastFM and LibraryThing), duas métricas de similarity semântica, Linked Data Similarity Distance (LDSD) e Resource Similarity (RESIM), e três algoritmos baseados em MF (SVD, SVD++ and NMF). Nossos experimentos reduziram a esparsidade em mais de 70% no subset de Movielens e 28% no LastFM. Erro predito foi reduzido em todos os subsets com confiança estatística usando o teste paramétrico ANOVA seguido o teste de comparação múltipla de Tukey.


  • Mostrar Abstract
  • Recommender Systems provide suggestions for items that are most likely of interest to users. Providing personalized recommendations is a challenge that can be addressed by filtering algorithms among which Collaborative Filtering (CF) has demonstrated much progress in the last few years. By using Matrix Factorization (MF) techniques, CF methods reduce prediction error by using optimization algorithms. However, they usually face problems such as data sparsity and prediction error. Studies point to the use of data available in Semantic Web as a path to improve recommender systems and address the challenges related to CF techniques. Motivated by these premises, the present work developed a data pipeline along with an algorithm that processes the Ratings Matrix combining semantic similarities of Linked Open Data (LOD) and estimates missing rat- ings. The experiments take subsets of three different datasets (Movielens, LastFM and LibraryThing), two semantic similarity metrics, Linked Data Similarity Distance (LDSD) and Resource Similarity (RESIM), and three MF-based algorithms (SVD, SVD++ and NMF). Our experiments reduced sparsity by more than 75% in Movielens subset and 28% in LastFM. Prediction error is reduced in all subsets with statistical confidence using parametric test one-way ANOVA followed by Tukey’s multiple comparison test.

13
  • MARCOS RICARDO SANTOS OLIVEIRA
  • PSGF (Phase Space Gap Filling): Um novo método para substituição de valores ausentes em séries temporais caóticas

  • Orientador : RICARDO ARAUJO RIOS
  • MEMBROS DA BANCA :
  • RICARDO ARAUJO RIOS
  • RENATO PORFIRIO ISHII
  • EWALDO EDER CARVALHO SANTANA
  • Data: 07/07/2022

  • Mostrar Resumo
  • O tratamento de informações ausentes ou inválidas em bases de dados representa um grande desafio na área de Aprendizado de Máquina (AM) que, se não for realizado da maneira adequada, pode afetar a qualidade do modelo produzido ou, até mesmo, impedir a sua utilização. Em geral, esse problema ocorre por diversas razões como, por exemplo, erro no dispositivo utilizado para coleta de informações, problemas na transmissão entre os dispositivos de coleta e de armazenamento, e a ausência real de informação no sistema monitorado. Quando os dados são coletados de maneira independente e identicamente distribuída, os próprios modelos tradicionais de AM podem ser utilizados para tratar esse problema. Entretanto, quando há dependência temporal entre as observações coletadas, e.g. quando os dados são organizados como séries temporais, tais modelos não são adequados por não considerar o relacionamento existente entre os instantes de tempo das coletas. Para o tratamento desse tipo de dado, há diversas técnicas como métodos de interpolação (e.g. Lagrange, Newton e Splines) e Singular Spectrum Analysis (SSA). Contudo, experimentos realizados durante esse projeto de mestrado demonstraram que as técnicas existentes apresentam resultados insatisfatórios quando as séries temporais possuem comportamento caótico, uma vez que informações sobre seus atratores no espaço de coordenadas de atraso (espaço fase) não são levados em consideração. Neste sentido, este projeto de mestrado apresenta um novo método que utiliza ferramenta de Sistemas Dinâmicos e Teoria do Caos para desdobrar séries do domínio temporal para o espaço fase, viabilizando, assim, a aplicação de técnicas de Aprendizado de Máquina na substituição de valores ausentes. Resultados obtidos enfatizam a importância desse novo paradigma de substituição de valores ausentes, apresentando uma superioridade do método proposto com relação às técnicas conhecidas no estado da arte.


  • Mostrar Abstract
  • The preprocessing step performed to deal with missing or invalid information in datasets is a relevant task in Machine Learning (ML) applications to avoid producing wrong models and make feasible the usage of specific algorithms that do not work in such a condition. In general, missing values occours for different reasons as, for instance, problems in the device used to monitor a system, network issues between monitoring and storage services, and the authentic absence of data. By collecting data in an i.i.d (independent and identically distributed) manner, traditional ML models are able to replace missing values. However, when there are temporal dependencies between collected observations, e.g., time series, such models are unsuitable for not considering the existing relationship in time instants. The treatment of missing data in time series is performed by several techniques such as interpolation methods (e.g. Lagrange, Newton, and Splines) and Singular Spectrum Analysis (SSA). Experiments during this project highlighted that these methods provided poor results when the time series present a chaotic behavior once their attractors in the phase space are not taken into account. Therefore, this work presents a new method that considers Dynamical System and Chaos Theory tools to unfold series from the temporal domain into phase space, making it possible the adoption of ML models to replace missing values. Our results emphasize the importance of this new paradigm to deal with missing values, outperforming the state-of-the-art.

14
  • VERUSCA CARIN BARROS ROCHA
  • EVOLUINDO UM MAPA DE APOIO AO GERENCIAMENTO DE ITENS DE DÍVIDA TÉCNICA RELACIONADA A TESTE DE SOFTWARE

  • Orientador : MANOEL GOMES DE MENDONCA NETO
  • MEMBROS DA BANCA :
  • JOSÉ CARLOS MALDONADO
  • MANOEL GOMES DE MENDONCA NETO
  • RENATO LIMA NOVAIS
  • Data: 27/07/2022

  • Mostrar Resumo
  • Dívida Técnica (TD) contextualiza um conjunto de tarefas que deixam de ser executadas e são acumuladas para serem realizadas posteriormente durante o desenvolvimento de software. Em teste de software, cobertura insuficiente de teste, falta de teste e ausência de planejamento de casos de teste são situações nas quais dívidas de teste podem ser encontradas. Em contrapartida, outros tipos de dívida podem afetar a qualidade das atividades de teste. Documentação de requisitos desatualizada é um exemplo de uma situação de dívida de requisitos que pode comprometer as atividades de planejamento de teste. Nesse cenário, o termo dívida relacionada a teste (TRTD) refere-se aos problemas enfrentados pelos profissionais de teste devido à presença de itens de TD. Recentemente, propôs-se na literatura técnica um mapa conceitual que relaciona atividades de teste a itens de TD. Este mapa apresenta causas, indicadores e práticas de pagamento de TD relacionada a teste. Entretanto, esse mapa foi baseado em uma revisão ad hoc da literatura e a evidência experimental sobre a sua viabilidade de uso na indústria é limitada. Apesar de vários trabalhos investigarem indicadores, causas, efeitos e prevenção de TD, ainda há um longo caminho sobre como usar essas informações para apoiar a gestão de itens de dívida no contexto de atividades de teste. O objetivo desse trabalho é (i) apresentar uma versão atualizada de uma estrutura conceitual que organiza um conjunto de indicadores, causas, efeitos e práticas preventivas de TRTD, utilizando como base os dados do projeto InsighTD, que é um questionário global, que busca gerar dados experimentais sobre TD, suas causas, efeitos e gerenciamento a partir de profissionais de engenharia de software e (ii) avalia-o quanto à sua facilidade de uso, utilidade e possível uso futuro. Esta metodologia de avaliação, baseada no modelo de aceitação de tecnologia (TAM), faz um estudo de viabilidade dos mapas com 95 participantes. Como resultado da pesquisa, observou-se que o arcabouço conceitual com os elementos de TD pode ser útil para subsidiar a gestão dos itens do TRTD, conforme apontado por 89% dos participantes. A maioria dos participantes também indicou que ganharia produtividade, desempenho, agilidade e eficácia usando o arcabouço proposto. O framework também foi considerado fácil de aprender e usar pelos participantes do estudo.


  • Mostrar Abstract
  • Technical Debt (TD) contextualizes a set of tasks that are not performed and are accumulated to be performed later during software development. In software testing, insufficient test coverage, lack of testing, and lack of test case planning are situations in which test debt can be found. In contrast, other types of debt can affect the quality of testing activities. Outdated requirements documentation is an example of a requirements debt situation that can compromise test planning activities. In this scenario, the term test-related debt (TRTD) refers to the problems faced by test professionals due to the presence of TD items. Recently, a conceptual map has been proposed in the technical literature that relates test activities to TD items. This map presents test-related TD causes, indicators and payment practices. However, this map was based on an ad hoc literature review and experimental evidence on its feasibility for use in industry is limited. Despite several works investigating indicators, causes, effects and prevention of TD, there is still a long way to go on how to use this information to support the management of debt items in the context of testing activities. The objective of this work is (i) to present an updated version of a conceptual framework that organizes a set of indicators, causes, effects and preventive practices of TRTD, based on data from the InsighTD project, which is a global questionnaire, which seeks to generate experimental data on TD, its causes, effects and management from software engineering professionals and (ii) to evaluate it for its ease of use, usefulness and possible future use. This evaluation methodology, based on the technology acceptance model (TAM), ran a feasibility study of the maps with 95 participants. As a result of the research, it was observed that the conceptual framework with TD elements can be useful to support the management of TRTD items, as pointed out by 89% of the participants. Most participants also indicated that they would gain productivity, performance, agility and effectiveness using the proposed framework. The framework was also considered easy to learn and use by the study participants.

15
  • SAMIA CAPISTRANO GOMES
  • Evaluating Nexus Modifications Popularity and Positive Evaluations: An Empirical Study

  • Orientador : EDUARDO SANTANA DE ALMEIDA
  • MEMBROS DA BANCA :
  • RODRIGO PEREIRA DOS SANTOS
  • EDUARDO SANTANA DE ALMEIDA
  • RODRIGO ROCHA GOMES E SOUZA
  • Data: 18/08/2022

  • Mostrar Resumo
  • Nos últimos anos, os jogos de computador têm crescido em número de usuários, área de aplicação e complexidade de desenvolvimento. Neste contexto, destaca-se o modding, que são alterações criadas pelos utilizadores de jogos (Modders), disponibilizadas gratuitamente através de comunidades de modificação. Uma das maiores comunidades de compartilhamento de modificações é a Nexus Mods. Está possui mais de 300.000 arquivos diversos à disposição dos seus utilizadores. As Modificações (Mods) tendem a aumentar o ciclo de vida, as vendas e ajudam a acrescentar novas funcionalidades aos jogos, porém poucos estudos os analisam. Assim, estudámos os Mods a fim de identificar padrões dos artefatos centrados em sua popularidade e qualidade (avaliações positivas). Este estudo identificou quais dimensões poderiam distinguir as modificações populares das impopulares e os mods com muitas avaliações positivas dos com poucas avaliações positivas. Identificamos também as características com poder explicativo significativo sob popularidade e as avaliações positivas dos mods. Para tal, foram propostos e analisados modelos logísticos utilizando cálculos estatísticos. Analisamos 40.865 mods populares e 40.865 mods impopulares, 40.865 mods com muitas avaliações positivas, e 40.865 com poucas avaliações positivas da comunidade de Mods Nexus através de 4 dimensões (Mods Categorias, Mods Documentação, Mods Contribuição da Comunidade e Modders Características ) e 27 características. Como resultado, obtemos que todas as dimensões estudadas têm o poder de distinguir as modificações populares das impopulares e as modificações com muitas avaliações positivas das que têm poucas avaliações positivas. Das 27 características, 23 características têm poder explicativo significativo sob popularidade dos mods, e 22 sob avaliações positivas dos mods. Este estudo identificou a necessidade de integrar as versões dos mods e as suas classificações de versão, permitir avaliações negativas, criar uma boa descrição, e adicionar etiquetas aos mods, entre outras implicações e perspectivas para a comunidade Nexus, os Modders, usuários e pesquisadores.


  • Mostrar Abstract

  • In recent years, computer games have grown in the number of users, application area, and development complexity. In this context, modding stands out, which are changes created by game users (Modders), made available for free through modification communities. One of the largest modification-sharing communities is Nexus Mods, with over 300,000 diverse files available to its users.
    The Mods tend to increase the life cycle and sales and help add new functionality to games, but few studies have analyzed them. So we studied the mods in order to identify patterns of artifacts focusing on their popularity and quality (positive evaluations).
    This study identified which dimensions could distinguish popular modifications from unpopular ones and the mods with many positive evaluations from those with few positive evaluations. We also identify the features with significant explanatory power under popularity and positive evaluations of the mods. For this, Logistic models were proposed and analyzed using statistical calculations. We analyze 40,865 popular mods and 40,865 unpopular mods, 40,865 mods with many positive evaluations, and 40,865 with few positive evaluations from the Nexus Mods community through 4 dimensions (Mods Categories, Mods Documentation, Mods Community Contribution, and Modders Characteristics ) and 27 characteristics.
    As a result, we obtained that all the dimensions studied have the power to distinguish popular modifications from unpopular ones and modifications with many positive evaluations from those with few positive evaluations. Of the 27 features, 23 features have significant explanatory power under mod popularity, and 22 under mod positive evaluations. This study has identified a need to integrate the versions of mods and their version evaluations, enable negative evaluations, create a good description, and add tags to the mods, among other implications and perspectives for the Nexus community, Modders, users, and researchers.

16
  • JADNA ALMEIDA DA CRUZ
  • GRSPOID: Um Sistema de Recomendação de Pontos de Interesse para Grupos com Diversificação

  • Orientador : FREDERICO ARAUJO DURAO
  • MEMBROS DA BANCA :
  • FREDERICO ARAUJO DURAO
  • DANILO BARBOSA COIMBRA
  • ROSALVO FERREIRA DE OLIVEIRA NETO
  • Data: 24/08/2022

  • Mostrar Resumo
  • Nos últimos anos a disponibilidade de dados na Web tem sido impulsionada pelo uso crescente das redes sociais e aplicativos para smartphones. Além do conteúdo textual, informações de geo-localização também são compartilhadas, favorecendo o surgimento de inúmeros serviços baseado em localização. As informações de localização de um Ponto de Interesse (POI) podem ser utilizadas para se entender o perfil de usuários, seus interesses e movimentações. Dessa maneira, é possível identificar, por exemplo, lugares de interesse de um determinado usuário, e até mesmo classificá-los em categorias, tais como café, universidade, bar, shopping, etc. Esse tipo de dado é bastante utilizado para os Sistemas de Recomendação de Pontos de Interesse que tem por objetivo auxiliar os usuários na busca por lugares de interesses, seja no dia a dia, ou durante uma viagem. Esses sistemas tradicionalmente recomendam para indivíduos, no entanto, existem cenários em que os indivíduos se reúnem em grupos, aumentando assim a complexidade do problema. Além da necessidade de encontrar as preferências individuais, a recomendação deve ponderar as preferências do grupo como um todo, o que exige a aplicação de uma técnica de consenso. Outro obstáculo é que recomendações não diversificadas, tendem a ser sempre da mesma categoria, diminuindo o interesse do grupo em recomendações de Pontos de Interesse já conhecidos. Esta dissertação de mestrado propõe Sistema de Recomendação de Pontos de Interesse para Grupos usando diversidade. Para avaliar o modelo proposto, foi realizado um exaustivo experimento com 19 grupos, sendo alguns com 3 e outros 5 membros. Para avaliar as recomendações diversificadas, foram utilizadas métricas de precisão nas posições 3, 5 e 10. De acordo com os resultados, as recomendação para as posições 5 e 10 obtiveram resultados mais satisfatórios quando a diversidade foi aplicada. Após o experimento com usuários reais, também foi realizada uma análise offline com variações do modelo proposto e das técnicas de agregação. De acordo com os resultados obtidos, foi possível verificar que os modelos de recomendação com diversidade obtiveram melhores resultados que a abordagem não diversificada na maioria das configurações testadas.


  • Mostrar Abstract
  • In recent years the availability of data on the Web has been driven by the increasing use of social networks and smartphone applications. In addition to textual content, geo-location information is also shared, favoring the emergence of numerous location-based services. The location information of a Point of Interest (POI) can be used to understand the profile of users, their interests, and movements. In this way, it is possible to identify, for example, places of interest for a particular user, and even classify them into categories, such as cafes, universities, bars, malls, etc. This type of data is widely used for Points of Interest Recommender Systems, which aim to assist users in the search for places of interest, whether on a daily basis or during a trip. These systems are traditionally recommended for individuals, however, there are scenarios where individuals gather in groups, thus increasing the complexity of the problem. In addition to the need to find individual preferences, the recommendation must consider the preferences of the group as a whole, which requires the application of a consensus technique. Another obstacle is that non-diversified recommendations tend to always be in the same category, decreasing the group's interest in recommendations from already known Points of Interest. This master's thesis proposes a Points of Interest Recommendation System for Groups using diversity. To evaluate the proposed model, an exhaustive experiment was carried out with 19 groups, some with 3 and others with 5 members. To evaluate the diversified recommendations, precision metrics were used in positions 3, 5, and 10. According to the results, the recommendations for positions 5 and 10 obtained more satisfactory results when diversity was applied. After the experiment with real users, an offline analysis was also performed with variations of the proposed model and aggregation techniques. According to the results obtained, it was possible to verify that the recommendation models with diversity obtained better results than the non-diversified approach in most of the tested configurations.

17
  • ADEILSON ANTONIO DA SILVA
  • Ao enganar a classificação de malware com injeção de seção: ataque e defesa usando redes neurais profundas
  • Orientador : MAURICIO PAMPLONA SEGUNDO
  • MEMBROS DA BANCA :
  • ANDRÉ BRASIL VIEIRA WYZYKOWSKI
  • KARL PHILIPS APAZA AGUERO
  • MAURICIO PAMPLONA SEGUNDO
  • Data: 22/11/2022

  • Mostrar Resumo
  • Investigamos como modificar arquivos executáveis para enganar os sistemas de classificação de malware. A principal contribuição deste trabalho é uma metodologia para injetar bytes em um arquivo de malware aleatoriamente e usá-lo tanto como um ataque para diminuir a precisão da classificação quanto como um método defensivo, aumentando os dados disponíveis para treinamento. Ele respeita o formato de arquivo do sistema operacional para garantir que o malware ainda será executado após nossa injeção e não mudará seu comportamento. Reproduzimos cinco abordagens de classificação de malware de última geração para avaliar nosso esquema de injeção: uma baseada em GIST+KNN, três variações de CNN e uma CNN Gated. Realizamos nossos experimentos em um conjunto de dados público com 9.339 amostras de malware de 25 famílias diferentes. Nossos resultados mostram que um simples aumento de 7% no tamanho do malware causa uma queda de precisão entre 25% e 40% para a classificação da família de malware. Eles mostram que um sistema de classificação automática de malware pode não ser tão confiável quanto relatado inicialmente na literatura. Também avaliamos o uso de malwares modificados ao lado dos originais para aumentar a robustez das redes contra os ataques mencionados. Os resultados mostram que uma combinação de reordenar seções de malware e injetar dados aleatórios pode melhorar o desempenho geral da classificação. Código disponível em https://github.com/adeilsonsilva/malware-injection.


  • Mostrar Abstract
  • We investigate how to modify executable files to deceive malware classification systems. This work's main contribution is a methodology to inject bytes across a malware file randomly and use it both as an attack to decrease classification accuracy but also as a defensive method, augmenting the data available for training. It respects the operating system file format to make sure the malware will still execute after our injection and will not change its behavior. We reproduced five state-of-the-art malware classification approaches to evaluate our injection scheme: one based on GIST+KNN, three CNN variations and one Gated CNN. We performed our experiments on a public dataset with 9,339 malware samples from 25 different families. Our results show that a mere increase of 7% in the malware size causes an accuracy drop between 25% and 40% for malware family classification. They show that a automatic malware classification system may not be as trustworthy as initially reported in the literature. We also evaluate using modified malwares alongside the original ones to increase networks robustness against mentioned attacks. Results show that a combination of reordering malware sections and injecting random data can improve overall performance of the classification. Code available at https://github.com/adeilsonsilva/malware-injection.

18
  • AMANDA CHAGAS DE OLIVEIRA
  • Um Modelo de Recomendação para Grupos Utilizando Técnicas de Diversificação

  • Orientador : FREDERICO ARAUJO DURAO
  • MEMBROS DA BANCA :
  • FREDERICO ARAUJO DURAO
  • DANILO BARBOSA COIMBRA
  • NATASHA CORREIA QUEIROZ LINO
  • Data: 28/11/2022

  • Mostrar Resumo
  • Sistemas de Recomendação tradicionalmente recomendam itens a usuários individuais, no entanto existem cenários nos quais os indivíduos se reúnem em grupos e com isso surge a necessidade de recomendar também a grupos. A maior parte desses grupos se forma naturalmente, como por exemplo para assistir um filme, almoçar em algum restaurante ou até mesmo planejar uma viagem. Em todas essas hipóteses é possível utilizar os Sistemas de Recomendação enquanto ferramentas para oferecer informações personalizadas ao grupo como um todo. Para tanto, é preciso levar em consideração as preferências individuais dos membros do grupo, com o intuito de satisfazê-lo plenamente, e, nesse sentido, utilizar técnicas de agregação dessas informações. Embora existam técnicas de consenso para agregação das informações, as recomendações podem ser repetitivas entre si pois atenderão sempre ao mesmo perfil de grupo. Esse inconveniente abre precedente para adoção de técnicas de diversidade para recomendações ao grupo. Neste trabalho, nós investigamos como aplicar tais técnicas de diversificação em recomendações para grupo, com base nas preferências dos membros, a fim de evitar a super-especialização do sistema e assim manter os membros do grupo satisfeitos de forma geral. Para tanto, é preciso desenvolver um modelo de formação do grupo, e, em seguida, modelar como será realizada a recomendação, para então conseguir aplicar técnicas de diversificação nos itens a serem recomendados. Foram realizados dois experimentos nesta pesquisa, ambos considerando um trabalho relacionado como baseline. No experimento offline o resultado do modelo proposto foi levemente  superior ao baseline, tendo sido 3.8% mais preciso e 1.8% mais diverso. No segundo experimento, o experimento online, o modelo proposto dominou completamente o baseline em termos de precisão e foi levemente inferior em termos de diversidade.


  • Mostrar Abstract
  • Recommender Systems traditionally recommend items to individual users. However, there are scenarios where individuals gather in groups, and with that arises the need to recommend to groups. Most of these groups form naturally, for example, to watch a movie, have lunch at a restaurant, or even plan a trip. In all these hypotheses, it is possible to use Recommender Systems to offer personalized information to the group as a whole. To do so, it is necessary to consider the individual preferences of the group members, to satisfy them fully, and, in this sense, to use techniques for aggregating this information. Although there are consensus techniques for aggregating information, the recommendations can be repetitive among themselves, as they will always serve the same group profile. This inconvenience sets a precedent for adopting diversity techniques for recommendations to the group. In this work, we investigate how to apply such diversification techniques in group recommendations, based on the members' preferences, to avoid over-specialization of the system and thus keep the group members satisfied in general. To do so, it is necessary to develop a group formation model and then model how the recommendation will be carried out to be able to apply diversification techniques to the items to be recommended. Two experiments were carried out in this research, considering related work as a baseline. In the offline experiment, the result of the proposed model was slightly higher than the baseline, having been 3.8% more accurate and 1.8% more diverse. In the second experiment, the online experiment, the proposed model completely dominated the baseline in terms of accuracy and was slightly inferior in terms of diversity.

19
  • Jane Barbosa Santos
  • Estratégias Para Adoção Das Redes Experimentais No Ensino De Redes De Computadores: Dispositivos Para Orientação Docente

     
     
  • Orientador : LEOBINO NASCIMENTO SAMPAIO
  • MEMBROS DA BANCA :
  • ECIVALDO DE SOUZA MATOS
  • JOBERTO SERGIO BARBOSA MARTINS
  • LEOBINO NASCIMENTO SAMPAIO
  • MARIA CAROLINA DE SOUZA SAMPAIO
  • Data: 07/12/2022

  • Mostrar Resumo
  • Na tentativa de promover uma aprendizagem ativa, dinâmica e centrada no aluno, diversas instituições têm investido no uso de simuladores, jogos, laboratórios virtuais, e mais recentemente ambientes de redes experimentais (testbeds) como uma alternativa tecnológica para a realização de laboratórios práticos. Os testbeds já são utilizados como plataformas para apoio ao desenvolvimento de pesquisas na área de redes há um tempo, e é comum que com o passar do tempo as tecnologias empregadas na sua construção se tornem obsoletas e menos interessante para os pesquisadores, fazendo com que seus projetos iniciais sejam descontinuados. Sendo assim, são necessários novos incentivos e parcerias para manter o testbed ativo, e é justamente nesse cenário, que observa-se uma oportunidade para o uso desses ambientes na educação. Porém, mesmo com as vantagens de proporcionar uma formação diferenciada aos alunos, já que os testes no testbeds são realizados com equipamentos reais, seu uso no ensino ainda é baixo, uma vez que, não há um sistema que oriente o professor no uso desses ambientes para potencializar o processo de ensino e aprendizagem pelos alunos, tampouco há técnicas de avaliação que considerem suas especificidades. Neste sentido, apresentamos nesta dissertação dois produtos: o dispositivo de avaliação RUBIK, criado para permitir a avaliação de cursos que utilizam testbeds sob diferentes perspectivas e um Guia de Recomendações com recomendações básicas para orientar os professores na inserção dos testbeds em sala de aula. O objetivo do RUBIK é avaliar a efetividade dos testbeds no ensino de redes de computadores, bem como se tornar uma ferramenta genérica para avaliação de cursos que utilizam esses ambientes como infraestrutura tecnológica para realização de laboratórios práticos. O guia tem como objetivo contribuir para o processo de adoção dos testbeds em sala de aula, ampliando assim as oportunidades de aprendizagem dos alunos, a partir da aplicação de conceitos teóricos em situações práticas. Assim, os recursos apresentados nesta dissertação (RUBIK e Guia de Recomendações) contribuem para apoiar o professor através da sinalização de critérios importantes a serem considerados desde a fase de elaboração até a efetiva avaliação de cursos que utilizam testbeds como infraestrutura tecnológica para realização de laboratórios práticos. 

     
     

  • Mostrar Abstract
  •  

     
     
20
  • LEONAN TEIXEIRA DE OLIVEIRA
  • Uma abordagem sensível à latência e ao custo de comunicação para alocação de aplicações modulares em uma fog hierárquica

  • Orientador : MAYCON LEONE MACIEL PEIXOTO
  • MEMBROS DA BANCA :
  • DANIEL GOUVEIA COSTA
  • LUIZ FERNANDO BITTENCOURT
  • MAYCON LEONE MACIEL PEIXOTO
  • Data: 13/12/2022

  • Mostrar Resumo
  • Ao longo dos anos, a Cloud Computing vem fornecendo infraestrutura para o processamento de aplicações e serviços. Entretanto, a distância entre os recursos computacionais da Cloud e os dispositivos da Internet of Things (IoT) pode causar atrasos nos tempos de respostas para alguns serviços e aplicações que possuem sensibilidade e requisitos temporais. Nesse contexto, a Fog Computing surge como um paradigma computacional que busca aproximar os recursos da Cloud Computing dos dispositivos IoT, distribuindo geograficamente os micro-centros de dados (Cloudlets) e reduzindo o tempo de resposta. Estudos utilizando a Fog Computing apresentam soluções para a alocação das aplicações de forma que seja possível atender os diferentes tipos de requisitos. Esses estudos avaliam determinados requisitos para tomada de decisão, tais como o tempo de resposta e o custo de comunicação. Entretanto, observa-se nesses estudos que à medida que um requisito é priorizado outro é preterido. Dessa forma, este trabalho propõe uma abordagem para alocação de aplicações modulares em uma arquitetura de Fog Computing de múltiplos níveis hierárquicos, que busca reduzir o tempo de resposta de aplicações sensíveis a latência e reduzir o tráfego de dados na rede. Para alcançar esse objetivo, a abordagem proposta, Least Impact - X (LI-X), busca reduzir a ociosidade de recursos nos níveis mais baixos da Fog e leva em consideração a comunicação entre os módulos das aplicações quando precisa decidir sobre a
    alocação. O LI-X foi comparado a estudos predecessores em um ambiente simulado do iFogSim. Os resultados mostram que o LI-X conseguiu superar esses estudos na maioria dos cenários propostos, reduzindo o tempo de resposta e o custo com a comunicação de dados na rede.

  • Mostrar Abstract
  • Over the years, Cloud Computing has provided infrastructure for processing applications and services. However, the distance between Cloud computing resources and Internet of Things (IoT) devices can cause delays in response times for some services and applications that have sensitivity and temporal constraints. In this context, Fog Computing emerges as a computational paradigm that seeks to bring Cloud Computing resources closer to IoT devices, geographically distributing micro-data centers (Cloudlets) and reducing response time. Studies using Fog Computing present solutions for the application allocation, addressing that it is possible to meet different types of requirements. These studies evaluate certain requirements for decision making, such as response time and communication cost. However, it is observed in these studies that as a requirement is prioritized, another is neglected. Thus, this work proposes an approach for allocating modular applications in a Fog Computing architecture with multiple hierarchical levels, which seeks to reduce the response time of latency-sensitive applications and reduce data traffic on the network. To achieve this goal, the proposed approach, Least Impact - X (LI-X), seeks to reduce the idleness of resources at the lowest levels of the fog and takes into account the communication between application modules when deciding on the allocation. LI-X was compared to predecessor studies in a simulated iFogSim environment. The results show that the LI-X was able to overcome these studies in most of the proposed scenarios, reducing the response time and the cost of data communication on the network.

21
  • Nilvan Santana Souza
  • Alocação Inteligente de Recursos para Proteção Adiada Baseada em Aprendizado de Máquina em Redes Ópticas Elásticas

  • Orientador : GUSTAVO BITTENCOURT FIGUEIREDO
  • MEMBROS DA BANCA :
  • MARCIA HELENA MOREIRA PAIVA
  • GUSTAVO BITTENCOURT FIGUEIREDO
  • TATIANE NOGUEIRA RIOS
  • Data: 14/12/2022

  • Mostrar Resumo
  • Atualmente diversos Data Centers estão interconectados em todo o mundo, fornecendo suporte a serviços de nuvem para processamento e armazenamento de dados gerados na internet. A Rede Óptica Elástica (EON) se apresenta como uma infraestrutura capaz de transmitir as altas taxas de dados geradas em tais redes de Data Centers, criando as Redes Ópticas Elásticas Inter-datacenters (IDC-EONs). Isto porque, a rede EON possui alta largura de banda, além disso, pode operar em diversas taxas de transmissão, aumentando ou diminuindo a largura de banda de acordo com a demanda, o que torna a rede ideal para suprir o fluxo de dados mundial. Em IDC-EONs, pequenas interrupçõeses na transmissão podem resultar na perda de um grande volume de dados, alguns dados podem ser críticos, sua perda pode causar danos aos usuários da rede, por isso, a necessidade de utilizar estratégias de proteção em IDC-EONs. A partir do estudo e análise de dados é possível detectar padrões e/ou comportamentos da rede IDC-EON, através do processo de Aprendizado de Máquina (AM), a partir da aprendizagem de uma experiência passada. A partir desse contexto, este trabalho apresenta 3 mecanismos de alocação de recursos para proteção adiada em redes IDC-EONs. Os mecanismos utilizados neste trabalho, foram baseadas em técnicas de análise de dados e de AM para o auxilio das decisões relacionadas a alocação de banda nos caminhos ópticos em redes IDC-EONs


  • Mostrar Abstract
  • Currently, several Data Centers are interconnected worldwide, providing support to cloud services for processing and storing data generated on the internet. The Elastic Optical Network (EON) presents itself as an infrastructure capable of transmitting the high data rates generated in such Data Center networks, creating the Inter-datacenter Elastic Optical Networks (IDC-EONs). This is because the EON network has high bandwidth. In addition, it can operate at different transmission rates, increasing or decreasing the bandwidth according to demand, which makes the network ideal for supplying the world's data flow. In IDC-EONs, minor interruptions in transmission can result in the loss of a large volume of data. Some data can be critical, so their loss can cause harm to network users, hence the need to use protection strategies in IDC-EONs. From the study and analysis of data, it is possible to detect patterns and behaviors of the IDC-EON network, through the Machine Learning (ML) process, from the learning of a past experience. This work presents 3 resource allocation mechanisms for deferred protection in IDC-EON networks from this context. The mechanisms used in this work were based on data analysis and AM techniques to help decisions related to bandwidth allocation in optical paths in IDC-EON networks.

Teses
1
  • STEFANI SILVA PIRES
  • Aprendizagem de políticas de cache adequadas em redes centradas na informação

  • Orientador : LEOBINO NASCIMENTO SAMPAIO
  • MEMBROS DA BANCA :
  • JUSSARA MARQUES DE ALMEIDA
  • DANIEL SADOC MENASCHE
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • LEOBINO NASCIMENTO SAMPAIO
  • TATIANE NOGUEIRA RIOS
  • Data: 11/02/2022

  • Mostrar Resumo
  • Nos últimos anos, a rede centrada na informação (Information-centric networking - ICN) ganhou atenção das comunidades de pesquisa e indústria como um paradigma de rede de distribuição de conteúdo eficiente e confiável, especialmente para lidar com aplicativos centrados em conteúdo e que necessitam de alta largura de banda, juntamente com os requisitos heterogêneos de redes emergentes, como a Internet das coisas, Redes veiculares Ad-hoc e Computação na borda da rede. O armazenamento em caches na rede é uma parte essencial do design da arquitetura ICN e o desempenho da rede geral depende da eficiência da política de armazenamento de conteúdos utilizada no cache. Portanto, um grande número de políticas de substituição de conteúdos foram propostas para atender às necessidades de diferentes redes. A literatura apresenta extensivamente estudos sobre o desempenho das políticas de substituição em diferentes contextos. As avaliações podem apresentar diferentes variações de características de contexto, levando a diferentes impactos no desempenho das políticas ou diferentes resultados das políticas mais adequadas. Por outro lado, existe uma lacuna de pesquisas para compreender como as características do contexto influenciam o desempenho das políticas. Também faltam iniciativas que auxiliem no processo de escolha de uma política adequada a um cenário específico. Nesse sentido, esta tese aborda essas lacunas de pesquisa ao (i) apontar o que é contexto da perspectiva das políticas de substituição de cache e as características de contexto que influenciam o comportamento do cache, e (ii) propor uma estratégia de meta-política de cache para auxiliar na escolha de políticas adequadas ao contexto vigente. Para o estudo de delimitação de contexto, realizamos uma extensa pesquisa da literatura de ICN para mapear as evidências relatadas de diferentes aspectos do contexto em relação aos esquemas de substituição de cache. Além da contribuição de entender o que é contexto para políticas de cache, a pesquisa forneceu uma classificação útil de políticas com base nas dimensões de contexto usadas para determinar a relevância dos conteúdos. Além disso, como uma investigação de aspectos holísticos para representar o contexto, e motivados pela área emergente das redes centradas no humano, realizamos um estudo de caso exploratório sobre a influência do comportamento humano no desempenho das políticas. Neste sentido, realizamos um estudo baseado em simulação que avaliou o desempenho das políticas de substituição de cache por meio de clusters formados pelos usuários de acordo com seus hábitos de escuta musical. Os resultados mostram evidências de que aspectos distintos de contexto afetam o desempenho das políticas de cache. Após os estudos de contexto, apresentamos uma estratégia de meta-política capaz de aprender a política mais adequada para caches online e se adaptar dinamicamente às variações de contexto que levam à mudanças em qual política é a melhor. A meta-política se beneficia da diversidade de políticas e seus aspectos de contexto, e faz uma separação entre a lógica de remoção do conteúdo e o gerenciamento das informações de contexto usadas pela política. A estratégia modela a escolha de políticas adequadas como um problema de aprendizado online com retorno parcial. A meta-política oferece suporte à implantação de um conjunto diversificado de políticas de cache autocontidas em diferentes redes. Ela permite que o dispositivo de cache funcione como um sistema adaptativo agnóstico aos contextos subjacentes, como padrões de solicitação de conteúdo ou variações de popularidade. Os resultados experimentais mostraram a eficácia e adaptabilidade da meta-política a diferentes contextos em simulações com dados sintéticas reais.


  • Mostrar Abstract
  • In recent years, Information-centric networking (ICN) has gained attention from the research and industry communities as an efficient and reliable content distribution network paradigm, especially to address content-centric and bandwidth-needed applications together with the heterogeneous requirements of emergent networks, such as the Internet of Things, Vehicular Ad-hoc NETwork, and Mobile Edge Computing. In-network caching is an essential part of ICN architecture design, and the performance of the overall network relies on caching policy efficiency. Therefore, a large number of cache replacement strategies have been proposed to suit the needs of different networks. The literature extensively presents studies on the performance of the replacement schemes in different contexts. The evaluations may present different variations of context characteristics leading to different impacts on the performance of the policies or different results of most suitable policies. Conversely, there is a lack of research efforts to understand how the context characteristics influence policy performance. There is also a lack of initiatives to assist the process of choosing a suitable policy given a specific scenario. In this direction, this thesis address those research gaps by (i) pointing out what is context from the perspective of cache replacement policies and the context characteristics that influence cache behavior, and (ii) proposing a caching meta-policy strategy to assist the choosing process of suitable policies according to the current context. For the context delimitation study, we have conducted an extensive survey of the ICN literature to map reported evidence of different aspects of context regarding the cache replacement schemes. Beyond the contribution of understanding what is context for caching policies, the survey provided a helpful classification of policies based on the context dimensions used to determine the relevance of contents. Moreover, as an investigation of holistic aspects to represent context, and motivated by the emergent area of human-centric networking, we have performed an exploratory case study on a human behavior influence over the policies performance. To accomplish such goal, we carry out a simulation-based study that evaluated the performance of cache replacement policies through clusters formed by users according to their music listening habits. The results fostered the evidence that distinct context aspects have an effect on caching policy performances. Following the context studies, we present a meta-policy strategy capable of learning the most appropriate policy for cache online and dynamically adapting to context variations that leads to changes in which policy is best. The meta-policy benefits from the diversity of policies and its context aspects, decouples the eviction strategy from managing the context information used by the policy, and models the choice of suitable policies as online learning with bandit feedback problem. The meta-policy can support the deployment of a diverse set of self-contained caching policies in different networks. It enables cache routers to work as adaptive systems agnostic to the underlying contexts, such as content request patterns or popularity variations. Experimental results in single and network of caches have shown the meta-policy effectiveness and adaptability to different contexts in synthetic and trace-driven simulations.

2
  • ANDRÉ BRASIL VIEIRA WYZYKOWSKI
  • SÍNTESE DE IMPRESSÕES DIGITAIS CIENTE DA IDENTIDADE UTILIZANDO REDES NEURAIS GENERATIVAS

  • Orientador : MAURICIO PAMPLONA SEGUNDO
  • MEMBROS DA BANCA :
  • DANILO BARBOSA COIMBRA
  • KARL PHILIPS APAZA AGUERO
  • MAURICIO PAMPLONA SEGUNDO
  • RAONI FLORENTINO DA SILVA TEIXEIRA
  • RODRIGO MINETTO
  • Data: 23/02/2022

  • Mostrar Resumo
  • As restrições legais atuais que protegem a privacidade dos dados biométricos estão dificultando a pesquisa de reconhecimento de impressão digital. Por exemplo, todos os bancos de dados de impressão digital de alta resolução deixaram de estar disponı́veis. Além disso, não existem bancos de dados hı́bridos que contenham imagens de alta e média resolução em diferentes sensores. Trabalhos recentes utilizam redes neurais generativas (GAN) para replicar a distribuição de impressões digitais em um determinado conjunto de dados com o intuito de sintetizar novas imagens. No entanto, esses métodos são problemáticos, pois estes replicam caracterı́sticas visuais indesejáveis além de gerar dados enviesados (por exemplo, distribuição de classe de impressão digital). Além disso, estes métodos são incapazes de gerar várias imagens da mesma identidade. Para resolver esse problema, apresentamos duas novas abordagens para sintetizar impressões digitais. A primeira é uma abordagem hı́brida para sintetizar impressões digitais realistas, de multi-resolução e multissensores. Essa abordagem pode gerar impressões digitais de alta e média resolução em diferentes sensores, mantendo as mesmas identidades. O segundo é um método de geração de impressão digital em dois estágios: geração de identidade e simulação de aquisição. Ao contrário de trabalhos anteriores que utilizam GAN, nosso primeiro estágio modela identidades de impressões digitais por classe. No segundo estágio, são criadas amostras por identidade através da combinação de uma modelagem de sensor (por exemplo, área, orientação, deformação) e por um processo de texturização realı́stica. Comparamos favoravelmente nossas imagens sintéticas com o estado da arte em termos de desempenho de reconhecimento biométrico e análise de qualidade de imagens sementes. Nossos experimentos sugerem que conjuntos de dados de imagens sintéticas criado por nossas abordagens são análogos a conjuntos de dados autênticos. Este fator pode ser crucial para pesquisas e desenvolvimentos de sistemas biométricos em grande escala sem gerar grandes custos de criação de bases de dados, além de evitar riscos relacionados à privacidade.


  • Mostrar Abstract
  • Today’s legal restrictions that protect biometric data privacy are hampering fingerprint recognition research. For instance, all high-resolution fingerprint databases ceased to be publicly available. Besides, there are no hybrid databases that contain high and medium-resolution images on different sensors. Recent works use generative neural networks (GAN) to replicate the distribution of fingerprints in a given training dataset and synthesize new images. However, these methods are troubled with the replication of undesirable visual characteristics and biases (e.g., fingerprint class distribution) from the training dataset and the inability to generate multiple images of the same identity. To address this problem, we present two novel approaches to synthesize fingerprints. The first is a hybrid approach to synthesize realistic, multiresolution and multisensor fingerprints. This approach can generate high and medium-resolution fingerprints on different sensors, maintaining the same identities. The second is a fingerprint generation method divided into two stage: identity generation and acquisition simulation. Unlike previous works, our first stage models fingerprints focusing on identity cues rather than realism, which we achieve by combining class-specific image generation and inpainting-based restoration. In the second stage, we create multiple samples per identity with the combination of sensor modeling (e.g., area, orientation, deformation) and realistic texturing. We favorably compared our synthetic images to the state-of-the-art in terms of biometric recognition performance and seed image quality analysis. Our experiments suggest that the datasets of synthetic images created by our approaches are analogous to an authentic dataset, which can be crucial for researching and developing large-scale biometric systems without incurring major dataset creation costs and privacy-related risks.

3
  • DIOGO VINÍCIUS DE SOUSA SILVA
  • Utilização de Técnicas de Clusterização e Cadeias de Markov para Sistemas de Recomendação de Itens de Cauda Longa

  • Orientador : FREDERICO ARAUJO DURAO
  • MEMBROS DA BANCA :
  • FREDERICO ARAUJO DURAO
  • MAYCON LEONE MACIEL PEIXOTO
  • RAFAEL AUGUSTO DE MELO
  • RENATO DE FREITAS BULCÃO NETO
  • PEDRO DE ALCÂNTARA DOS SANTOS NETO
  • Data: 09/06/2022

  • Mostrar Resumo
  • Sistemas de Recomendação focam em recomendar os mais relevantes itens para usuários finais. Geralmente, os itens mais importantes são também os mais populares. Entretanto, o surgimento de novas formas de distribuição de conteúdo nos mais diversos mercados implicou no surgimento do fenômeno cauda longa, ou seja, a formação de novos mercados com produtos de nicho. Considerando o crescimento de grupos relacionados a mercados de nicho, o estudo de recomendações na cauda longa tornou-se cada vez mais crescente. Todavia, por serem menos populares, itens de cauda longa possuem uma menor quantidade de feedbacks, informações que geralmente são fornecidas pelos usuários através de compras, avaliações ou classificação (ratings) de um item. Como o sistema se baseia nos dados de comportamento de utilização e/ou histórico de vendas, quanto menor a quantidade e variedade de dados disponíveis para serem analisados, mais difícil será gerar recomendações mais relevantes. O principal objetivo da proposta apresentada nesta tese é o desenvolvimento de um modelo de recomendação que consiga melhor direcionar os usuários a itens de nicho. Assim, conduzi-los a uma maior diversidade de produtos e ao mesmo tempo de grande relevância. Para isso, técnicas de clusterização e representação de matrizes através de grafos são exploradas. Propomos duas abordagens e adotamos para cada uma, duas técnicas da literatura aplicadas de forma híbrida. A primeira técnica adota cadeias de Markov para calcular similaridades dos nós de um grafo usuário-item. A segunda técnica aplica clusterização no conjunto de itens de um dataset. Experimentos foram realizados para avaliar a abordagem e medir a eficácia das recomendações considerando o contexto da cauda longa. Métricas como recall, diversidade e popularidade das recomendações geradas foram mensuradas e comparadas com técnicas cujo objetivos não abrangem diretamente recomendações cauda longa. Além disso, um questionário aplicado com especialistas do domínio do negócio também complementaram a avaliação das abordagens propostas. Comparando com outros trabalhos do estado da arte, os resultados mostram que é possível melhorar a precisão das recomendações mesmo focando em itens menos populares, no caso, produtos de nicho que formam a cauda longa. O recall em alguns casos melhorou cerca de 27,9% enquanto que a popularidade dos itens recomendados diminuiu. Além disso, as recomendações focaram em itens mais diversificados indicando melhor exploração dos itens de cauda longa.


  • Mostrar Abstract
  • Recommendation Systems focus on recommending the relevant items to end-users. Usually, the most important items are the most popular ones. However, the emergence of new forms of content distribution in the most diverse markets implied the emergence of the long tail phenomenon, i.e., the creation of new niche products market. Considering the growth of groups related to niche markets, the study of recommendations in the long tail has become increasingly demanding. Nevertheless, long-tail items naturally tend to generate fewer inputs to information systems such as purchase logs, user feedback, and ratings. As a result, it becomes more difficult to recommend items from the long tail. Motivated by these premisses, the primary purpose of this thesis is to develop and exploit recommendation models capable of leading users to niche items located in the long tail, but at the same time highly relevant ones. For this, two major techniques of clustering and representation of matrices through graphs are explored. The first technique adopts Markov chains to calculate similarities of the nodes of a user-item graph. The second technique applies clustering to the set of items in a dataset. Such a combination aims to give more visibility to the long tail items. Experiments were carried out to evaluate the approach and measure the effectiveness of the recommendations considering the long tail context. Metrics such as recall, diversity, and popularity of the generated recommendations were calculated and compared with techniques whose objectives do not directly cover long-tail recommendations. In addition, a questionnaire applied to experts in the business domain also complemented the evaluation of the proposed approaches. By comparing our proposals against three state-of-the-art baselines, the results show that it is possible to improve the accuracy of the recommendations even by focusing on less popular items, in this case, niche products that form the long tail. The recall in some cases improved by about 27.9%, while the popularity of recommended items has declined. In addition, the recommendations show to contain more diversified items indicating better exploitation of the long tail.

4
  • JOÃO PAULO PEREIRA DE SÁ CANÁRIO
  • On deep learning features for noisy time series classification

  • Orientador : RICARDO ARAUJO RIOS
  • MEMBROS DA BANCA :
  • RICARDO ARAUJO RIOS
  • RUBISLEY DE PAULA LEMES
  • EDUARDO FURTADO DE SIMAS FILHO
  • MARCELO KEESE ALBERTINI
  • GLORIA MILLARAY JULIA CURILEM SALDIAS
  • Data: 04/07/2022

  • Mostrar Resumo
  • The adoption of Deep Neural Network (DNN) methods to solve problems in real-world scenarios has been increasing as the data volume grows. Although such methods present impressive results in supervised learning, it is known that the occurrence of noises modifying the original data behavior can affect the model accuracies and, consequently, the generalization process, which is highly relevant in learning tasks. Several approaches have been proposed to reduce the impact of noise on the final model, varying since the application of preprocessing steps to the design of robust DNN layers. However, we have noticed that such approaches were not systematically assessed to understand how the noise influences have been propagated throughout the DNN architectures. This gap motivated us to design this work, which was focused on modeling noisy data with temporal dependencies, typically referred to as time series or signals. In summary, our main claim was to create a network capable of acting as a noise filter and being easily connected to existing networks. To reach this goal, we have defined a methodology, which was organized into four phases: i) execution of a study about the application of DNNs to model signals collected from a real-world problem; ii) investigation of different preprocessing tools to transform such signals and reduce noise influences; iii) analysis about the impact of increasing/reducing the noise on the final model; and iv) creation of a new DNN that can be embedded into DNN architectures and act as noise filtering layer to keep the overall performances. The first and second phases were achieved in collaboration with researchers from the Universidad de La Frontera, which provided a set of signals directly collected from the Llaima volcano in Chile. The modeling performed on such signals allowed the creation of a new architecture called SeismicNet. By knowing the behavior or such signals, we could create a controlled scenario with different additive noise levels and outputs produced by our original models, thus meeting the third phase. Next, we performed two new studies to understand the impact of noises in our scenario. Firstly, we used statistical tests to confirm the error variation when noise is added to the expected signals. Then, we used XAI (eXplainable Artificial Intelligence) to visually comprehend the noise propagation into the DNN layers. Finally, we were able to finish up the last phase and accomplish our primary goal: the design of a new neural network architecture with embedding noise filtering to suppress the preprocessing phase. Interpreting the obtained results, we understand that this novel approach learned the noisy features better and was capable of delivering stable results apart from the noise level on the signal.


  • Mostrar Abstract
  • The adoption of Deep Neural Network (DNN) methods to solve problems in real-world scenarios has been increasing as the data volume grows. Although such methods present impressive results in supervised learning, it is known that the occurrence of noises modifying the original data behavior can affect the model accuracies and, consequently, the generalization process, which is highly relevant in learning tasks. Several approaches have been proposed to reduce the impact of noise on the final model, varying since the application of preprocessing steps to the design of robust DNN layers. However, we have noticed that such approaches were not systematically assessed to understand how the noise influences have been propagated throughout the DNN architectures. This gap motivated us to design this work, which was focused on modeling noisy data with temporal dependencies, typically referred to as time series or signals. In summary, our main claim was to create a network capable of acting as a noise filter and being easily connected to existing networks. To reach this goal, we have defined a methodology, which was organized into four phases: i) execution of a study about the application of DNNs to model signals collected from a real-world problem; ii) investigation of different preprocessing tools to transform such signals and reduce noise influences; iii) analysis about the impact of increasing/reducing the noise on the final model; and iv) creation of a new DNN that can be embedded into DNN architectures and act as noise filtering layer to keep the overall performances. The first and second phases were achieved in collaboration with researchers from the Universidad de La Frontera, which provided a set of signals directly collected from the Llaima volcano in Chile. The modeling performed on such signals allowed the creation of a new architecture called SeismicNet. By knowing the behavior or such signals, we could create a controlled scenario with different additive noise levels and outputs produced by our original models, thus meeting the third phase. Next, we performed two new studies to understand the impact of noises in our scenario. Firstly, we used statistical tests to confirm the error variation when noise is added to the expected signals. Then, we used XAI (eXplainable Artificial Intelligence) to visually comprehend the noise propagation into the DNN layers. Finally, we were able to finish up the last phase and accomplish our primary goal: the design of a new neural network architecture with embedding noise filtering to suppress the preprocessing phase. Interpreting the obtained results, we understand that this novel approach learned the noisy features better and was capable of delivering stable results apart from the noise level on the signal.

5
  • MARCO ANTONIO COSTA SIMÕES
  • Aprendizagem por Demonstração de Planos Coordenados em Sistemas Multiagentes

  • Orientador : TATIANE NOGUEIRA RIOS
  • MEMBROS DA BANCA :
  • TATIANE NOGUEIRA RIOS
  • RITA SUZANA PITANGUEIRA MACIEL
  • REINALDO AUGUSTO DA COSTA BIANCHI
  • JOÃO ALBERTO FABRO
  • LUIS PAULO GONÇALVES DOS REIS
  • Data: 05/07/2022

  • Mostrar Resumo
  • Um dos grandes desafios em SMA é a criação de planos cooperativos para lidar com os diversos cenários que se apresentam num ambiente dinâmico, de tempo real, composto por times de robôs móveis. Neste cenário, cada robô é controlado por um agente do SMA, o qual precisa tomar decisões complexas em um curto espaço de tempo de forma coordenada com os demais robôs de seu time. Apesar das muitas soluções desenvolvidas com base em planejamento multiagente e aprendizagem por reforço, um especialista humano no domínio do problema usualmente percebe oportunidades para melhores planos cooperativos em muitos cenários em que os robôs apresentam performance abaixo do esperado. A pesquisa apresentada nesta tese consiste em capturar o conhecimento do especialista humano para demonstrar como times de robôs podem cooperar melhor na solução do problema que devem resolver. O especialista humano, ao assistir o desempenho de um time de robôs em ação, é capaz de indicar as situações em que um plano cooperativo pode solucionar melhor um determinado problema. Como consequência, as diversas observações humanas podem ser reunidas em um conjunto de dados para treinamento dos agentes que controlam os robôs. Para o desenvolvimento desta pesquisa, foi utilizado o ambiente 3DSSIM e a coleta das demonstrações humanas foi realizada por meio de um conjunto de ferramentas desenvolvido a partir da adaptação de soluções existentes na comunidade RoboCup, utilizando uma estratégia de crowdsourcing. Além disso, foi utilizado o agrupamento fuzzy para reunir demonstrações de especialistas (setplays) que tenham o mesmo significado semântico, mesmo que com pequenas diferenças entre elas. Com os dados organizados, um mecanismo de aprendizagem por reforço foi utilizado para aprender uma política de classificação que permite aos agentes decidirem qual o grupo de  setplays é mais adequado a cada situação que se apresenta no ambiente.  Os resultados evidenciam a capacidade de evolução do time de robôs, a partir da aprendizagem dos setplays sugeridos e do seu uso de forma adequada às habilidades de cada robô.


  • Mostrar Abstract
  • One of the great challenges in MAS is the creation of cooperative plans to deal with the different scenarios that present themselves in a dynamic, real-time environment composed of teams of mobile robots. In this scenario, an agent of the MAS controls each robot, which needs to make complex decisions in a short time in a coordinated manner with the other robots on its team. Despite the many solutions developed based on multi-agent planning and reinforcement learning, a human expert in the problem domain usually sees opportunities for better cooperative plans in many scenarios where robots underperform. The research presented in this thesis consists of capturing the human expert's knowledge to demonstrate how robot teams can better cooperate in solving the problem they must solve. The human expert can indicate the situations in which a cooperative plan can better solve a given problem by watching the performance of a team of robots in action.
    Consequently, a dataset for training the agents that control the robots can gather the various human observations. For the development of this research, this work used the environment 3DSSIM and the collection of human demonstrations was carried out through a set of tools developed from the adaptation of existing solutions in the RoboCup community using a strategy of crowdsourcing. In addition, fuzzy clustering was used to gather expert demonstrations (setplays) with the same semantic meaning, even with small differences. With the data organized, this thesis used a reinforcement learning mechanism to learn a classification policy that allows agents to decide which group of setplays is best suited to each situation that presents itself in the environment. The results show the ability of the robot team to evolve, from the learning of the suggested setplays and its use in an appropriate way to the abilities of each robot.

6
  • JOSÉ ROGÉRIO POGGIO MOREIRA
  • ARQUITETURA EMPRESARIAL: UMA ABORDAGEM DE RASTREABILIDADE E SINCRONIZAÇÃO DE MODELOS COMPUTACIONAIS

  • Orientador : RITA SUZANA PITANGUEIRA MACIEL
  • MEMBROS DA BANCA :
  • CARLOS EDUARDO SALGADO
  • FLÁVIA MARIA SANTORO
  • ANA PATRICIA FONTES MAGALHÃES MASCARENHAS
  • LAIS DO NASCIMENTO SALVADOR
  • RITA SUZANA PITANGUEIRA MACIEL
  • Data: 26/07/2022

  • Mostrar Resumo
  • Uma Arquitetura Empresarial (AE) representa a organização fundamental dos processos e infraestrutura de Tecnologia da Informação (TI), servindo para capturar a essencialidade do negócio, da TI e da sua evolução, sendo relevante para proteger o negócio e manter a flexibilidade e adaptabilidade da organização.
    Uma arquitetura empresarial é formada por níveis como: os níveis estratégico, tático e operacional de TI. Cada nível, por sua vez, possui modelos computacionais distintos como, por exemplo, modelos estratégicos (nível estratégico), modelos de processos de negócio (nível tático) e modelos de requisitos de sistemas (nível operacional de TI).
    No contexto da modelagem da arquitetura empresarial, o estado da arte apresenta algumas lacunas como: (i) a falta de rastreabilidade dos elementos presentes nos modelos computacionais que compõem os níveis da AE ou a visualização, de forma pouco compreensível, da cadeia de elementos que se relacionam; e (ii) a ausência de sincronização entre os modelos computacionais dos níveis estratégico, tático e operacional de TI.
    Entre os impactos negativos relacionados com estes problemas pode-se elencar, por exemplo, a obsolescência dos modelos, a dificuldade da realização de análises de impactos e tomada de decisões, em cenários de mudanças organizacionais.
    Nesse cenário, esta tese procura tratar dos problemas da ausência de rastreabilidade e sincronização de modelos estratégico, de processos de negócio e requisitos de sistemas informação de uma arquitetura empresarial.
    Desta forma, com o objetivo de proporcionar uma redução ou eliminação dos impactos negativos causados pelos referidos problemas, é proposta uma abordagem para promover a rastreabilidade e sincronização dos modelos computacionais de uma AE. A abordagem proposta é formada por: (i) um conjunto de meta-modelos, que representa os níveis estratégico, tático e operacional da AE; (ii) uma estrutura de rastreabilidade, que suporta a gestão de configuração e mudanças, através da utilização das boas práticas do COBIT e ITIL; e (iii) uma estrutura de sincronização de modelos que utiliza as técnicas de desenvolvimento dirigido a modelos (DDM).
    A proposta visa manter os modelos computacionais rastreáveis e atualizados, permitindo: (i) o suporte a visualização e entendimento de como um conjunto de modelos (estratégico, tático e operacional de TI)  e seus elementos se relacionam; (ii) o apoio a análise de impacto e tomada de decisões em cenários de mudanças; (iii) o suporte necessário para evitar a obsolescência dos modelos; e (iv) a criação e manutenção do alinhamento estratégico do negócio com a TI.
    Para avaliar o trabalho foi realizado um survey, no contexto corporativo da esfera pública e privada, que obteve 51 respostas válidas. A pesquisa realizada não se limitou a profissionais da área de tecnologia da informação, envolvendo também profissionais de áreas estratégicas e administrativas. Os resultados da pesquisa evidenciaram que a abordagem proposta é compreensível, útil e contribui para manter os modelos rastreáveis, atualizados e consistentes, além de possibilitar também a realização de análises de impactos e o alinhamento estratégico do negócio com a TI.


  • Mostrar Abstract
  • An Enterprise Architecture (EA) represents the fundamental organization of business processes and Information Technology (IT) infrastructure, serving to capture the essentiality of the business, IT and its evolution, being relevant to protecting the business and maintaining the flexibility and adaptability of the organization.
    An enterprise architecture is formed by levels such as: the strategic, tactical and IT operational levels. Each level, in turn, has distinct computational models, such as strategic models (strategic level), business process models (tactical level) and systems requirements models (IT operational level).
    In the context of enterprise architecture modeling, the state of the art presents some gaps such as: (i) the lack of traceability of the elements present in the computational models that make up the EA levels or the visualization, in a poorly understandable way, of the chain of elements that relate; and (ii) the lack of synchronization between the computational models of the strategic, tactical and operational IT levels.
    Among the negative impacts related to these problems, one can list, for example, the obsolescence of models and the difficulty of carrying out impact analysis and, consequently, decision making, in scenarios of organizational changes.
    In this scenario, this thesis address the problems of lack of traceability and synchronization of strategic models, business processes and information systems requirements of an enterprise architecture.
    Thus, in order to provide a reduction or elimination of the negative impacts caused by these problems, an approach is proposed to promote the traceability and synchronization of the computational models of an AE. The proposed approach consists of: (i) a set of meta-models, representing the strategic, tactical and operational levels of the EA; (ii) a traceability model that supports configuration and change management through the use of COBIT and ITIL best practices; and (iii) a synchronization framework that uses the model-driven development (MDD) techniques.
    The purpose of the proposal is to keep the computational models traceable and updated, allowing: (i) support for visualization and understanding of how a set of models and their elements are related; (ii) support for impact analysis and decision making in change scenarios; (iii) to necessary support to avoid the obsolescence of the models; and (iv) the creation and maintenance of the strategic alignment of the business with IT.
    To evaluate the work, a survey was carried out, in the corporate context of the public and private sphere, which obtained 51 valid responses. The research was not limited to professionals in the area of information technology, but also involved professionals from strategic and administrative areas. The survey results showed that the proposed approach is understandable, useful and contributes to keeping the models traceable, up-to-date and consistent, as well as enabling the performance of impact analyzes and the strategic alignment of the business with IT.

7
  • ANA MARIA PARANHOS DE AMORIM
  • A process model to support the development of crowdsourcing projects to motivate the participation of older adults

  • Orientador : VANINHA VIEIRA DOS SANTOS
  • MEMBROS DA BANCA :
  • VANINHA VIEIRA DOS SANTOS
  • RITA SUZANA PITANGUEIRA MACIEL
  • ADRIANA SANTAROSA VIVACQUA
  • LUCIANA CARDOSO DE CASTRO SALGADO
  • LETÍCIA DOS SANTOS MACHADO
  • Data: 13/10/2022

  • Mostrar Resumo
  • Crowdsourcing é um novo conceito associado à resolução de problemas onde a multidão é o seu elemento principal. Saber o que leva esse público a se engajar em projetos de crowdsourcing é um desafio, assim como construir projetos que atraiam esse público. Nossos estudos se concentraram em dois aspectos. Primeiro, na investigação do planejamento e desenvolvimento de projetos de crowdsourcing, e segundo na identificação dos fatores que levam as pessoas a colaborar com esses projetos. O crowdsourcing tem uma estrutura dinâmica onde o conhecimento, a resolução de problemas e, às vezes, a tomada de decisões podem ser atribuídos a membros desconhecidos da multidão. Essas características únicas do crowdsourcing devem ser consideradas em seu processo de construção. Nesta tese, nosso objetivo é investigar sistemas de crowdsourcing sob duas perspectivas. Do ponto de vista do desenvolvedor, investigamos a construção do crowdsourcing. E da perspectiva do usuário, investigamos os fatores que motivam os usuários a colaborar nesses projetos. Para atingir esse objetivo, realizamos diversos estudos, utilizando um método de pesquisa qualitativa exploratória. A investigação do processo de construção e a investigação da motivação dos usuários seguiram os mesmos procedimentos: (i) estudos selecionados por meio de revisão de literatura e (ii) entrevistas semi-estruturadas com desenvolvedores e usuários. Como a população de idosos está em constante crescimento e é pouco estudada no campo tecnológico, nosso estudo de motivação teve como foco esse público. Realizamos entrevistas com 46 idosos com mais de 60 anos. A análise das entrevistas sugere que os idosos são motivados por tarefas dinâmicas, que estimulam sua curiosidade, aumentam seus conhecimentos e habilidades, tarefas que os ajudam a cuidar de sua saúde física e mental e, principalmente, por tarefas relacionadas a causas altruístas. Com os resultados dos estudos, propusemos um modelo de processo para construção de crowdsourcing e um modelo de motivação voltado para idosos, ambos para serem usados como guia por gestores e desenvolvedores de software.


  • Mostrar Abstract
  • Crowdsourcing is a new concept associated with problem-solving where the crowd is its main element. Knowing what drives this audience to engage in crowdsourcing projects is a challenge, as is building projects that attract this audience. Our studies focused on two aspects. First, in the investigation of the planning and development of crowdsourcing projects, and second in the identification of the factors that lead people to collaborate with these projects. Crowdsourcing has a dynamic structure where knowledge, problem- solving, and sometimes decision-making can be attributed to unknown members of the crowd. These unique characteristics of crowdsourcing must be considered in its building process. In this thesis, our goal is to investigate crowdsourcing systems from two perspec- tives. From the developer’s perspective, we investigated the construction of crowdsourc- ing. And from the user’s perspective, we investigated the factors that motivate users to collaborate on these projects. To achieve this goal, we carried out several studies, using an exploratory qualitative research method. The investigation of the construction process and the investigation of the users’ motivation followed the same procedures: (i) studies selected by literature review, and (ii) semi-structured interviews with developers and users. As the older adults’ population is constantly growing and is little studied in tech- nological field, our motivation study focused on this public. We conducted interviews with 46 older adults over 60 years of age. The interviews’ analysis suggest that older adults are motivated by dynamic tasks, which stimulate their curiosity, increase their knowledge and skills, tasks that help them to care for their physical and mental health and, mainly, by tasks related to altruistic causes. With the results of the studies, we proposed a process model for the construction of crowdsourcing and a motivation model aimed at older adults, both to be used as a guide by managers and software developers.

8
  • Simone da Silva Amorim
  • Saúde Arquitetural de Ecossistemas de Software: Um Framework de Avaliação baseado em Práticas

  • Orientador : CHRISTINA VON FLACH GARCIA CHAVEZ
  • MEMBROS DA BANCA :
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • MANOEL GOMES DE MENDONCA NETO
  • RITA SUZANA PITANGUEIRA MACIEL
  • IGOR FABIO STEINMACHER
  • ROSANA TERESINHA VACCARE BRAGA
  • Data: 29/11/2022

  • Mostrar Resumo
  • Os ecossistemas de software surgiram como um importante ambiente tecnológico no qual uma plataforma de software compartilhada e seus aplicativos são desenvolvidos e mantidos por uma comunidade. Esta comunidade é composta por membros internos e externos que trabalham para satisfazer as suas necessidades. Há vários casos de sucesso de ecossistemas de software, por exemplo, Apple, Facebook, Android, KDE e Hadoop, que têm evoluído continuamente. Tais ecossistemas encontraram um meio eficaz de desenvolver produtos com divisão de custos, qualidade e inovação superior aos de ambientes tradicionais de engenharia de software.

    Os ecossistemas de software têm chamado a atenção de pesquisadores para estudar como eles são formados e desenvolvidos, e porque sobrevivem por muito tempo. Alguns estudos investigam o conceito de “Saúde”, denotando a capacidade de evoluir e ter sucesso ao longo do tempo. Indicadores de saúde foram definidos para obter retratos de um ecossistema e monitorar o seu funcionamento. 

    Há uma série de métricas propostas para conhecer o real estado de saúde de um ecossistema. Os estudos existentes concentram-se na definição e medição de indicadores de saúde associados a diferentes perspectivas, a saber, arquitetura, comunidade e negócios. Em relação à perspectiva da arquitetura de software, não encontramos estudos sobre a interseção entre arquitetura de software e saúde de ecossistemas. 

    A arquitetura de software desempenha um papel crucial na operação dos ecossistemas. Sua importância tem sido afirmada por diversos autores, que estudaram diferentes aspectos como atributos de qualidade, variabilidade e desafios de projeto. No entanto, as influências da arquitetura de software na saúde dos ecossistemas foram pouco exploradas até agora. Nossa proposta introduz o conceito de Saúde Arquitetural de Ecossistemas de Software que engloba as partes da saúde do ecossistema influenciadas por sua arquitetura.

    Com o objetivo de avaliar a saúde arquitetural de ecossistemas de software, propomos o framework HEVAL/SA (Avaliação de Saúde de Ecossistemas de Software com base na Arquitetura de Software. HEVAL/SA foi definido considerando as práticas arquiteturais adotadas que influenciam os indicadores de saúde em um ecossistema de software. A avaliação dessas práticas indicará um estado de saúde do ecossistema. 

    Além disso, avaliamos a estrutura HEVAL/SA por meio de estudos de caso em ecossistemas de software de código aberto relevantes. Os resultados trazidos pelo HEVAL/SA podem ajudar a identificar pontos fortes e fracos de as práticas arquitetônicas adotadas por eles. Também ajudará a avaliar o "peso" da arquitetura de software na saúde do ecossistema.


  • Mostrar Abstract
  • Software ecosystems have emerged as an important technological environment where a common software platform and its applications are developed and maintained by a community. This community is composed of internal and external members working to satisfy their needs. Many ecosystems have evolved for years and achieve success as Apple, Facebook, Android, KDE, Hadoop, and others. They have achieved an effective way of developing products with greater sharing of costs, quality, and innovation when compared to traditional software engineering environments.

    Software ecosystems have called the attention of the researchers to study how they were formed, developed, and survived for a long time. Many studies have been directed to investigate the concept of "Health'' which represents its ability to evolve and succeed over time. Health indicators were defined to obtain a picture of an ecosystem and to know how they are working. There is also a set of metrics proposed to know the real state of the health of a software ecosystem. Existing studies focus on the definition and measurement of health indicators without addressing other perspectives for studying the health of ecosystems.

    Regarding the perspective of software architecture, we did not find studies on the intersection between software architecture and ecosystem health. Software architecture plays a crucial role in the operation of ecosystems. Several authors highlight its importance in different aspects such as attributes of quality, variability, and design challenges. However, the influences of software architecture on the health of ecosystems have not been explored by now. Our proposal introduces the concept of Architectural Health of Software Ecosystems which covers parts of ecosystem health influenced by architectural issues.

    Thus, to assess the architectural health of software ecosystems, in this work, we propose the framework HEVAL/SA, defined considering the architectural practices adopted those influence health indicators in a software ecosystem. The evaluation of these practices will indicate a state for the health of the ecosystem. In addition, we validate HEVAL/SA through case studies in real-world open source software ecosystems. The results of HEVAL/SA can help to identify the strengths and weaknesses of the architectural practices adopted by them. The framework will also help to assess the "weight" of the software architecture on the health of ecosystems.

9
  • Jaziel Souza Lobo
  • UAware Alert: Uma Plataforma Sensível ao Contexto para Alertas Antecipados Acessíveis.

  • Orientador : VANINHA VIEIRA DOS SANTOS
  • MEMBROS DA BANCA :
  • VANINHA VIEIRA DOS SANTOS
  • MANOEL GOMES DE MENDONCA NETO
  • MARCOS ROBERTO DA SILVA BORGES
  • CLAUDIA LAGE REBELLO DA MOTTA
  • SORAIA SILVA PRIETCH
  • Data: 06/12/2022

  • Mostrar Resumo
  • Contextualização: Desastres naturais levam a danos e perdas de vidas ao redor do mundo. Sistemas de Alerta Antecipado, ou simplesmente EWS da sigla em inglês Early Warning Systems, são sistemas que geram alertas, de forma antecipada, para avisar a população sobre estes eventos. Instituições de predição enviam as informações de eventos que podem ocasionar desastres em um padrão de arquivo conhecido como CAP. De forma geral, um EWS recebe um arquivo CAP, extrai seus dados e enviam avisos para a população. A maioria dos EWS não levam em consideração as necessidades específicas de grupos vulneráveis e enviam o mesmo alerta para todas as pessoas, quer ela seja, por exemplo, um deficiente visual ou auditivo, ou que estejam em uma área com maior risco para o evento em questão. Objetivo: Diante da contextualização, o objetivo deste estudo é propor um EWS para alertar pessoas, de grupos vulneráveis ou não, que estejam em áreas de risco. Método: Esta pesquisa foi realizada através de uma abordagem de combinação dos seguintes métodos: Mapeamento Sistemático da Literatura (MSL), Estudos Exploratórios e Estudos Empíricos. O MSL fundamentou as questões de pesquisa. Os estudos exploratórios, através de entrevistas semiestruturadas, serviram para se alcançar uma maior familiaridade com o problema da pesquisa. A partir destes estudos, foi proposto um modelo de contexto, regras comportamentais e um processo automatizado para elaboração de uma biblioteca de recursos acessíveis, de forma a possibilitar o desenvolvimento de um EWS que envia alerta para diferentes grupos de usuários. Por fim, a avaliação foi realizada por duas perspectivas: (i) avaliar se os alertas são entregues aos destinatários esperados e com a personalização prevista; (ii) avaliar o modelo de contexto e as regras comportamentais. Para a avaliação (i) foi utilizada uma abordagem empírica através de técnicas quantitativas. Já para a avaliação (ii), foi realizado um survey com especialistas da Defesa Civil. Resultados: Este estudo apresenta uma arquitetura e um modelo de contexto com regras contextuais para um EWS que considera pessoas de grupos vulneráveis (ex: surdos, cegos). Por fim, apresenta um protótipo implementado e funcional, o UAware Alert, com uma interface de gerenciamento de envio de alertas e uma aplicação móvel para o recebimento do alerta de forma acessível. Conclusão: EWS utilizam mensagens CAP e a localização da pessoa para enviar alertas. Mas para avisar pessoas com diferentes necessidades, é preciso também considerar o perfil da pessoa que está recebendo o alerta e do local onde ela se encontra. Assim, o modelo de contexto, regras comportamentais e o processo de geração de mídias deste estudo possibilita o desenvolvimento de um EWS, que envia instruções focadas na região onde a pessoa se encontra, quer seja em texto ou em formatos acessíveis à necessidade de cada usuário.


  • Mostrar Abstract
  • Contextualization: Natural disasters lead to damage and loss of life around the world. Early Warning Systems (EWS) are systems that send alerts, in advance, to warn the population about these events. Prediction institutions send information about events that can cause disasters in a standard file format known as CAP. In general, an EWS receives a CAP file, extracts its data, and sends warnings to the population. Most EWS does not consider the specific needs of vulnerable groups, and send the same alert to everyone, whether they are, e.g., visually or hearing impaired people, or are in an area with a higher level of risk for the event. Objective: Given the context, the aim of this study is to purpose an EWS to warn people (vulnerable groups or not) who are in risk areas. Method: This research was carried out through a combination approach of the following methods: Systematic Mapping Study, exploratory studies, and empirical studies. Exploratory studies, through semi-structured interviews, served to achieve more familiarity with the research problem. Based on these studies, a context model, behavioral rules, and an automated process for creating an accessible resources library were proposed, in order to enable the development of an EWS that sends alerts to different groups of users. Finally, the evaluation was carried out from two perspectives: (i) evaluating whether the alerts are delivered to the expected recipients and with the expected personalization; (ii) evaluating the context model and behavioral rules. For evaluation (i) an empirical approach was used through quantitative techniques. For evaluation (ii), a survey was conducted with Civil Defense experts from the states of Brazil. Results: This study presents an architecture and a context model with contextual rules for an EWS that considers people from vulnerable groups (for example deaf or blind people). Finally, it presents an implemented and functional prototype, the UAware Alert, with a management interface for sending alerts and a mobile app for receiving the warning in an accessible way. Conclusion: EWS uses CAP messages and the person’s location to send alerts. But to alert people who have different needs, it is also necessary to consider the profile of the person who will receive the alert and their location. Thus, the context model, behavioral rules, and media generation process of this study enables the development of an EWS, which sends instructions focused on the region where the person is located, either in text or in formats accessible to the needs of each user.

10
  • DANIEL DOMINGOS ALVES
  • Design de Interação em Desenvolvimento Distribuído de Software: práticas, desafios, recomendações e lacunas de pesquisa

  • Orientador : ECIVALDO DE SOUZA MATOS
  • MEMBROS DA BANCA :
  • FREDERICK MARINUS CONSTANT VAN AMSTEL
  • IVALDIR HONORIO DE FARIAS JUNIOR
  • ARTUR HENRIQUE KRONBAUER
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • ECIVALDO DE SOUZA MATOS
  • Data: 15/12/2022

  • Mostrar Resumo
  • Interação Humano-Computador (IHC) é uma área multidisciplinar focada no design de tecnologias computacionais, bem como na interação entre humanos e computadores. Na IHC, o design de interação tem se consolidado como uma prática com potencial de apoiar projetos de sistemas interativos. Por outro lado, cada vez mais organizações estão desenvolvendo (concebendo, projetando, construindo, testando) software com equipes distribuídas geograficamente. No entanto, o design de interação em desenvolvimento distribuído de software (DDS) tem sido pouco explorado, mapeado ou estruturado na literatura científica. Embora na literatura científica exista relatos sobre design de interação em DDS e algumas soluções propostas, não está claro como ocorre o design de interação em projetos de DDS. O avanço em DDS, aumento no número de projetos e usuários de free/libre open source software (FLOSS), problemas relacionados à interação humano-computador e desafios de design de interação em DDS motivaram a condução desta pesquisa. Nesse sentido, esta pesquisa investigou como ocorre o design de interação em projetos de DDS, buscando compreender suas práticas, desafios e limitações. A metodologia desta pesquisa apoia-se na metodêutica proposta por Charles S. Peirce e é orientada nos métodos de pesquisa bibliográfica e pesquisa de métodos mistos para investigar o estado do conhecimento sobre o tema desta pesquisa e propiciar a fundamentação e embasamento teórico para a concepção de recomendações para o design de interação em DDS. Esta pesquisa contribui para o corpo de conhecimento de design de interação na fronteira de pesquisa entre IHC e DDS e tem potencial contribuição científica ao (i) fornecer uma visão geral da prática do design de interação em projetos de DDS, (ii) apresentar como ocorre o design de interação em projetos de DDS; (iii) identificar gaps de pesquisa e discutir futuras direções de pesquisa; (iv) conceber um conjunto de recomendações para o design de interação em DDS; e (v) apoiar o envolvimento de usuários finais na construção de artefatos de sistemas interativos em projetos de DDS.


  • Mostrar Abstract
  • Human-Computer Interaction (HCI) is an area focused on studies on human interaction with/through computational systems, among which stand out tangent studies on interaction design. In HCI, interaction design has been consolidated as a practice with the potential to support interactive systems projects. On the other hand, more and more organizations are developing (conceiving, designing, building, testing) software with geographically distributed teams. However, interaction design in distributed software development (DSD) has been little explored, mapped, or structured in the scientific literature. Although there are reports in the scientific literature about interaction design in DSD and some proposed solutions, it is unclear how interaction design occurs in DSD projects. This research, therefore, was motivated by the advancement of projects in DSD, the increase in the number of projects and users of free/libre open source software (FLOSS), problems related to human-computer interaction, and interaction design challenges in DSD. In this sense, this research investigated how interaction design has been practiced in DSD projects, seeking to understand its characteristics, challenges, and limitations. The methodology of this research was based on Charles S. Peirce’s semiotic methodeutics, bibliographic research method (ad-hoc literature review and systematic mapping study), and mixed methods research (survey and interview study) to investigate the current state of knowledge and practice on interaction design in DSD, in addition to providing a theoretical foundation for the conception of recommendations for the interaction design in DSD. We hope that the results pointed out by this research contribute to the body of knowledge about interaction design at the research frontier between HCI and DSD by (i) providing an overview of research efforts on interaction design in DSD, (ii) providing an overview of the practice of interaction design in DSD projects, (iii) presenting how interaction design occurs in DSD projects, (iv) identify research gaps and discuss future research directions, (v) conceiving a set of recommendations for interaction design in DSD, and (vi) supporting the involvement of end users in the construction of interactive systems artifacts in DSD projects.

2021
Dissertações
1
  • MOARA SOUSA BRITO LESSA
  • Seleção de Projetos de Código Aberto para Educação em Engenharia de Software

  • Orientador : CHRISTINA VON FLACH GARCIA CHAVEZ
  • MEMBROS DA BANCA :
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • IGOR FABIO STEINMACHER
  • RODRIGO ROCHA GOMES E SOUZA
  • Data: 05/02/2021

  • Mostrar Resumo
  • Contexto: O ensino-aprendizagem de Engenharia de Software (ES) em uma ou mais disciplinas, no contexto de cursos de graduação em Computação e áreas afins, tem-se mostrado desafiador. Na formação do estudante, deve-se prover uma base teórica sólida sobre conceitos básicos (requisitos, projeto, testes, dentre outros) e trabalhar tópicos relacionados a gerência de projetos, interação humano-computador, gerência de configuração e de lançamentos. Experiência prática, habilidades de comunicação e profissionalismo são dimensões que também devem ser consideradas, incluindo trabalho em equipe e ética, para preparar os estudantes para a carreira na indústria de software.

    Projetos de software livre/código aberto (free/libre open source software ou FLOSS) têm sido usados na Educação em Engenharia de Software (EES) como estratégia viável para trabalhar habilidades técnicas e não-técnicas na formação de estudantes preparados para atuar na indústria de software. Na literatura, estudos relatam que o uso pedagógico de projetos FLOSS trouxe benefícios para o ensino-aprendizagem de ES mas também desafios que podem comprometer a sua adoção efetiva no contexto educacional.Uma dificuldade comum está relacionada ao processo de seleção de projetos, tanto pela diversidade de projetos FLOSS disponíveis, como pela complexidade da tarefa. Em geral, o professor deve buscar manualmente, ou com apoio de diferentes ferramentas (não necessariamente projetadas para uso na Educação), um ou mais projetos para uso pedagógico na disciplina. Vários critérios podem ser considerados para a seleção de um projeto FLOSS para uso na EES, dentre eles, tamanho do projeto, quantidade de testes, linguagem de programação, tamanho da comunidade e práticas utilizadas.

    Problema: O processo de seleção de um projeto FLOSS para uso pedagógico exige tempo e experiência do professor, e ainda há poucas ferramentas para apoiar tal seleção com base em critérios reconhecidos e/ou definidos pelo professor. Dessa forma, o ônus da seleção de projetos FLOSS pode atrapalhar a sua utilização no contexto da EES.

    Objetivo: Esta pesquisa teve como objetivo investigar a utilidade de uma abordagem automatizada para apoiar o professor na seleção de projetos de código aberto guiada por critérios baseados em aspectos sócio-técnicos do projeto, para uso pedagógico em disciplinas de ES.

    Métodos de Pesquisa: Uma revisão da literatura foi realizada para  identificar tipos de critérios já utilizados para a seleção de projetos FLOSS. Em seguida, um conjunto de critérios de seleção foi definido, documentado, operacionalizado e implementado na ferramenta de código aberto FlossSearch.Edu. A primeira versão da ferramenta foi avaliada por estudantes e por professores de diferentes instituições brasileiras de ensino superior. Inicialmente, estudantes usaram FlossSearch.Edu, no contexto de uma disciplina de ES, para selecionar projetos FLOSS com base em critérios definidos pelo professor e, em seguida, avaliaram o uso da ferramenta por meio de um levantamento com perguntas do Modelo de Aceitação de Tecnologia (TAM).
    Em um estudo de natureza qualitativa e quantitativa, professores familiarizados com o uso pedagógico de projetos FLOSS, utilizaram FlossSearch.Edu em sessão individual, gravada e guiada por cenários pré-definidos, enquanto relatavam suas impressões em voz alta (protocolo ``Think Aloud"). Ao final das sessões, os professores avaliaram o uso da ferramenta por meio de um questionário TAM.

    Resultados: No contexto de seleção de projetos FLOSS em que FlossSearch.Edu foi utilizada, a ferramenta foi bem avaliada. Em sua maioria, estudantes que usaram FlossSearch.Edu em sala de aula e professores que participaram da segunda avaliação, afirmaram que a ferramenta é útil, fácil de usar e que pretendem usá-la no futuro. Diversas sugestões para melhoria foram recebidas e deverão guiar a evolução da ferramenta e novos estudos.


  • Mostrar Abstract
  • Context: Teaching Software Engineering (SE) in higher education is a challenging task. A solid theoretical base should be provided to students, including basic SE concepts (requirements, design, tests, among others), and topics related to project management, human-computer interaction, configuration and release management. Practical experience, communication skills and professionalism are dimensions that should also be considered, including teamwork and ethics, to prepare students for a career in the software industry.

    Free/open source software (FLOSS) has been used in Software Engineering Education (SEE) as a viable strategy to address the need for training students' technical and non-technical skills and prepare them to deal with the challenges posed by the evolving software industry.
    Some studies report that the pedagogical use of FLOSS projects has brought benefits but also challenges that may hinder their effective adoption in SEE.

    A common challenge is project selection, due to the diversity of available FLOSS projects and the complexity of the task. In general, the teacher must search for, manually or with the support of different tools (not necessarily designed for use in Education), one or more projects for pedagogical use in the course. Several criteria can be considered for the selection of a FLOSS project for pedagogical use in SEE, including project size, number of tests, programming language, community size and their best practices.

    Problem: The selection of FLOSS projects for pedagogical use in SEE requires effort and experience, and there are few tools that support such complex task while providing clear and well-defined selection criteria to be used by the teacher. Thus, the burden of selecting FLOSS projects can hinder their use and adoption in the context of SEE.

    Objective: This research aimed to investigate the usefulness of an automated approach to support the teacher in the selection of open source projects guided by criteria that take into account socio-technical aspects of the FLOSS project, for pedagogical use in SEE higher education.

    Reasearch Methods: A literature review was carried out to identify criteria already in use for the selection of FLOSS projects. Then, a set of selection criteria was identified, documented, operationalized and implemented in an open source tool called FlossSearch.Edu. The first version of the tool was evaluated by students and professors from different Brazilian higher education institutions. Initially, students used FlossSearch.Edu, in the context of a SE discipline, to select FLOSS projects based on criteria defined by the teacher, and then evaluated the use of the tool through a survey with questions based on the Technology Acceptance Model (TAM). In a qualitative and quantitative study, teachers already familiar with the pedagogical use of FLOSS projects, used FlossSearch.Edu in an individual session, recorded and guided by predefined scenarios, while reporting their impressions out loud (``Think Aloud''protocol). At the end of the sessions, teachers evaluated the use of the tool using a TAM questionnaire.

    Findings: In the context of selecting FLOSS projects in which FlossSearch.Edu was used, the tool was well evaluated. The majority of students who used FlossSearch.Edu in the classroom and teachers who participated in the second assessment said that the tool is useful, easy to use and that they intend to use it in the future. Several suggestions for improvement were received and should guide the evolution of the tool and further studies.

2
  • VITOR MORAES ARANHA
  • Propagação de Virtual Point Lights em Espaço de Tela para Iluminação Global em Tempo Real

  • Orientador : ANTONIO LOPES APOLINARIO JUNIOR
  • MEMBROS DA BANCA :
  • ANTONIO LOPES APOLINARIO JUNIOR
  • KARL PHILIPS APAZA AGUERO
  • RICARDO GUERRA MARROQUIM
  • Data: 01/03/2021

  • Mostrar Resumo
  • Simular o transporte da luz adiciona realismo e efeitos estéticos em cenas virtuais tridimensionais. Contudo, o custo computacional destas complexas interações entre luz e ambiente é proibitivo para aplicações em tempo real. A iluminação difusa indireta ́e um componente de baixa frequência da iluminação global capaz de melhorar consideravelmente a qualidade de uma imagem. Pontos de luz virtuais são comumente usados para reprodução de rebatimentos difusos da luz, traçando caminhos pela cena e criando fontes de luz nos vértices das interseções entre raios de luz e a geometria. Neste trabalho, estendemos técnicas de clusterização baseadas em pontos de luz virtuais de modo a permitir mais rebatimentos de luz em tempo real. Mostramos que imagens plaus ́ıveis podem ser obtidas rapidamente, mesmo para GPUs de baixo custo.


  • Mostrar Abstract
  • Proper light-transport simulation adds both realism and aesthetically pleasing effects to virtual 3D scenes. However, the cost of computing complex light interactions is prohibitive for real-time applications. Indirect diffuse lighting is a low frequency component of global illumination that can greatly enhance the quality of an image. Virtual point lights are commonly used to reproduce diffuse bounces by tracing light paths through the scene and creating proxy light sources at the intersections between a path and geometry. In this work we extend clusterization-based methods for Virtual Point Lights, allowing for the reproduction of up to two bounces of light with a projection-aware sampling method in real-time. We show that plausible images can be obtained in real-time rates for low-to-mid end commodity GPUs.

3
  • FRANKLIN DE JESUS SILVA
  • Highly-configurable systems in software startups: unveiling the white label model.

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • IVAN DO CARMO MACHADO
  • RITA SUZANA PITANGUEIRA MACIEL
  • ADRIANO BESSA ALBUQUERQUE
  • Data: 25/03/2021

  • Mostrar Resumo
  • Startups são pequenas empresas que buscam explorar novos negócios incorporando novas tecnologias a diferentes mercados por meio da inovação. Os ecossistemas de startups existem para fornecer um ambiente de suporte para essas empresas, sendo uma fonte valiosa de networking e conhecimento para elas. Projetos de software white label são desenvolvidos por Startups e conhecidos nos Ecossistemas como produtos altamente adaptáveis, capazes de gerar novos produtos com mais rapidez do que aplicativos autônomos, garantindo o melhor custo x benefício. As startups são divididas em estágios e enfrentam desafios diferentes dependendo do estágio atual. Nos estágios iniciais, eles mal planejam suas atividades de desenvolvimento, mas avaliam as necessidades do mercado e encontram usuários para seu produto inicial, o que deixa uma dívida técnica. Os projetos de software White Label sofrem mais com esses problemas, pois os Startups não abordam técnicas avançadas de reutilização de código amplamente conhecidas pela academia. Nos estágios finais, as startups precisam resolver a dívida técnica gerenciada nos estágios iniciais e precisam de processos ainda mais escaláveis para expandir seus negócios que envolvem projetos de software White Label. Este trabalho busca desvelar o conceito de projetos de software White Label e sua viabilidade para startups de software; investigar se e como técnicas avançadas de reutilização de código, como sistemas altamente configuráveis, podem ser usadas como alavanca de oportunidade para startups de software; construir uma estrutura adaptável para ajudar os projetos de software White Label a gerenciar dívidas técnicas e enfrentar seus desafios. Para cumprir os objetivos mencionados, aplicamos três estudos empíricos sob diferentes públicos. Uma entrevista semiestruturada com startups usando projetos de software White Label, um questionário online aplicado para stakeholders de ecossistemas de inovação e uma Multivocal Literature Review com artigos de literatura cinzenta na Internet sobre projetos de software White Label. Os resultados obtidos apresentaram um retrato convincente de como as startups de software têm lidado com a reutilização de software em suas práticas diárias, com particular atenção em como o desenvolvimento de software White Label tem sido explorado em seus projetos. Os dados coletados permitiram a criação do framework acima para projetos de software Mobile White Label. Além disso, este trabalho apresenta um caminho de melhoria que pode ser aplicado para startups que trabalham com projetos de software White Label em diferentes estágios, além de oferecer aos pesquisadores um conjunto de desafios abertos a serem estudados em trabalhos futuros.


  • Mostrar Abstract
  • Startups are small companies that seek to explore new businesses by embodying new technologies to different markets through innovation. Startups' Ecosystems exist to provide a supportive environment for these companies, being a valuable source of networking and knowledge to them. White label software projects are developed by Startups and known in Ecosystems as highly adaptable products, capable of generating new products faster than stand-alone applications, ensuring the best cost x benefit. Startups are divided into stages, and they face different challenges depending on the current stage. In the early stages, they barely plan their development activities but rather assess the market's needs and find users for their initial product, which leaves technical debt. White Label software projects suffer more from these issues since Startups do not address advanced code reuse techniques widely known by the academy. In the late stages, startups need to solve the technical debt managed in the early stages and need even more scalable processes to grow their business that involves White Label Software projects. This work seeks to unveil the concept of White Label software projects and their feasibility for software startups; investigate if and how advanced code reuse techniques, such as highly-configurable systems, could be used as opportunity-lever for software startups; build an adaptable framework for helping White Label software projects manage technical debt and face its challenges. In order to accomplish the aforementioned goals, we applied three empirical studies under different public. A semi-structured interview with startups using White Label software projects, an online questionnaire applied for stakeholders from ecosystems of innovation, and a Multivocal Literature Review with gray literature articles over the internet about White Label software projects. The yielded results presented a compelling portrait of how software startups have dealt with software reuse in their daily practices, with particular attention on how White Label software development has been explored in their projects. The data gathered allowed the creation of the framework above for mobile White Label software projects. In addition, this work gives a path of improvement that can be applied for startups working with White Label software projects under different stages, besides giving researchers a set of open challenges to be studied in future work.

4
  • Luciane de Andrade Meconi
  • BOA – BusinessProcess Oriented Architecture: Uma Proposta para Publicação, Busca/Descoberta e Composição de Processos de Negócio em SoS

  • Orientador : RITA SUZANA PITANGUEIRA MACIEL
  • MEMBROS DA BANCA :
  • FLAVIO OQUENDO
  • LAIS DO NASCIMENTO SALVADOR
  • RITA SUZANA PITANGUEIRA MACIEL
  • Data: 21/06/2021

  • Mostrar Resumo
  • Os sistemas de software têm apresentado um crescimento exponencial, tornando-se cada vez maiores e complexos. Os sistemas complexos são sistemas caracterizados pela ausência de autoridade central, não são projetados a partir de uma especificação conhecida, mas envolvem diferentes partes interessadas em criar sistemas funcionais para novas finalidades. Apresentam também uma variedade de comportamentos, incluindo a auto-organização, propriedades emergentes, comportamento não-linear e, com frequência, contraintuitivos. Um sistema complexo com independência gerencial e operacional dos componentes é considerado um Sistema de Sistemas (SoS), não importando a complexidade individual dos seus subsistemas. O SoS é uma nova classe de sistemas, resultante, muitas vezes, da interação de vários sistemas, independente da operação. Um estilo arquitetônico padrão amplamente aplicado aos SoS é a SOA (Arquitetura Orientada a Serviço). Apesar de SOA ser vista como uma solução promissora para viabilizar a organização e utilização das funções distribuídas sob o domínio de diferentes proprietários de SoS, os recursos de software são acondicionados como serviços. A granularidade fina dos serviços pode dificultar a composição de um SoS, tendo em vista a grande quantidade de relacionamentos e conexões necessárias entre os sistemas constituintes para que componham serviços para prover suas funcionalidades. Essa dificuldade é ainda maior em SoS colaborativo, uma vez que a entrada e saída dos sistemas constituintes ocorre de maneira dinâmica. A elevação do nível de serviços para processos já vem sendo utilizada para diminuir a complexidade no gerenciamento de sistemas, processos e pessoas de uma mesma organização. As arquiteturas de referência no contexto SoS visam apoiar a padronização de interfaces dos sistemas constituintes, auxiliando às empresas no desenho de seus sistemas e, consequentemente, viabilizando a interoperabilidade entre estes sistemas. Algumas ferramentas conhecidas no mercado como BPMS, de domínio público ou privado, são utilizadas para apoiar o gerenciamento de processos sob a ótica do BPM, porém estas ferramentas não se mostram adaptadas ao domínio SoS, sendo desenvolvidas para atender às necessidades internas das organizações. Esta dissertação apresenta uma abordagem arquitetural orientada a processos de negócio, voltada para o domínio de Sistema de Sistemas, denominada BOA (Business Process Oriented Architecture). O objetivo foi propor, especificar, implementar e avaliar aspectos de  uma Arquitetura Orientada a Processos de Negócio, específica para publicação, descoberta/busca e composição de processos de negócio. A BOA é composta por uma definição de uma linguagem de descrição de processos de negócio (BPDL) e pela implementação de uma ferramenta de publicação, busca/descoberta e composição de processo de negócio, denominada neste trabalho como Plataforma BOA Suite. Para avaliação da nossa proposta foi realizado um estudo exploratório, com abordagem qualitativa, utilizando como ferramenta a entrevista. Os resultados deste estudo evidenciaram que os participantes, a partir de cenários de avaliação e da interação com a BOA Suite, conseguiram realizar a publicação, busca/descoberta e composição de processos de negócio, evidenciando, assim, a viabilidade da proposta. Como contribuição, espera-se diminuir o nível de complexidade da composição por processos de negócio e auxiliar no gerenciamento da integração dos sistemas participantes de um SoS. 


  • Mostrar Abstract
  • Os sistemas de software têm apresentado um crescimento exponencial, tornando-se cada vez maiores e complexos. Os sistemas complexos são sistemas caracterizados pela ausência de autoridade central, não são projetados a partir de uma especificação conhecida, mas envolvem diferentes partes interessadas em criar sistemas funcionais para novas finalidades. Apresentam também uma variedade de comportamentos, incluindo a auto-organização, propriedades emergentes, comportamento não-linear e, com frequência, contraintuitivos. Um sistema complexo com independência gerencial e operacional dos componentes é considerado um Sistema de Sistemas (SoS), não importando a complexidade individual dos seus subsistemas. O SoS é uma nova classe de sistemas, resultante, muitas vezes, da interação de vários sistemas, independente da operação. Um estilo arquitetônico padrão amplamente aplicado aos SoS é a SOA (Arquitetura Orientada a Serviço). Apesar de SOA ser vista como uma solução promissora para viabilizar a organização e utilização das funções distribuídas sob o domínio de diferentes proprietários de SoS, os recursos de software são acondicionados como serviços. A granularidade fina dos serviços pode dificultar a composição de um SoS, tendo em vista a grande quantidade de relacionamentos e conexões necessárias entre os sistemas constituintes para que componham serviços para prover suas funcionalidades. Essa dificuldade é ainda maior em SoS colaborativo, uma vez que a entrada e saída dos sistemas constituintes ocorre de maneira dinâmica. A elevação do nível de serviços para processos já vem sendo utilizada para diminuir a complexidade no gerenciamento de sistemas, processos e pessoas de uma mesma organização. As arquiteturas de referência no contexto SoS visam apoiar a padronização de interfaces dos sistemas constituintes, auxiliando às empresas no desenho de seus sistemas e, consequentemente, viabilizando a interoperabilidade entre estes sistemas. Algumas ferramentas conhecidas no mercado como BPMS, de domínio público ou privado, são utilizadas para apoiar o gerenciamento de processos sob a ótica do BPM, porém estas ferramentas não se mostram adaptadas ao domínio SoS, sendo desenvolvidas para atender às necessidades internas das organizações. Esta dissertação apresenta uma abordagem arquitetural orientada a processos de negócio, voltada para o domínio de Sistema de Sistemas, denominada BOA (Business Process Oriented Architecture). O objetivo foi propor, especificar, implementar e avaliar aspectos de  uma Arquitetura Orientada a Processos de Negócio, específica para publicação, descoberta/busca e composição de processos de negócio. A BOA é composta por uma definição de uma linguagem de descrição de processos de negócio (BPDL) e pela implementação de uma ferramenta de publicação, busca/descoberta e composição de processo de negócio, denominada neste trabalho como Plataforma BOA Suite. Para avaliação da nossa proposta foi realizado um estudo exploratório, com abordagem qualitativa, utilizando como ferramenta a entrevista. Os resultados deste estudo evidenciaram que os participantes, a partir de cenários de avaliação e da interação com a BOA Suite, conseguiram realizar a publicação, busca/descoberta e composição de processos de negócio, evidenciando, assim, a viabilidade da proposta. Como contribuição, espera-se diminuir o nível de complexidade da composição por processos de negócio e auxiliar no gerenciamento da integração dos sistemas participantes de um SoS. 

5
  • DIEGO CORREA DA SILVA
  • Explorando Calibragem Ponderada, Balanceamentos e Métricas para Justiça em Sistemas de Recomendação

  • Orientador : FREDERICO ARAUJO DURAO
  • MEMBROS DA BANCA :
  • FREDERICO ARAUJO DURAO
  • TATIANE NOGUEIRA RIOS
  • LEANDRO BALBY MARINHO
  • Data: 01/07/2021

  • Mostrar Resumo
  • Sistemas de recomendação são ferramentas utilizadas para sugerir itens que possivelmente sejam de interesse dos usuários. Estes sistemas baseiam-se no histórico de preferências do usuário para gerar uma lista de sugestões que possuam maior similaridade com os itens do histórico do usuário, visando uma melhor precisão e um menor erro. É esperado que ao recomendar um item, o usuário dê um retorno ao sistema, indicando se gostou ou o quanto gostou do item recomendado. A interação do usuário com o sistema possibilita um melhor entendimento dos gostos dos usuários, que com o tempo, adiciona mais e mais itens a seu perfil de preferências. A recomendação baseada em similaridade do item com as preferências, buscando a melhor precisão pode causar efeitos colaterais na lista como: superespecialização das recomendações em um determinado núcleo de itens, pouca diversidade de categorias e desbalanceamento de categoria ou gênero. Assim, esta dissertação tem como objetivo explorar a calibragem, que é um meio para produzir recomendações que sejam relevantes aos usuários e ao mesmo tempo considerar todas as áreas de suas preferências, buscando evitar a desproporção na lista de recomendação. Para isto, são abordadas formas de ponderar o balanceamento entre a relevância das recomendações e a calibragem baseada em medidas de divergência. A hipótese é que a calibragem pode contribuir positivamente para recomendações mais justas de acordo com a preferência do usuário. A pesquisa é realizada através de uma ampla abordagem que contempla nove algoritmos de recomendação aplicados nos domínios de filme e música, analisando três de medidas de divergência, dois pesos de balanceamento personalizado e dois balanceamentos entre relevância-calibragem. A avaliação é analisada com métricas amplamente utilizadas, assim como métricas propostas. Os resultados indicam que a calibragem produz efeitos positivos tanto para a precisão da recomendação quanto para a justiça com as preferências do usuário, criando listas de recomendação que respeitem todas as áreas. Os resultados também indicam qual é a melhor combinação para obter um melhor desempenho ao aplicar as propostas de calibragem.

  • Mostrar Abstract
  • Recommendation systems are tools used to suggest items that might be of interest to users. These systems are based on the user's preference history to generate a list of suggestions that are more similar to the items in the user's history, aiming at better accuracy and less error. It is expected that when recommending an item, the user gives a feedback to the system, indicating if he liked or how much he liked the recommended item. User interaction with the system enables a better understanding of users' tastes, which over time, add more and more items to their preference profile. The recommendation based on the similarity of the item with the preferences, seeking the best precision can cause side effects in the list, such as: overspecialization of the recommendations in a certain core of items, little diversity of categories and imbalance of category or gender. Thus, this dissertation aims to explore calibration, which is a means to produce recommendations that are relevant to users and at the same time consider all areas of their preferences, seeking to avoid disproportion in the recommendation list. For this, ways of weighing the balance between the relevance of the recommendations and the calibration based on measures of divergence are discussed. The hypothesis is that calibration can positively contribute to fairer recommendations according to user preference. The research is carried out through a broad approach that contemplates nine recommendation algorithms applied in the film and music domains, analyzing three of divergence measures, two custom balance weights and two balances between relevance-calibration. The assessment is analyzed with widely used metrics as well as proposed metrics. The results indicate that calibration has positive effects both for recommendation accuracy and fairness with user preferences, creating recommendation lists that respect all areas. The results also indicate which is the best combination to obtain the best performance when applying the calibration proposals.

6
  • NILDO CEZARIO DA SILVA JUNIOR
  • Um estudo multimétodo sobre a compreensão de test smells na indústria de brasileira de software

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • IVAN DO CARMO MACHADO
  • RITA SUZANA PITANGUEIRA MACIEL
  • CARLA ILANE MOREIRA BEZERRA
  • Data: 21/07/2021

  • Mostrar Resumo
  • Os softwares estão presentes no cotidiano e têm despertado na sociedade um interesse cada vez maior. Seu processo de desenvolvimento engloba atividades desde a compreensão dos requisitos até a entrega do software executável e a sua posterior manutenção e evolução. Entretanto, softwares podem apresentar defeitos, que podem levar a prejuízos de grande ordem de magnitude. O teste de software é uma estratégia eficaz na identificação antecipada de defeitos, ou seja, antes da entrega ao usuário final, e uma consequente redução nos danos bem como nos custos associados. Os testes envolvem atividades, manuais ou automatizadas, de análise do comportamento operacional de sistemas de software, considerando o conjunto de dados de entrada e a validação das saídas. É notória a prevalência por mecanismos automatizados de testes, dado ganhos de tempo, esforço e custo no desenvolvimento e na execução de testes. Contudo, durante o processo de criação de testes automatizados, é possível que o código seja implementado a partir de padrões inadequados, o que pode resultar em código de difícil compreensão, ou ainda que prejudiquem atividades de manutenção. Tais anti-padrões são chamados de test smells. A literatura apresenta estudos voltados a análise dos efeitos de test smells no código de teste, bem como ferramentas que automatizam a detecção e a correção de test smells. Entretanto, pouco se sabe sobre o conhecimento de profissionais da indústria sobre esse conceito. Assim, o objetivo deste estudo é analisar empiricamente o conhecimento relacionado ao conceito de test smells a partir da perspectiva de profissionais da indústria brasileira de software, na busca por identificar práticas de programação que influenciam a inserção de test smells no código de testes, bem como analisar a existência de procedimentos que visem a prevenção, a identificação e a correção de test smells. Para alcançar este objetivo, a pesquisa está dividida em quatro etapas: levantamento bibliográfico, aplicação de um survey com profissionais da indústria de software, realização de entrevista com um recorte desses profissionais, e por fim o desenvolvimento de uma teoria fundamentada em dados. O survey contou com a participação de 60 profissionais, e foi possível inferir as práticas mais frequentemente adotadas na prática, bem como uma avaliação preliminar sobre o impacto da experiência profissional no uso dessas práticas. No estudo de entrevista, realizado com 50 profissionais, foi possível avaliar o nível de conhecimento sobre o conceito de test smells. A teoria fundamentada em dados identificou cinco áreas relacionadas a melhoria da qualidade dos testes automatizados: competência, alinhamento técnico, desenvolvimento de teste, melhoria da qualidade e uso de ferramentas. A apresentação do nível de conhecimento sobre test smells e as práticas de verificação da qualidade dos testes de software são as principais contribuições desta pesquisa, que ainda vislumbra possíveis investigações futuras.

  • Mostrar Abstract
  • Software is present in everyday life and has aroused increasing interest in society. Its development process encompasses activities from understanding the requirements to delivering the executable software and its subsequent maintenance and evolution. However, the software could have defects, leading to losses of a large order of magnitude. Software testing is an effective strategy for early identification of defects, that is, before delivery to the end-user, and a consequent reduction in damage and associated costs. Testing involves activities, manual or automated, of analyzing the operational behavior of software systems, considering the input data set and output validation. The prevalence of automated test mechanisms is notorious, given time, effort, and cost savings in test development and execution. However, while creating automated tests, code may be implemented from inappropriate standards, resulting in code that is difficult to understand or even hinder maintenance activities. Such anti-patterns are called test smells. The literature presents studies aimed at analyzing the effects of test smells in the test code and tools that automate the detection and correction of test smells. However, little is known about the knowledge of industry professionals about this concept. Thus, this study aims to empirically analyze the knowledge related to test smells from professionals’ perspectives in the Brazilian software industry. We seek to identify programming practices that influence the insertion of test smells in the test code and analyze the existence of procedures aimed at preventing, identifying, and correcting test smells. To accomplish this goal, we divided the research into four stages: bibliographic survey, application of a survey with professionals from the software industry, interviewing with a selection of these professionals, and finally, developing a grounded theory. The survey included the participation of 60 professionals, and it was possible to infer the practices most frequently adopted in practice and a preliminary assessment of the impact of professional experience on the use of these practices. In the interview study, carried out with 50 professionals, it was possible to assess the level of knowledge about the concept of test smells. Data-based theory identified five areas related to improving the quality of automated testing: competency, technical alignment, test development, quality improvement, and tool use. The presentation of the level of knowledge about test smells and the quality verification practices of software tests are the main contributions of this research, which still foresees possible future investigations.

7
  • RAMON ARAÚJO GOMES
  • Antecipando a identificação de dívidas técnicas em projetos de desenvolvimento dirigido por modelo

  • Orientador : RITA SUZANA PITANGUEIRA MACIEL
  • MEMBROS DA BANCA :
  • RITA SUZANA PITANGUEIRA MACIEL
  • CLAUDIO NOGUEIRA SANT ANNA
  • UIRÁ KULESZA
  • Data: 19/08/2021

  • Mostrar Resumo
  • O Desenvolvimento Dirigido por Modelos (DDM) e a metáfora de Dívida Técnica (DT) são abordagens de Engenharia de Software que promovem a qualidade nos sistemas desenvolvidos. Enquanto DDM busca este objetivo através do uso de modelos como principais artefatos do processo de desenvolvimento, o gerenciamento de DT o faz através da correta gestão de problemas que, fora de controle, podem dificultar a manutenção e evolução dos sistemas. Grande parte das pesquisas em DT atualmente foca no código da aplicação como principal fonte das dívidas técnicas.  Em um projeto DDM, entretanto, a geração de código fonte geralmente é feita em etapas posteriores à criação dos modelos e, portanto, lidar com a DT apenas no nível de código pode levar ao pagamento de juros desnecessários devido à existência de dívidas técnicas não gerenciadas. Trabalhos recentes concluíram que códigos desenvolvidos com DDM não são livres de DT, demonstrando a importância em gerenciar a dívida técnica também nesses projetos, de preferência em estágios anteriores do processo de desenvolvimento, como a modelagem. Este trabalho busca analisar se é possível usar estratégias de detecção de dívida técnica de código fonte para identificar DT em modelos geradores de código dentro de um contexto de desenvolvimento dirigido por modelos. Para isso, técnicas de detecção de DT em código fonte foram avaliadas com o objetivo de adaptá-las para o nível de abstração dos modelos. Um catálogo de nove itens de dívida técnica para modelos independentes de plataforma foi especificado, com estratégias de detecção que permitem a automação do processo de identificação das dívidas técnicas nos modelos. Posteriormente, as estratégias de detecção propostas foram implementadas em uma ferramenta que permite a especificação e identificação de model smells para modelos EMF. Um estudo preliminar utilizando 3 projetos opensource versionados no Github foi realizado para avaliar e ajustar as estratégias de detecção propostas. Em seguida, um estudo experimental mais profundo foi feito com o objetivo de avaliar a efetividade real das estratégias de detecção propostas em antecipar a identificação das dívidas técnicas, detectando-as nos modelos geradores do código fonte. Um total de 9 diferentes projetos, com 36 modelos e mais de 400 mil linhas de código foram usados nessa avaliação, todos eles opensource, versionados publicamente no Github e desenvolvidos com a tecnologia EMF. Os resultados mostraram que as estratégias propostas são capazes de antecipar boa parte das dívidas técnicas de código fonte nos modelos geradores do código. Os itens do catálogo, porém, apresentaram diferentes graus de efetividade na antecipação e variados níveis de ocorrência nos projetos estudados. Uma discussão sobre cada item avaliado foi realizada com o objetivo de analisar e explicar os resultados obtidos do estudo experimental. Por fim, foram discutidos aspectos que podem orientar trabalhos futuros com melhorias e a extensão do catálogo proposto


  • Mostrar Abstract
  • ABSTRACT

    Model Driven Development (MDD) and the Technical Debt (TD) metaphor are software

    engineering approaches that look for promoting quality of systems under development.

    While MDD does it through the use of models as primary artifacts in the software development

    process, TD management does it by correctly dealing with problems that, out

    of control, can impair system maintenance and evolution. Most research on TD focuses

    on application code as primary TD sources. In an MDD project, however, dealing with

    technical debt only on the source code may not be an adequate strategy because code

    generation is often done at a later stage than creating models, and then dealing with TD

    only in source code can lead to unnecessary interest payments due to unmanaged debts.

    Recent works concluded that MDD project codes are not technical debt free, making it

    necessary to investigate the possibility and bene ts of applying TD identi cation techniques

    in earlier stages of the development process, such as in modeling phases. This

    work intends to analyze whether it is possible to use source code technical debt detection

    strategies to identify TD on code-generating models in the context of model-driven development

    projects. For this, we investigated source code TD detection techniques were

    evaluated with the purpose of adapting them to be used in the model abstraction level.

    A catalog of nine di erent model technical debt items for platform-independent codegenerating

    models was speci ed, with detection strategies that can automate the TD

    identi cation process in the models. Then, the proposed detection strategies were implemented

    in a tool that allows both speci cation and automatic identi cation of so-called

    model smells in EMF models. A preliminary study was performed to evaluate and re ne

    the proposed detection strategies by using 3 opensource projects versioned on Github.

    Then, a deeper experimental study was performed in order to evaluate the detection strategies

    real e ectiveness in anticipating the technical debt identi cation, detecting them

    in the code-generating models. A total of 9 di erent projects, with 36 EMF models and

    more than 400 thousand lines of code were used in this evaluation, all opensource, git

    versioned and developed with EMF technology. Results showed that the evaluated detection

    strategies are able to anticipate a great amount of source code technical debt in the

    code-generating models. However, di erent catalog items presented di erent anticipation

    e ectiveness levels and various levels of occurrences in the studied projects. A discussion

    was performed for each evaluated item in order to explain the obtained results. Finally,

    aspects were obtained that may guide future works in improvements and also extension

    of the catalog.

8
  • EDERSON DOS SANTOS ASSUNÇÃO
  • Investigando a incidência de code smells em métodos de padrões de projeto

  • Orientador : RODRIGO ROCHA GOMES E SOUZA
  • MEMBROS DA BANCA :
  • CLAUDIO NOGUEIRA SANT ANNA
  • RODRIGO ROCHA GOMES E SOUZA
  • RICARDO TERRA NUNES BUENO VILLELA
  • Data: 01/09/2021

  • Mostrar Resumo
  • Padrões de projeto são soluções reutilizáveis que podem ser aplicadas para resolver problemas específicos em projeto de software. No entanto, tais padrões podem ser mal aplicados e dar origem a code smells. Code smells ou smells são fragmentos no código-fonte que indicam possíveis falhas de design. Chamamos de coocorrência situações durante as quais padrões de projeto e code smells existem dentro dos mesmo módulos de código (e.g., arquivos .java de projetos Java). Este fenômeno, caso ocorra com frequência, pode resultar em uma oportunidade para avaliar se existe algum desvio ou má prática de aplicação dos padrões que possam ser evitados. Possivelmente, ao refinar a forma como os padrões são adicionados a projetos, o surgimento e existência de smells possam ser mitigados. Este trabalho apresenta dois estudos experimentais com o objetivo de investigar as relações de coocorrência entre padrões de projeto e smells. Ambos demandaram a aplicação de ferramentas de detecção automatizadas de padrões de projeto e smells em sistemas de código-fonte aberto desenvolvidos na linguagem Java. No primeiro estudo buscamos compreender com que frequência os code smells coocorrem com padrões de projeto, bem como determinar as coocorrências mais comuns. Para esse fim, identificamos instâncias de smells em métodos de padrões de projeto de 25 sistemas. Também inspecionamos manualmente fragmentos do código-fonte dos projetos para obter informações sobre a relação entre pares específicos padrão-smell. Entre outras descobertas, percebemos que os métodos que fazem parte do padrão Adapter são mais propensos a conter smells, especialmente o Feature Envy, embora possa ser argumentado que a detecção desse smell nesse contexto é um falso-positivo. O segundo estudo é aplicado sobre o histórico de versão proveniente de repositórios de software Open Source. Esta análise consiste em entender a relação entre as duas variáveis (padrões de projeto e code smells) ao longo da evolução do software. Os resultados encontrados sugerem que o padrão Template Method está mais propenso a ser introduzido simultaneamente com smells ao longo do tempo.


  • Mostrar Abstract
  • Design patterns are reusable solutions that can be applied to solve specific problems of software projects. However, developers may not implement patterns adequately on some occasions. This can lead to the appearance of code smells. Code smells (or smells) are fragments of code that can indicate potential design flaws. Co-occurrences are situations in which design patterns and smells exist simultaneously in the same code unit (e.g., classes and methods of Java-based software projects). In case of such phenomenon occurs frequently it can reveal opportunities to investigate if a bad practice in the application of patterns is the cause of the occurrence of smells. As a consequence, refining the way how developers apply design patterns may be a good measure to avoid code smells. In this context, we present two experimental studies that aim at examining cases of co-occurrence of patterns and smells. Both studies required the application of detection tools to evaluate Java-based software projects. With our first study, we seek to comprehend the frequency by which code smells co-occur with design patterns. We also report the most common cases of co-occurrence. To achieve this, we identified instances of smells in methods of design patterns of 25 software systems. We also manually inspected source code fragments to obtain useful information about pairs of patterns and smells. Among other findings, we perceived that methods that take part in the implementation of the Adapter pattern are prone to contain smells, e.g., the Feature Envy smell, although it can be argued that the detection of this smell in this context is a false positive. Our second study has the purpose of analyzing the evolution of open-source software projects. We wanted to provide insights about the co-occurrences along with the evolution of the projects. As a result, we found out that the Template Method pattern is more inclined to appear concomitantly with smells through time.

9
  • LEILA DE CARVALHO COSTA
  • VERIFICAÇÃO FORMAL DE SISTEMAS DE SISTEMAS (SOS) MODELADOS EM DIAGRAMAS DE COREOGRAFIA (BPMN)

    PARA DETECÇão PRÉVIA DE ERROS TIPICOS DE TEMPO DE EXECUçÃO

  • Orientador : RITA SUZANA PITANGUEIRA MACIEL
  • MEMBROS DA BANCA :
  • FLAVIO OQUENDO
  • LAIS DO NASCIMENTO SALVADOR
  • RITA SUZANA PITANGUEIRA MACIEL
  • Data: 14/09/2021

  • Mostrar Resumo
  • Sistema de Sistemas (SoS) são compostos por um conjunto de sistemas, que interagem entre si

    para um objetivo comum. Assim, ele tende a ser maior e mais complexo do que os sistemas

    tradicionais. Para abordar a questão da complexidade inerente a este tipo de sistemas

    complexos, eles são frequentemente modelados usando a Business Process Modeling and

    Notation (BPMN), que é uma notação padrão para modelagem de processos de negócios.

    O diagrama de coreografia, introduzido na versào BPMN2.0, fornece conceitos adequados

    para representar as interações entre os sistemas constituintes de um SoS. No entanto,

    os modelos criados com essa notação podem conter erros, alguns dos quais podem ser

    detectados em tempo de design e outros apenas em tempo de execução. Os erros de

    sintaxe são facilmente detectados com o auxílio de ferramentas de modelagem, no entanto,

    a ausência de uma semântica formal para BPMN torna mais difícil identificar erros de

    tempo de execução, como por exemplo, deadlocks, livelocks e outras propriedades de

    seguran¸ca em diagramas de coreografia de BPMN. Esses erros são difíceis de detectar e

    podem levar a uma operação inadequada ou até mesmo ao travamento do sistema. Nesse

    contexto, um método para identificar erros de tempo de execução consiste em traduzir

    o diagrama BPMN em um modelo formal que pode ser analisado em um verificador

    de modelo. Assim, apresentamos uma abordagem para construir um modelo formal

    para os diagramas de coreografia de BPMN em termos da linguagem formal PI-ADL,

    que é uma linguagem projetada para a especificação de arquiteturas dinâmicas, uma

    caracteríıstica intríınseca dos SoS. Portanto, definimos o mapeamento dos elementos do

    diagrama de coreografia para pi-ADL, a fim de auxiliar sua descrição formal em pi-ADL.

    Tais modelos pi-ADL permitem sua verificação formal por meio de um verificador de

    modelo específico, possibilitando assim, a detecção prévia de erros em tempo de execução

    no sistema modelado.


  • Mostrar Abstract
  • System of systems (SoS) is composed of a set of systems, which interact together for

    a common goal. Thereby, it tends to be larger and more complex than traditional systems.

    To address the question of the inherent complexity of this kind of complex systems,

    they are frequently modeled using the Business Process Modeling and Notation (BPMN),

    which is a standard modeling notation for business processes. The choreography diagram,

    introduced in version BPMN 2.0, provides suitable concepts for representing the interactions

    among constituents of a SoS. However, models created using this notation may

    contain errors, some of which can be detected at design-time and others only at runtime.

    Syntax errors are easily detected with the assistance of modeling tools. Nevertheless,

    the absence of a formal semantics for BPMN makes it harder to identify runtime errors,

    as for example, deadlocks, livelocks and other safety properties in BPMN choreography

    diagrams. These errors are challenging to detect and may lead to an improper operation

    or even a system lockup. In this context, a method for identifying runtime errors consists

    of translating the BPMN diagram into a formal model that can be analyzed in a model

    checker. Thereby we present an approach to build a formal model for the BPMN choreography

    diagrams in terms of the formal language ⇡-ADL, which is properly designed for

    the specification of dynamic architectures, an intrinsic characteristic of SoS. Therefore,

    we define the mapping of the elements of the choreography diagram to ⇡-ADL, in order

    to obtain its formal description in ⇡-ADL. Such ⇡-ADL models allow its formal verification

    using a specific model checker, enabling the prior detection of runtime errors in the

    modeled system.

10
  • BRUNNA CAROLINE DO CARMO MOURÃO
  • MDSS: Um modelo de apoio ao desenvolvimento de sistemas de software sustentáveis

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • SHEILA DOS SANTOS REINEHR
  • CLAUDIO NOGUEIRA SANT ANNA
  • IVAN DO CARMO MACHADO
  • Data: 05/10/2021

  • Mostrar Resumo
  • Pensar de forma sustentável é uma necessidade urgente para o planeta e uma obrigação a todas as áreas de conhecimento. Deste modo, a área de tecnologia da informação tem buscado maneiras de contribuir com a sustentabilidade através da investigação de melhorias relacionadas à eficiência do consumo de energia por parte do software e hardware. A dificuldade dessa temática dá-se tanto pela importância quanto pela complexidade da adaptação dos processos tradicionais de desenvolvimento de software à novos procedimentos, sem contar que as atividades humanas têm sido cada vez mais dependentes de software, com a recente prevalência de sistemas de software desenvolvidos para o domínio de aplicações móveis.

    Neste contexto, um grande desafio é a investigação de métodos que proporcionem um aumento da sustentabilidade em software, diminuindo assim o consumo de energia pelo software o que por consequência, minimiza o impacto da tecnologia nos recursos naturais.

    A sustentabilidade de software pode ser analisada sob diversas perspectivas (social, econômica, técnica e ambiental). Assim, antes de identificar, medir e/ou gerenciar o consumo de energia de um software, é necessário entender quais são os conceitos e definições cunhados na literatura, ferramentas existentes, o nível de conhecimento por parte dos profissionais, as técnicas e os métodos que estão sendo propostos.

    Este trabalho desenvolveu um modelo para desenvolvimento de software sustentável, e organizou um corpo de conhecimento de sustentabilidade em Engenharia de Software baseado em estudos levantados na literatura, considerando conceitos/definições, métodos/modelos e a opinião dos profissionais atuantes.

    Para alcançar estes objetivos, a pesquisa seguiu duas linhas de trabalho: (1) realização de um mapeamento sistemático da literatura complementado por um survey para a coleta de evidências que permitiu estabelecer um panorama sobre Engenharia de software sustentável; (2) estruturação das informações identificadas para desenvolver o modelo que pretende apoiar as equipes no desenvolvimento de software sustentável, que se deu com a realização de estudos qualitativos com profissionais da indústria.


  • Mostrar Abstract
  • Thinking sustainably is an urgent need for the planet and an obligation for all areas of knowledge. Thus, the information technology area has been looking for ways to contribute to sustainability by investigating improvements related to the efficiency of energy consumption by software and hardware. The difficulty of this theme is due to the importance and the complexity of adapting traditional software development processes to new procedures, not to mention that human activities have been increasingly dependent on software, with the recent prevalence of developed software systems for the domain of mobile applications.

    In this context, a significant challenge lies in investigating methods that increase software sustainability, thus reducing energy consumption by the software, which minimizes the impact of technology on natural resources.

    Software sustainability can be analyzed from different perspectives (social, economic, technical, and environmental). Thus, before identifying, measuring, and managing the energy consumption of software, it is necessary to understand the concepts and definitions coined in the literature, existing tools, the level of knowledge on the part of professionals, and the proposed techniques and methods.

    This work developed a model for sustainable software development and organized a body of knowledge on sustainability in Software Engineering based on studies in the literature, considering concepts/definitions, methods/models, and working professionals' opinions.

    To achieve the goals mentioned above, the research followed two lines of work: (1) carrying out systematic mapping of the literature complemented by a survey for the collection of evidence that allowed to establish an overview of sustainable software engineering; (2) Structuring the identified information to develop the model intended to support teams in developing sustainable software, which took place through qualitative studies with industry professionals.

11
  • SARA MENDES OLIVEIRA LIMA
  • Síntese temática sobre a adoção de técnicas de teste de regressão em projetos de software para a plataforma Android

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • ALCEMIR RODRIGUES SANTOS
  • IVAN DO CARMO MACHADO
  • RODRIGO ROCHA GOMES E SOUZA
  • Data: 13/10/2021

  • Mostrar Resumo
  • O mercado de dispositivos móveis tem crescido exponencialmente nos últimos anos, assim como a necessidade de aplicativos quem primem pela qualidade e que ofereçam features que ampliem a retenção de usuários. Nos últimos anos percebe-se uma crescente quantidade de estudos que apresentam soluções para problemas inerentes à demanda supracitada. A atividade de testes de software tem um papel de grande importância no processo de garantia da qualidade de software. Em particular, os testes de regressão apresentam-se como uma estratégia viável para lidar com a complexidade e com a constante evolução dos aplicativos, visto que o seu principal objetivo é garantir que as mudanças realizadas entre versões não alteram o comportamento do sistema. Embora a literatura tenha dedicado esforços para o desenvolvimento de novas técnicas de teste de regressão para Android - o sistema operacional mais popular para os dispositivos móveis - os estudos existentes são limitados no que diz respeito a demonstrar quais são as técnicas de teste de regressão utilizadas por profissionais. A presente investigação tem como objetivo realizar uma síntese temática sobre a adoção de técnicas de teste de regressão em projetos de software para a plataforma Android. A pesquisa foi organizada em quatro etapas: (i) realização de uma revisão estruturada da literatura sobre técnicas de teste de regressão de aplicativos para Android, (ii) aplicação de um survey, (iii) realização de entrevistas com profissionais da indústria, e (iv) a construção de uma síntese temática. O survey obteve 100 respostas e proporcionou uma visão preliminar sobre como é realizado o processo de teste durante e após a manutenção dos aplicativos, quão automatizado é o teste de regressão de aplicativos para Android na prática e os motivos pelos quais os profissionais não realizam teste de regressão após atualizarem os aplicativos. As entrevistas realizadas com 16 profissionais da indústria contribuíram com a pesquisa no sentido de identificar o nível de conhecimento dos profissionais e sua relação com a automação dos testes, as linguagens mais utilizadas no desenvolvimento dos aplicativos para Android e qual a relação delas com o processo de automação, as ferramentas utilizadas para automação de teste e as features esperadas pelos profissionais para executarem teste de regressão automatizado e um entendimento preliminar sobre como os profissionais executam teste de regressão na prática. A síntese temática apresentou um modelo resultante da comparação dos resultados obtidos nas diferentes fontes de dados - literatura, survey e entrevistas, sobre o uso de técnicas de teste de regressão. Esses estudos trazem uma visão sobre o tema e proporcionam possíveis investigações futuras.


  • Mostrar Abstract
  • The mobile device market has grown exponentially in recent years, as the need for apps that strive for quality and that offer features that increase user retention. In recent years, a growing number of studies have provided solutions to problems inherent to the demand mentioned above. The software testing activity plays an essential role in the software quality assurance process. In particular, regression tests are presented as a viable strategy to deal with the complexity and constant evolution of applications since its main objective is to ensure that changes made between versions of a product do not change the system's behavior. Although the literature has devoted efforts to developing new regression testing techniques for Android - the most popular operating system for mobile devices - existing studies do not address how professionals use testing techniques. This investigation aims to carry out a thematic synthesis on the adoption of regression testing techniques in software projects for the Android platform. We organized the research in four steps: (i) carrying out a structured review of the technical literature on regression testing of Android applications, (ii) applying a survey, (iii) carrying out an identifier with professionals from the industry, and (iv) the construction of a thematic synthesis. The survey got 100 responses and provided preliminary insight into how the testing process is performed during and after application maintenance, how automated regression testing of Android applications is in practice, and why the professionals do not perform regression testing after updating applications. In the interview study, we inquired 16 industry professionals. This study contributed to the research as it could unveil the level of knowledge of professionals and its relationship with test automation. In addition, we could identify the most used languages in the development of Android applications and the tools used for testing automation. Furthermore, the study provided us with a preliminary understanding of how professionals perform regression testing in practice. Finally, the thematic synthesis presents a model resulting from the comparison of evidence gathered from different data sources - literature, survey and declares about the use of regression test techniques. These studies bring an insight into the subject and provide possible future investigations.

12
  • OTÁVIO GONÇALVEZ VICENTE RIBEIRO FILHO
  • Uma Nova Arquitetura de Rede Neural Artificial para abordagens end-to-end de classificação de sinais

  • Orientador : RICARDO ARAUJO RIOS
  • MEMBROS DA BANCA :
  • RICARDO ARAUJO RIOS
  • RUBISLEY DE PAULA LEMES
  • MOACIR ANTONELLI PONTI
  • Data: 10/11/2021

  • Mostrar Resumo
  • O aumento da capacidade computacional, a introdução do uso de unidades gráficas de processamento e o crescente aumento na disponibilização de dados favoreceram a utilização de redes neurais artificiais para resolução de problemas em diferentes áreas do conhecimento como visão computacional e processamento de linguagem natural. Aplicações de tais redes em cenários cujos dados são caracterizados pela presença de dependência temporal, como sinais unidimensionais (séries temporais), produzem melhores resultados quando uma etapa de pré-processamento é considerada para extrair informações implícitas entre as observações. No contexto deste mestrado, dentre os diferentes métodos de pré-processamento, observou-se que as transformadas wavelets têm sido amplamente utilizadas devido, de maneira geral, à obtenção de melhores resultados quando comparadas aos demais métodos. No entanto, estas transformadas possuem duas principais limitações na análise de sinais. Primeiro, faz-se necessário definir um conjunto de parâmetros para melhor extrair informações nos diferentes níveis de escala e resolução. Segundo, a aplicação dessas transformadas requerem uma etapa inicial de transformação de todos os sinais em lote (batch) antes do início do treinamento da rede. Neste trabalho, essas limitações foram superadas através da criação de uma nova arquitetura de rede neural artificial que, ao analisar um sinal unidimensional, produz como saída um conjunto de características equivalentes àquelas produzidas pelas transformadas de wavelets. Dessa forma, essa rede pode ser combinada com outras redes para treinamento e classificação de sinais sem a necessidade de execução à priori da etapa de pré-processamento. Para verificação do desempenho da arquitetura desenvolvida, foi utilizada uma rede pré-treinada para classificação de sinais coletados de duas aplicações reais: LFP (local field potential) a partir do monitoramento de sinais cerebrais coletados de macacos, e sinais sísmicos coletados do vulcão Llaima. As acurácias finais produzidas pelos modelos nas duas aplicações usando o pré-processamento tradicional e a arquitetura proposta foram, respectivamente: (i) LFP -- 0.655 e 0.649; (ii) Llaima -- 0.976 e 0.974.


  • Mostrar Abstract
  • The increasing computer power, the introduction of specialized processors designed to accelerate graphics rendering, and the high availability of new data have supported the adoption of artificial neural networks (ANN) to solve real-world problems in different areas, such as computer vision natural language processing. The application of such networks to deal with data characterized by temporal dependencies, as signals (time series), produces better results when a preprocessing stage is considered to extract implicit information. In this work, by taking into account the different preprocessing methods, we have noticed that wavelet transforms have been widely used due to, in general, the remarkable results. However, such transformations have two main drawbacks by modeling signals. Firstly, it is necessary to define a set of parameters to extract better information from different levels of scale and resolution. Secondly, the application of such transformations requires an initial step to convert, in batch, all analyzed signals before starting the network training. In our scenario, such limitations were overcome by our new ANN architecture, which analyzes signals and yields as output a set of characteristics similar to those produced by wavelet transforms. Therefore, our ANN can be combined with others to model signals without requiring an execution a priori of any wavelet transformation. The proposed ANN was assessed against a pre-trained network to classify signals from two real-world applications: local field potential (LFP) from monitoring monkey brains and seismic signals from the Llaima volcano. The final accuracy obtained to model both applications using traditional preprocessing, and our approach were, respectively: (i) LFP -- 0.655 and 0.649, and (ii) Llaima -- 0.976 and 0.974.

13
  • ANDERSON DA SILVA BRITO SACRAMENTO
  • Um método computacional de extração automática de eventos em domínio fechado na língua portuguesa

  • Orientador : MARLO VIEIRA DOS SANTOS E SOUZA
  • MEMBROS DA BANCA :
  • PAULO MIGUEL TORRES DUARTE QUARESMA
  • MARLO VIEIRA DOS SANTOS E SOUZA
  • RENATA VIEIRA
  • Data: 23/11/2021

  • Mostrar Resumo
  • O registro e a publicação digital de textos em linguagem natural faz parte de diferentes domínios da atividade humana. Dentre as informações registradas, os eventos são parte significativa desse conteúdo, visto que, independente do domínio, novos eventos continuam a acontecer, e os que são considerados relevantes são registrados. Com a disseminação de tecnologias de informação, a facilidade de acesso a esses registros fez crescer a oferta de eventos e também a demanda por conhecimento para auxílio à tomada de decisões, derivado de novas aplicações de um grande volume de informação cada vez mais globalizada e instantâneo.  A tarefa de extração de eventos tem o objetivo de automatizar a extração de eventos por meio da identificação do tipo de evento e dos seus participantes e atributos. Essa é uma tarefa de extração de informação, que faz parte da área de processamento de linguagem natural. Não se conhece uma solução com desempenho igual ou superior ao humano para essa tarefa em qualquer linguagem natural. No caso específico da língua portuguesa,  não existe apenas solução, mas carece-se  de propostas de métodos e recursos linguísticos anotados para o desenvolvimento e avaliação de métodos (via aprendizado com dados, aprendizado de máquina). Que saibamos, os poucos trabalhos que foram publicados não realizaram extração de eventos em domínio fechado, i.e. quando se conhece a estrutura dos eventos que busca-se extrair, para língua portuguesa. Neste trabalho é apresentado um método de  extração automática de eventos em domínio fechado em  sentenças da língua portuguesa, baseado em aprendizado de máquina profundo, utilizando word embeddings contextualizados. Além disso, para suportar o desenvolvimento e a avaliação do método proposto, foi construído um corpus em português com anotações de eventos em domínio fechado.


  • Mostrar Abstract
  • The registration and digital publication of texts in natural language is part of different domains of human activity. Among the information recorded, events are a significant part of the content, since, regardless of the domain, new events continue to happen, and those considered relevant are recorded. With the spread of information technologies, the ease of access to these records has increased the supply of registered events and also the demand for knowledge to aid decision making, derived from new applications of a large volume of information increasingly globalized and instantaneous. The task of event extraction aims to automate the extraction of events from text by identifying the event type and its participants and attributes. This is an information extraction task, which is part of the area of natural language processing. There is no known solution with a performance equal or superior to that of a human for this task in any natural language. In the specific case of the Portuguese language, there is not only a lack of a solution, but there is a need  for methods and linguistic resources for the development and evaluation of those methods (via learning from data, i.e. machine learning). To the best of our knowledge, the few works that were published did not perform event extraction in a closed domain configuration, when one knows the structure of the events that one aims to extract. In this research project proposal, we intend to develop a method for automatic event extraction in a closed domain configuration in Portuguese sentences and to build or adapt a corpus in Portuguese that supports the development of this method. This work presents a method for event extraction in a closed domain configuration in Portuguese language sentences based on deep learning using contextualized word embeddings. Furthermore, to support the development and evaluation of the proposed method, we construct a  Portuguese corpus with annotations of events in closed domain.

14
  • JOSELITO MOTA JÚNIOR
  • An evidence-based study on issue labeling in Github-based repositories

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • IVAN DO CARMO MACHADO
  • CLAUDIO NOGUEIRA SANT ANNA
  • JOSÉ AMÂNCIO MACEDO SANTOS
  • Data: 07/12/2021

  • Mostrar Resumo
  • A comunidade de software de código aberto cresceu em tamanho e importância ao longo dos anos. Como consequência, o número de contribuidores em projetos dessa natureza aumentou consideravelmente. A capacidade dos repositórios de projeto de código aberto para acomodar relatórios de problemas em forma de issues é essencial. Uma issue abrange um grande conjunto de dados que descreve as mudanças necessárias que um software deve lidar. Os desenvolvedores precisam de informações detalhadas para reproduzi-los e localizá-los; informações incompletas são um problema grave que pode influenciar a triagem e a detecção de defeitos, levando a atrasos na manutenção do projeto. Rastreadores de defeitos normalmente usam o método de rotulagem para adicionar detalhes extras as issues. Ciente da importância dos rótulos, esta dissertação enfoca a investigação do uso, criação e similaridades no contexto do ciclo de vida do defeito, tanto na manutenção quanto na evolução nos rastreadores de defeitos de repositórios da maior e mais popular plataforma de hospedagem de código, o Github. Além disso, também analisa a quantidade de issues rotuladas e não rotuladas no repositório e a conexão entre os componentes das issues, com análise com foco no ciclo de vida. Os resultados do estudo indicam uma correlação significativa entre os repositórios que possuem muitas issues e a criação de rótulos, mas nem todos os repositórios usam estes rótulos criados. 64,58 \% dos repositórios inserem novos rótulos conforme o projeto evolui. 73,14 \% repositórios aplicam os rótulos padrões providos pelo Github. Os resultados também indicam uma influência entre campos primários de uma issue, tais como título, descrição e comentários na maioria dos casos de rotulação, assumindo um impacto na criação e rotulagem. Esses números mostram que a rotulagem de issues é de importância proeminente para a manutenção e evolução do projeto, pois fornece aos desenvolvedores uma maneira fácil e conveniente de informar sobre um problema reportado nos rastreadores de defeitos pelos usuários dos sistemas.


  • Mostrar Abstract
  • The open-source software community has grown in size and importance over the years. As a consequence, the number of project contributors has increased considerably. The capability of open-source project repositories to accommodate issue reports is essential. An issue report encompasses a large set of data that describes the necessary changes a software should handle. As developers need detailed information to reproduce and find them, incomplete information is a severe problem that may influence triage and defect detection leading to delays in project maintenance. Issue trackers commonly use the labeling method to add extra details to issues. Knowing the importance of labels, this dissertation focus on investigating the usage, creation, and similarities in the context of the issue lifecycle in both maintenance and evolution in the repository issue trackers of the largest and most popular code hosting platform, Github. In addition, it analyzes the number of labeled and unlabeled issues in the repository and the connection between the issues' components, with an analysis focused on the lifecycle. The results indicate a significant correlation between repositories with many issues and the creation of labels, but not all repositories use them. 64.58\% of the repositories insert new labels as the project evolves. 73.14\% repositories applied on issues the Github standard labels. We also found an influence of primary issue fields such as title, description, and comments in most issue labels, impacting the creation and labeling issues. These numbers show that issue labeling is of prominent relevance for project maintenance and evolution. It provides developers with an easy and convenient way to inform about an incoming issue reported by systems users.

15
  • Wallas Fróes de Oliveira
  • ProgLab: Aprovisionamento de QoS por Rótulos Programáveis em Redes Definidas por Resíduos

  • Orientador : LEOBINO NASCIMENTO SAMPAIO
  • MEMBROS DA BANCA :
  • LEOBINO NASCIMENTO SAMPAIO
  • MAYCON LEONE MACIEL PEIXOTO
  • RODOLFO DA SILVA VILLAÇA
  • Data: 09/12/2021

  • Mostrar Resumo
  • Redes Definidas por Resíduos (do inglês, Residues Defined Network - (RDN)), possuem a capacidade de utilizar rótulos para encaminhamentos fim-a-fim em sistemas autônomos. A RDN é caracterizada por dispensar o uso de tabelas de encaminhamento no núcleo da rede. Dessa forma, os pacotes são encaminhados com base no resto da divisão entre o rótulo encontrado no pacote e a chave local encontrada no comutador de núcleo. Inicialmente, a RDN teve como propósito melhorar a latência nas SDNs, uma vez que os comutadores do núcleo da rede não possuem comunicação com o controlador. Por outro lado, uma gama de soluções adotam a Qualidade de Serviço (QoS) baseadas na utilização do MPLS, que permite prover serviços diferenciados a diferentes classes e padrões de tráfego e gerar benefícios consideráveis para as comunicações de rede. Entretanto, tais soluções apresentam altos custos de OPEX e CAPEX. Motivado pela capacidade das RDNs, esta dissertação traz um método alternativo para utilização dos rótulos no núcleo da rede, além de tentar resolver o problema de escalabilidade e flexibilidade encontrado na solução KeyFlow proposta e oferecer novas funcionalidades para esta tecnologia. Através da linguagem P4, foi implementado um novo protocolo flexível, escalável e reprogramável para a RDN, a fim implementar o modelo para aprovisionamento de QoS por rótulos programáveis, ProgLab (Programmable Labels). O ProgLab implementa um novo método para leitura dos rótulos pelos comutadores de núcleo, que utiliza o sistema numérico de resíduos para definir as portas de saídas e a prioridade da fila, assim provendo QoS à RDN. Para validação da proposta, foram realizados testes de emulação com métricas de QoS e Qualidade de Experiência (QoE) para avaliação e demonstração da viabilidade do modelo. Os resultados demonstraram a viabilidade desta proposta para provisão de QoS em redes de núcleo que utilizem o RNS como encaminhamento de pacotes, mostrando que futuramente uma RDN pode vir a ser uma alternativa de baixo custo para encaminhamento de pacotes com serviços de QoS.


  • Mostrar Abstract
  • Residues Defined Network (RDN) have the ability to use labels for end-to-end routing in autonomous systems. RDN is characterized by dispensing with the use of routing tables at the core of the network. In this way, packets are forwarded based on the remainder of the division between the label found in the packet and the local key found in the core switch. Initially, RDN was intended to improve latency in SDNs, since the switches at the core of the network do not communicate with the controller. On the other hand, a range of solutions adopts the Quality of Service (QoS) based on the use of MPLS, which allows providing differentiated services to different traffic classes and patterns and generating considerable benefits for network communications. However, such solutions have high OPEX and CAPEX costs.Motivated by the capacity of RDNs, this dissertation brings an alternative method for using the labels in the core of the network, in addition to trying to solve the problem of scalability and flexibility found in the proposed KeyFlow solution and offer new functionalities for this technology.Through the P4 language, a new flexible, scalable and reprogrammable protocol for an RDN was implemented, in order to implement the model for provisioning QoS by programmable labels, ProgLab {Programmable Labels}.ProgLab implements a new method for reading labels by core switches, which uses the residual number system to define the output ports and queue priority, thus providing QoS to the RDN. To validate the proposal, emulation tests were performed with QoS and Quality of Experience (QoE) metrics to evaluate and demonstrate the feasibility of the model.The results demonstrated the viability of this proposal for the provision of QoS in core networks that use the RNS as packet forwarding, showing that in the future an RDN can become a low-cost alternative for packet forwarding with QoS services.

16
  • CÍNTIA DA COSTA SOUZA
  • DOSN-PROV: Modelo e Serviços para Proveniência de Dados em Redes Sociais Descentralizadas

  • Orientador : CASSIO VINICIUS SERAFIM PRAZERES
  • MEMBROS DA BANCA :
  • RITA CRISTINA GALARRAGA BERARDI
  • CASSIO VINICIUS SERAFIM PRAZERES
  • MARLO VIEIRA DOS SANTOS E SOUZA
  • Data: 10/12/2021

  • Mostrar Resumo
  • As informações que trafegam em redes sociais nem sempre podem ter a origem verificada, os caminhos descritos e as modificações registradas. Questões como essas geram incerteza e desconfiança aos processos e interações em Redes Sociais Online (do inglês, OSNs). Com o surgimento das Redes Sociais Online Descentralizadas (do inglês, DOSNs) e o aumento da quantidade de usuários ativos nessas redes, torna-se importante desenvolver soluções efetivas referentes à proveniência dos dados descentralizados. A proveniência é um fator de importância considerável, pois, por meio de seus resultados, é possível avaliar a autenticidade, confiabilidade e relevância das informações. Rastreamento e captura de proveniência são tarefas fundamentais para DOSNs, pois produzem respostas sobre as etapas percorridas pelas informações. O grande volume de dados, a velocidade de geração e compartilhamento de informações e a estratégia descentralizada de armazenamento torna a proveniência em DOSNs uma tarefa não trivial. Dessa forma, este trabalho propõe o modelo ontológico de proveniência DOSN-PROV, que é um modelo específico para o domínio de DOSNs, baseado na especificação PROV-O do W3C. Além disso, este trabalho também propõe serviços, baseados no DOSN-PROV, para fornecer suporte à captura e ao rastreamento de proveniência em DOSNs. O DOSN-PROV foi avaliado em duas etapas para demonstrar a conformidade com o domínio proposto. Por fim, os serviços passaram por uma avaliação de desempenho e seus resultados indicaram tempos de resposta aceitáveis para as tarefas de captura e rastreamento.


  • Mostrar Abstract
  • The information on social networks cannot always verify the origin, the paths described, and the registered modifications. Issues such as these generate uncertainty and distrust in processes and interactions in OSNs. With the emergence of DOSNs and the increase in the number of active users in these networks, it becomes essential to develop effective solutions regarding the provenance of decentralized data. The provenance is a factor of considerable importance because it is possible to evaluate the information's authenticity, reliability, and relevance through its results. Tracing and capture of provenance are critical tasks for DOSNs since they produce answers about the steps go through by the information. The large volume of data, the speed of generation and sharing of information, and the decentralized storage strategy make the provenance of DOSNs a non-trivial task. Thus, this work proposes the PROV-DOSN provenance ontological model, a specific model for the DOSNs domain, based on the PROV-O specification from W3C. In addition, this work also proposes services based on the DOSN-PROV to support the capture and tracking of provenance in DOSNs. We evaluated DOSN-PROV in two steps to demonstrate compliance with the proposed domain. Finally, the services underwent a performance evaluation, and their results indicated acceptable response times for the capture and tracking tasks.

17
  • BEATRIZ SANTANA FAGUNDES SOUZA DE LIMA
  • Um Estudo sobre a Influência da Especificidade do Texto na Classificação de Utilidade Percebida de Críticas Online
  • Orientador : TATIANE NOGUEIRA RIOS
  • MEMBROS DA BANCA :
  • TATIANE NOGUEIRA RIOS
  • RICARDO MARCONDES MARCACINI
  • THIAGO ALEXANDRE SALGUEIRO PARDO
  • Data: 15/12/2021

  • Mostrar Resumo
  • As avaliações online são fontes valiosas de informação para apoiar o processo de tomada de decisão, tanto para pessoas físicas quanto para empresas. No entanto, o grande volume de revisões de baixa qualidade dificulta o processo de coleta de informações úteis dessas revisões. Os sites de vários varejistas fornecem um sistema de votação para permitir que os clientes avaliem outras avaliações de produtos como úteis ou não. No entanto, esses votos são muitas vezes tendenciosos e a maioria das avaliações não recebe nenhum voto. Além disso, vários sites sequer possuem esse mecanismo de votação ou qualquer outro componente para organizar as avaliações quanto à sua utilidade. Portanto, classificar as avaliações de acordo com sua utilidade é de suma importância para facilitar o acesso a conteúdos verdadeiramente informativos. Nesse contexto, estudos anteriores revelaram vários recursos e arquiteturas que são benéficos para a previsão de utilidade percebida. No presente trabalho, argumentamos que a especificidade do texto, definida como o nível de detalhes expressos em um texto, pode influenciar a percepção de utilidade da revisão e,   consequentemente, também pode ser um novo aspecto linguístico útil para modelar a previsão de utilidade. Propusemos duas abordagens para incorporar o aspecto de especificidade em modelos de classificação de utilidade: i) usando recursos artesanais baseados em especificidade de texto e ii) usando a previsão de especificidade de revisão como uma tarefa auxiliar em um ambiente de Aprendizagem Multitarefa (MTL). Primeiro, conduzimos uma abordagem de adaptação de domínio não supervisionada [Ko, Durrett e Li 2019] para rotular automaticamente pontuações de especificidade de texto em frases de avaliações online. Para avaliar os diferentes modelos treinados usando essa abordagem, propusemos uma medida denominada Avaliação de Predição de Especificidade (SPE), que se baseia na suposição de que, em média, sentenças específicas confiáveis tendem a ser mais longas do que sentenças gerais confiáveis [Li e Nenkova 2015] . Para as 18 coleções de revisões on-line usadas em todos os nossos experimentos, conseguimos obter previsões de especificidade mais confiáveis, de acordo com a SPE, variando apenas o tamanho do conjunto de treinamento e o número de épocas de treinamento. Por fim, realizamos experimentos para avaliar o desempenho dos modelos de classificação de utilidade usando duas arquiteturas neurais: Rede Neural Convolucional (CNN) [Kim 2014] e Representações de Codificador Bidirecional de Transformadores (BERT) [Devlin et al. 2019]. Em resumo, usando conjuntos de dados balanceados, os modelos de classificação de utilidade percebida, incorporados com especificidade de texto - como recursos ou MTL - mostraram resultados de precisão significativamente mais altos em comparação com uma linha de base SVM popular ao usar CNN. Com o BERT, os experimentos mostraram que o MTL superou os modelos de tarefa única para a maioria dos 18 conjuntos de dados e a precisão e a precisão foram aprimoradas em comparação com a linha de base do SVM.


  • Mostrar Abstract
  • Online reviews are valuable sources of information to support the decision-making process, both for individuals and companies. Nevertheless, the large volume of reviews that have a low quality hinders the process of gathering helpful information from those reviews. Several retailers’ websites provide a voting system to allow customers to evaluate other product reviews as helpful or not. However, those votes are often biased and most of the reviews do not receive any votes at all. Besides that, several websites do not even have this voting mechanism or any other component for organizing the reviews in terms of their helpfulness. Therefore, classifying reviews according to their helpfulness has paramount importance in facilitating access to truly informative content. In this context, previous studies have unveiled several features and architectures that are beneficial for the perceived helpfulness prediction. In the present work, we argue that text specificity, defined as the level of details expressed in a text, can influence the perception of review helpfulness and, consequently, can also be a novel useful linguistic aspect for modeling the helpfulness prediction. We proposed two approaches to incorporate the specificity aspect into helpfulness classification models: i) using hand-crafted features based on text specificity and ii) using the review specificity prediction as an auxiliary task in a Multitask Learning (MTL) setting. First, we conducted an unsupervised domain adaptation approach [Ko, Durrett and Li 2019] to label text specificity scores on sentences from online reviews automatically. To evaluate the different trained models using this approach, we proposed a measure named Specificity Prediction Evaluation (SPE), which is based on the assumption that, on average, reliable specific sentences tend to be longer than reliable general sentences [Li and Nenkova 2015]. For the 18 collections of online reviews used in all of our experiments, we could achieve more reliable specificity predictions, according to SPE, by varying only the training set size and the number of training epochs. Finally, we performed experiments to assess the performance of the helpfulness classification models using two neural architectures: Convolutional Neural Network (CNN) [Kim 2014] and Bidirectional Encoder Representations from Transformers (BERT) [Devlin et al. 2019]. In summary, using balanced datasets, the perceived helpfulness classification models, embodied with text specificity- either as features or MTL - showed significantly higher precision results in comparison to a popular SVM baseline when using CNN. With BERT, the experiments showed that MTL outperformed the single-task models for most of the 18 datasets and both accuracy and precision were improved compared to the SVM baseline.

18
  • JOSÉ RONALDO LELES JUNIOR
  • DOSN-PRIV: Modelo e Serviço para Privacidade em Redes Sociais Online Descentralizadas

  • Orientador : CASSIO VINICIUS SERAFIM PRAZERES
  • MEMBROS DA BANCA :
  • DILVAN DE ABREU MOREIRA
  • CASSIO VINICIUS SERAFIM PRAZERES
  • FREDERICO ARAUJO DURAO
  • Data: 21/12/2021

  • Mostrar Resumo
  • O uso intensivo de Redes Sociais Online (OSNs) tem causado preocupação nos usuários no que tange à privacidade dos dados. Dada a natureza centralizada dessas plataformas, e uma vez que cada uma possui mecanismo próprio de armazenamento, de autenticação e de controle de acesso, seus usuários não possuem o controle e o direito sobre os seus próprios dados. Dessa forma, os usuários não conseguem alternar facilmente entre plataformas semelhantes ou até mesmo transferir dados de uma plataforma para outra. Isso implica, dentre outras coisas, em ameaça à privacidade, dado que esses usuários dependem dos interesses do provedor de serviços responsável pela administração da OSN. Como estratégia para a descentrazalização das OSNs e, consequente, como solução para os problemas de privacidade nesses ambientes, surgiram as chamadas Redes Sociais Online Descentralizadas (DOSNs). Ao contrário das OSNs, as DOSNs são plataformas descentralizadas de gerenciamento de conteúdo, no sentido que não fazem uso de provedores de serviços centralizados. Apesar das DOSNs solucionarem alguns problemas de privacidade encontrados nas OSNs, as DOSNs trazem também desafios importantes a serem considerados como, por exemplo, no que diz respeito ao controle de acesso às informações do perfil do usuário com um menor nível de granularidade. Nesse contexto, este trabalho propõe o desenvolvimento de um modelo ontológico e um serviço para apoio à privacidade em DOSNs. O modelo proposto será formalizado por meio de uma ontologia OWL que deverá descrever os principais conceitos de controle de acesso para privacidade em DOSNs e suas relações, enquanto o serviço deverá consumir o modelo para aplicar o controle de acesso de acordo com as políticas representadas no modelo. O modelo Dosn-Priv foi avaliado em duas fases para verificar sua conformidade com o domínio proposto. Por fim, o serviço de privacidade DosnPrivServ passou por uma avaliação de desempenho e seus resultados se mostraram satisfatórios quanto ao tempo de resposta das requisições de controle de acesso.


  • Mostrar Abstract
  • The intensive use of Online Social Networks (OSNs) has been caused users to worry about data privacy. Given the centralized nature of these platforms, and since each has a particular storage mechanism, authentication, and access control, its users do not have the control and the right over their data. Thus, users can not easily switch between similar platforms or even transfer data from a platform to another. This implies, among other things, in a threat to privacy, since such users depend on the interests of the service provider responsible for OSN's administration. As a strategy for the decentralization of the OSNs and consequently as a solution to the privacy problems in these environments, the so-called Decentralized Online Social Networks (DOSNs) have emerged. Unlike OSNs, DOSNs are decentralized content management platforms in the sense that they do not use of centralized service providers. Although DOSNs address some of the privacy issues encountered in OSNs, the DOSNs also pose important challenges to be considered, for example, with regard to access control to user profile information with a lower level of granularity. In this context, this work proposes the development of an ontological model and a service to support privacy in DOSNs. The proposed model will be formalized through an OWL ontology that should describe the main concepts of access control for privacy in DOSNs and their relationships, while the service will consume the model to apply access control according to the policies represented in the model. The Dosn-Priv model was evaluated in two phases to verify its compliance with the proposed domain. Finally, the DosnPrivServ privacy service underwent a performance evaluation and its results were satisfactory regarding the response time of access control requests.

19
  • LUCINÉIA BATISTA DE SOUZA
  • ORGANIZAÇÃO DE UM CONJUNTO DE DESCOBERTAS EXPERIMENTAIS SOBRE DÍVIDA TÉCNICA RELACIONADA AO TESTE

  • Orientador : MANOEL GOMES DE MENDONCA NETO
  • MEMBROS DA BANCA :
  • MANOEL GOMES DE MENDONCA NETO
  • JOSÉ AMÂNCIO MACEDO SANTOS
  • THIAGO SOUTO MENDES
  • Data: 23/12/2021

  • Mostrar Resumo
  • Contexto: O termo Dívida Técnica (DT) refere-se às atividades adiadas durante o desenvolvimento do projeto de software. A DT pode ser comparada com uma dívida financeira cujo devedor tem a opção de pagar o valor principal da dívida ou os juros. Várias iniciativas têm buscado identificar as causas e os efeitos associados à DT. Dentre elas, o projeto InsighTD tem executado um survey em vários países para coletar evidencias sobre o estado da prática da DT. Um dos resultados obtidos pelo projeto foi a lista de causas e efeitos da DT reportados pelos profissionais de software. A DT pode incorrer em qualquer fase do desenvolvimento, como no teste de software. Essa atividade tem como objetivo assegurar a qualidade do software que está sendo desenvolvido. Entretanto, tanto o projeto quanto a literatura técnica pouco tem abordado sobre os itens de DT que ocorrem nas atividades de teste de software. Objetivo: Investigar, do ponto de vista dos profissionais de teste de software, os tipos de TD associados à DT relacionada a teste, as causas que levam a ela e os efeitos de sua existência. Método: Foi realizada uma replicação do survey do projeto InsighTD com profissionais de teste de software no Brasil. Além disso, utilizou-se respostas de profissionais de software coletadas na primeira execução do survey. Deste modo, foram coletadas e analisadas, quantitativamente e qualitativamente, 54 respostas de participantes da indústria brasileira de software. Resultado: Este estudo evidencia o ponto de vista dos profissionais de teste sobre DT. Foi percebido que os itens de dívida relacionados a teste estão relacionados a diferentes tipos de DT, como, documentação, código e a própria dívida de teste. Foram identificados 61 causas de DT organizadas em oito categorias. As principais causas identificadas foram prazo, documentação desatualizada/incompleta e planejamento inadequado. Foram identificados 45 efeitos de DT e agrupados em seis categorias. Os principais efeitos são atrasos na entrega, retrabalho e baixa qualidade externa. Conclusão: A lista de causas e efeitos juntamente com as suas categorias foi organizada em um conjunto de diagramas de causa e efeito que podem auxiliar os profissionais de software no gerenciamento da DT. Palavras-chave: Dívida técnica, dívida técnica relacionada a testes, teste de software, causas da dívida técnica, efeitos da dívida técnica, diagramas probabilísticos de causa e efeito.


  • Mostrar Abstract
  • Context: The term Technical Debt (TD) refers to activities deferred during the development of the software project. TD can be compared to a financial debt whose debtor has the option of paying the principal amount of the debt with interest. Several initiatives have sought to identify the causes and effects associated with TD. Among them, the InsightTD project has carried out a survey in several countries to collect evidence on the state of TD practice. One of the results obtained by the project was the list of causes and effects of TD reported by software professionals. TD can be incurred at any stage of development, such as software testing. This activity aims to ensure the quality of the software being developed. However, both the project and the technical literature have not addressed the TD items that occur in software testing activities. Objective: To investigate, from the point of view of software testing professionals, the types of TD associated with test-related TD, the causes that lead to it and the effects of its existence. Method: A replication of the survey of the InsighTD project was carried out with software testing professionals in Brazil. In addition, responses from software professionals collected in the first execution of the survey were used. Thus, 54 responses from participants in the Brazilian software industry were collected and analyzed, quantitatively and qualitatively. Result: This study highlights the point of view of testing professionals on TD. It was noticed that test-related debt items are related to different types of TD, such as documentation, code, and the test debt itself. Sixty-one causes of TD were identified and organized into eight categories. The main causes identified were deadlines, outdated/incomplete documentation and inadequate planning. Forty-five TD effects were identified and grouped into six categories. The main effects are delivery delays, rework and poor external quality. Conclusion: The list of causes and effects along with their categories was organized into a set of cause and effect diagrams that can help software professionals in managing TD. 

Teses
1
  • CLEBER JORGE LIRA DE SANTANA
  • Uma arquitetura baseada em microserviços reativos para o deenvolvimento de aplicações IoT confiáveis

  • Orientador : CASSIO VINICIUS SERAFIM PRAZERES
  • MEMBROS DA BANCA :
  • CASSIO VINICIUS SERAFIM PRAZERES
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • NABOR DAS CHAGAS MENDONÇA
  • PAULO DE FIGUEIREDO PIRES
  • THAÍS VASCONCELOS BATISTA
  • Data: 09/03/2021

  • Mostrar Resumo
  • A Internet das Coisas mudou o escopo da Internet e se tornou uma rede que conecta uma grande quantidade de dispositivos de diferentes tipos. A integração desses dispositivos heterogêneos promove novos serviços e aplicações, geram informações de valor agregado e conhecimento para o usuário final. O desenvolvimento de aplicações e serviços IoT e o cumprimento de seus requisitos de qualidade de serviço, como confidencialidade, interoperabilidade, escalabilidade, capacidade de evolução, adaptabilidade e confiabilidade apresentam vários desafios. Esses desafios são impostos principalmente pela larga escala da IoT, a natureza heterogênea das aplicações e dispositivos e o ambiente altamente dinâmico. Hoje em dia, o padrão de microsserviços tem sido aplicado com sucesso por empresas como Netflix e SoundCloud para resolver alguns desses problemas no contexto das acplicações da computação em nuvem. No entanto, no campo da IoT, a ampla adoção desses microsserviços ainda enfrenta alguns obstáculos a serem resolvidos a fim de atingir os benefícios potenciais dessa abordagem. O objetivo deste trabalho é propor uma arquitetura baseada em microsserviços reativos para o desenvolvimento de aplicações IoT. A arquitetura proposta consiste em um conjunto de componentes de software, ajustados para atender aos requisitos típicos de aplicações IoT que demandam alta disponibilidade. Além disso, a proposta inclui uma plataforma de software que materializa vários de seus componentes e auxilia, em tempo de execução, a atender o requisito de disponibilidade das aplicações IoT. Aplicamos nossa proposta em um cenário do mundo real no domínio da smart agriculture e em um cenário simulado no domínio smart water. Os resultados experimentais concluem que nossa abordagem melhora a disponibilidade, minimiza a latência e maximiza a taxa de transferência e aumenta a precisão significativamente, em comparação com outro estudo. Também realizamos uma avaliação de desempenho sob duas perspectivas. A primeira perspectiva está relacionada à avaliação da aplicação IoT por meio de diferentes políticas de implantação, que visavam mostrar como os componentes da arquitetura utilizados em microsserviços podem impactar o uso de recursos computacionais. A segunda perspectiva está relacionada à avaliação da aplicação IoT que utiliza os componentes da arquitetura proposta em um cenário no qual aumentamos o tráfego de dados IoT. Os resultados da avaliação de desempenho nas duas perspectivas mostram que a aplicação IoT permaneceu funcional durante a análise realizada.


  • Mostrar Abstract
  • The Internet of Things has changed the scope of the Internet and it has become a network connecting a myriad of devices of different types. The integration of these heterogeneous devices fosters novel services and applications, generates value-added information and actionable knowledge for the end user.  Developing IoT applications and services and fulfill their quality of service requirements, such as confidentiality, interoperability, scalability, evolvability, adaptability, and reliability pose multiple challenges. These challenges are imposed mainly by the ultra large scale of the IoT, the heterogeneous nature of applications and devices, and the highly dynamic environment. Nowadays, the microservices pattern has been successfully applied by companies such as Netflix and SoundCloud to address some of these issues in the context of cloud computing applications.  However, in the IoT field, the wide adoption of this Microservices still faces some obstacles to be solved in order to achieve the potential benefits of such approach. The goal of this work is to propose an architecture based on reactive Microservices for the development of IoT applications. The proposed architecture consists of a set of software components, tailored to meet the typical requirements of IoT applications that demand high availability. In addition, the proposal includes a software platform that materializes several of its components and help, at runtime, to meet the availability requirement of IoT applications. We applied our proposal in a real-world scenario in the field of Smart Agriculture and in a simulated scenario in the field of Smart Water. The experimental results conclude that our approach improves availability, minimizes latency and maximizes throughput, and increases accuracy significantly, in comparison to another study. We also carried out a performance evaluation from two perspectives. The first perspective is related to the evaluation of the IoT application through different deployment policies, which aimed to show how the architecture components used in microservices can impact the use of computational resources. The second perspective is related to the evaluation of the IoT application that uses the components of the proposed architecture in a scenario in which we increased the traffic of IoT data. The results of the performance evaluation in the two perspectives show that the IoT application remained functional during the analysis performed.

2
  • JOÃO PAULO DIAS DE ALMEIDA
  • Explorando Dados Abertos para Melhoria de Aplicações de Busca Espacial baseado em Palavras-Chave

  • Orientador : FREDERICO ARAUJO DURAO
  • MEMBROS DA BANCA :
  • CARLOS ANDRÉ GUIMARÃES FERRAZ
  • CARLOS EDUARDO SANTOS PIRES
  • DANIELA BARREIRO CLARO
  • FREDERICO ARAUJO DURAO
  • VANINHA VIEIRA DOS SANTOS
  • Data: 03/05/2021

  • Mostrar Resumo
  • A popularização das redes sociais e aplicativos para smartphones impulsionam a disponibilidade de dados na Web. Nesta extensa quantidade de dados, existe um tipo de dado específico conhecido como dado espacial. Este dado é a representação de um objeto físico a partir de coordenadas espaciais (e.g. latitude e longitude). Eles são críticos em um grande número de aplicações. Por exemplo, uma usuária pode ser avisada de uma emergência utilizando aplicativos baseados em dados espaciais. Estima-se que 80% de todos os aplicativos baseados em dados possuem dados geo-referenciados. Consultas espaciais são amplamente empregadas para manipular este tipo de dado eficientemente. Entretanto, o usuário tem um papel importante no processo de recuperação dos dados espaciais. Por décadas, pesquisadores propuseram técnicas para auxiliar usuários a expressar as suas necessidades. Dentre estas técnicas, pode-se citar os modelos booleanos, correspondência de padrões e expansão de consulta. Apesar da existência de alternativas importantes, faltam soluções aplicadas às consultas preferenciais por palavras-chave. O top-k Spatial Keyword Preference Query (SKPQ) surge como uma solução potencial para auxiliar usuários a encontrar pontos de interesse (POIs). O SKPQ seleciona POIs considerando a descrição de locais na vizinhança. Em essência, o usuário define uma restrição espacial (i.e. raio) e textual (i.e. palavras-chave) a ser satisfeita. Nesse contexto, esta tese propõe estratégias para melhorar a recuperação de informação proporcionada pela SKPQ e consultas similares. A contribuição desta tese pode ser dividida em três etapas. Na primeira, dois repositórios Linked Open Data (LOD) são explorados para melhorar a descrição dos POIs e suas vizinhanças. A descrição do POI no LOD contém mais informação do que nos bancos de dados espaciais tradicionais, o que leva a uma descrição mais detalhada. Na segunda etapa, os resultados da consulta são personalizados para apresentar os melhores POIs para o usuário nas primeiras posições do ranking. Ao explorar comentários relacionados aos POIs, o sistema identifica o objeto que melhor satisfaz o usuário da consulta e reordena o ranking de acordo com a preferência dele. Na terceira etapa, utilizamos uma função probabilística para descrever a preferência por POIs próximos um do outro. Esta função probabilística é incorporada à função de ranqueamento para que a busca também considere esta preferência. Por fim, avaliamos separadamente cada estratégia proposta nesta tese. A primeira estratégia alcançou melhora de 20% no NDCG ao utilizar palavras-chave aleatórias. Assim como encontrou POIs onde não era possível encontrar com a SKPQ. A segunda estratégia adiciona melhora de 92% no NDCG. Enquanto a terceira estratégia melhora a consistência do rank, alcançando aumento no coeficiente Tau de 52%.


  • Mostrar Abstract
  • Nowadays information is an essential resource in various sectors of the economy. The popularization of social networks, smartphone applications, and online services has increased the volume of data available online. Among this extensive amount of information, there is a specific data type called spatial data. It represents a physical object using its spatial coordinates (e.g. latitude and longitude). Spatial data is critical in a large number of application domains (e.g. land use, transportation plan). For instance, the user can find points of interest (POIs) or be warned of critical situations by spatial data applications like web search engines or emergency response applications. It’s been asserted that 80% of all data business has some locational reference. Spatial queries are widely employed to manipulate spatial data more efficiently. However, the user has a crucial role in the spatial information retrieval process when querying the needed information. For decades, researchers have proposed several techniques to aid users in expressing their information needs, such as Boolean models, pattern matching operators, and query expansion. Despite the existence of relevant alternatives in the field, there is still a lack of solutions applied to keyword preference queries. The Spatial Keyword Preference Query (SKPQ) arises as a potential solution to assist users in finding POIs. SKPQ selects POI based on the description of features in their neighborhood. In essence, the user defines a spatial (i.e. radius) and textual (i.e. query keywords) constraint to be satisfied. In this context, this thesis aims at proposing strategies to improve SKPQ results. The contribution is threefold. First, two Linked Open Data (LOD) repositories (i.e. DBpedia and LinkedGeoData) are exploited to improve the features description. The feature description in LOD contains more information than traditional spatial databases, leading to a more detailed description. Second, the query results are personalized to present the best POIs for the underlying user. By exploiting reviews on POIs, the system identifies the object that best satisfies the user and re-order the rank with respect to the user preference. Third, we model the user preference in visiting locations near to each other using a probabilistic function. This function is incorporated into the ranking function to retrieve POIs considering this user preference. We evaluate each technique employed in this proposal separately. The first technique achieves a relative NDCG improvement of  20% when using random query keywords. Also, it finds POIs where SKPQ is unable to find. The second technique further improves the relative NDCG by 92%. Finally, the third technique improves the rank consistency achieving a Tau performance of 52%.

3
  • JÔNATAS FERREIRA BASTOS
  • UNDERSTANDING TEST EVOLUTION: FROM HIGHLY-CONFIGURABLE SYSTEMS TO SOFTWARE ECOSYSTEMS

  • Orientador : EDUARDO SANTANA DE ALMEIDA
  • MEMBROS DA BANCA :
  • EDUARDO SANTANA DE ALMEIDA
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • RODRIGO ROCHA GOMES E SOUZA
  • GUSTAVO HENRIQUE LIMA PINTO
  • MARCELO BEZERRA D'AMORIM
  • Data: 04/05/2021

  • Mostrar Resumo
  • Software evolution is inevitable if the systems are planned to survive in the long-term. Equally, well-understood is the necessity of having a good test suite available to ensure the quality of the current state of the software system and to ease future changes. This is especially true in the context of reusable systems since they are planned to attend for a long time a specific market niche and need to support a large number of configuration options. However, developing and maintaining a test suite is time-intensive and costly. This situation is challenging for the projects: on the one hand, tests are essential for the success of software; on the other hand, tests become a severe burden during maintenance. Even though a substantial body of literature has studied testing in reusable environments, test evolution analysis has not been addressed. In general, researchers have looked into analyzing test strategies, dynamic test selection techniques, and co-evolution of tests along with other systems artifacts. This thesis intends to improve the test evolution body of knowledge in reusable systems, investigating characteristics that indicate the effort to develop and maintain the test suite and unveiling how the reusable aspects affect the tests. The set of evidence can help researchers and practitioners to better planning the test development and evolution. This way, we employed a multi-method approach to develop the understanding of test evolution in configurable systems and unveil evidence on the topic from various sources. In the first phase of the research program, we provided an overview of the existing research related to this thesis’s subjects and presented related work to our investigation. The second phase was composed of four empirical studies. First, we performed a case study to analyze the test evolution of a large configurable system. Next, we performed a comparative study to evaluate the test evolution in 18 open-source projects from various sizes and domains in configurable systems and their similarities and differences to 18 Single Systems (SS) projects. Third, we conducted an extended study to analyze the test suite evolution in another category of reusable systems to verify whether some observations are recurring and gather new data that support the findings. Finally, we surveyed test contributors to investigate the test evolution from the development point of view and improve the findings in previous stages. This work collected a set of findings of test evolution, and these findings were strengthened by using different research methods. Our work provided a better understanding of test evolution in configurable systems by documenting evidence observed in open-source projects and test contributors. Moreover, in this Thesis, we synthesized the gathered evidence and identified open issues in this research topic. These findings are an important step to establish guidelines for addressing test evolution in configurable systems.


  • Mostrar Abstract
  • Software evolution is inevitable if the systems are planned to survive in the long-term. Equally, well-understood is the necessity of having a good test suite available to ensure the quality of the current state of the software system and to ease future changes. This is especially true in the context of reusable systems since they are planned to attend for a long time a specific market niche and need to support a large number of configuration options. However, developing and maintaining a test suite is time-intensive and costly. This situation is challenging for the projects: on the one hand, tests are essential for the success of software; on the other hand, tests become a severe burden during maintenance. Even though a substantial body of literature has studied testing in reusable environments, test evolution analysis has not been addressed. In general, researchers have looked into analyzing test strategies, dynamic test selection techniques, and co-evolution of tests along with other systems artifacts. This thesis intends to improve the test evolution body of knowledge in reusable systems, investigating characteristics that indicate the effort to develop and maintain the test suite and unveiling how the reusable aspects affect the tests. The set of evidence can help researchers and practitioners to better planning the test development and evolution. This way, we employed a multi-method approach to develop the understanding of test evolution in configurable systems and unveil evidence on the topic from various sources. In the first phase of the research program, we provided an overview of the existing research related to this thesis’s subjects and presented related work to our investigation. The second phase was composed of four empirical studies. First, we performed a case study to analyze the test evolution of a large configurable system. Next, we performed a comparative study to evaluate the test evolution in 18 open-source projects from various sizes and domains in configurable systems and their similarities and differences to 18 Single Systems (SS) projects. Third, we conducted an extended study to analyze the test suite evolution in another category of reusable systems to verify whether some observations are recurring and gather new data that support the findings. Finally, we surveyed test contributors to investigate the test evolution from the development point of view and improve the findings in previous stages. This work collected a set of findings of test evolution, and these findings were strengthened by using different research methods. Our work provided a better understanding of test evolution in configurable systems by documenting evidence observed in open-source projects and test contributors. Moreover, in this Thesis, we synthesized the gathered evidence and identified open issues in this research topic. These findings are an important step to establish guidelines for addressing test evolution in configurable systems.

4
  • FLAVIA MARISTELA SANTOS NASCIMENTO
  • Uma Abordagem Flexível para Escalonar Tarefas Hard e Soft em Sistemas de Tempo Real Multiprocessados

  • Orientador : GEORGE MARCONI DE ARAUJO LIMA
  • MEMBROS DA BANCA :
  • GEORGE MARCONI DE ARAUJO LIMA
  • VINICIUS TAVARES PETRUCCI
  • DANIEL MOSSÉ
  • KONSTANTINOS BLETSAS
  • LILIANA CUCU-GROSJEAN
  • Data: 28/06/2021

  • Mostrar Resumo
  • O número crescente de aplicações modernas, que dependem da capacidade de CPUs multicore, tem impulsionado a área de sistemas de tempo real para a arquitetura de multiprocessada. Na verdade, tais aplicações podem ser encontradas em diversas áreas, tais como como automotiva, aviação e indústria de eletrônicos, sendo a maioria delas composta por serviços críticos (hard) e não críticos (soft).

    Para sistemas de tempo real multiprocessados, que lidam com tarefas hard e soft, o foco está em minimizar o tempo de resposta das tarefas soft, sem comprometer as restrições temporais das tarefas hard. Diversas abordagens de escalonamento foram propostas para lidar com estes dois tipos de tarefa em um único processador, enquanto para ambientes multiprocessados tais abordagens são menos comuns e são tipicamente extensões dos mecanismos descritos para sistemas monoprocessados.

    Este trabalho descreve uma abordagem de escalonamento flexível, projetada para sistemas de tempo real multiprocessados, compostos por tarefas hard e soft. De acordo com a abordagem proposta, as tarefas hard são atribuídas aos processadores de maneira off-line e não migram durante sua execução. Para tarefas soft duas configurações são possíveis. Elas podem ser alocadas na fila local de cada processador, e neste caso a migração não é permitida, ou podem estar numa fila global, sendo acessada por todos os processadores. A abordagem de escalonamento descrita nesta tese está fortemente ligada ao conceito de servidores, que funcionam como entidades de escalonamento (proxies), sendo responsáveis por escalonar tarefas (ou outros servidores) que estejam associados a ele. Dois servidores especiais são descritos: o single client server e o slack server. Juntos, estes servidores são capazes de (a) encapsular tarefas soft para que sua execução não coloque em risco os requisitos temporais das tarefas hard e (b) reclamar a folga não utilizadas para favorecer a execução de tarefas soft. Com isso, o tempo médio de resposta das tarefas soft é melhorado, sem comprometer os requisitos temporais das tarefas hard.

    O uso das abordagens de escalonamento descritas nesta tese, em ambas as configurações, fornece melhorias nas métricas relacionadas a QoS para tarefas soft, tais como a taxa de perda de deadline e tempo médio de resposta, sem com isso comprometer as garantias temporais das tarefas hard. Os experimentos mostraram uma redução de até 27% na taxa de perda de deadline e uma redução de até 14% no tempo médio de resposta das tarefas soft. Tais resultados indicam que a capacidade de processamento disponível deixada sem uso por tarefas hard pode ser usada efetivamente para executar tarefas soft. Além disso, a abordagem proposta se mostrou flexível, podendo ser adaptada a outras políticas de escalonamento baseadas em EDF de maneira simples.


  • Mostrar Abstract
  • The increasing number of modern applications, that rely on the processor capacity of multicore CPUs, has been pushing the area of real-time systems towards multiprocessor architecture. In fact, such applications are present in a wide variety of areas, such as automotive, avionics and personal electronics industries, most of them being composed of both time critical (hard) and non-critical (soft) services.
    Indeed, for multiprocessor real-time systems that deal with both hard and soft tasks, one is interested in minimizing the response time of the soft tasks, while not jeopardizing timeliness of hard tasks. Several scheduling approaches have been proposed to deal with hard and soft tasks on a single processor, while for a multiprocessor environment such approaches are less common and are typically extensions of the mechanisms described for uniprocessor systems.

    This work describes a flexible scheduling approach designed for multiprocessor real-time systems composed of both hard and soft tasks. According to the proposed approach, hard tasks are assigned to processors in an off-line manner and do not migrate during their execution. As for soft tasks, two main configurations are possible. They may be placed either in each processor's local queue, for which migration is not allowed, or in a global queue, being accessed by all processors. The scheduling approach described in this thesis is strictly linked to the concept of servers, which are scheduling proxies responsible for scheduling the tasks (or other servers) assigned to them. Two special servers are described, whose definition, rules and correctness proof are also presented in this thesis. Together, these servers are able to (a) encapsulate soft tasks so that their execution does not put at risk the timing requirements of hard tasks and to (b) reclaim system unused slack to favor the execution of soft tasks. By doing so, the average response time of soft tasks are improved, without jeopardizing the timeliness of hard tasks.

    It is shown that by using the scheduling approach described in this thesis, in both configurations, improves the QoS-related metrics for soft tasks, such as deadline miss ratio and average response time, without compromising timeliness guarantees for hard tasks. The experiments has shown a reduction of up to $27\%$ in the deadline miss ratio and a reduction of up to $14\%$ in the average response time of the soft tasks.Such results indicate that the available processing capacity left unused by hard tasks can be effectively used for executing soft tasks.Additionally,  the proposed approach has shown to be flexible enough to be adapted to other EDF-based scheduling policies at low cost..
5
  • RAFAEL LIMA COSTA
  • Tactful Networking as a cornerstone for Opportunistic Human-Aware D2D Communication

  • Orientador : LEOBINO NASCIMENTO SAMPAIO
  • MEMBROS DA BANCA :
  • ALINE CARNEIRO VIANA
  • EDUARDO COELHO CERQUEIRA
  • FABIOLA GONCALVES PEREIRA GREVE
  • LEOBINO NASCIMENTO SAMPAIO
  • RICARDO ARAUJO RIOS
  • Data: 03/08/2021

  • Mostrar Resumo
  • Dentre os desafios das redes móveis, há um aumento do tráfego de dados, um número crescente de dispositivos conectados, limitações de espectro e altos custos de atualizações de infraestrutura. Nesse contexto, a comunicação oportunística dispositivo-a-dispositivo (do inglês device-to-device D2D) surge como uma solução para descarregar dados, aumentar a capilaridade, entregar conteúdo em cenários específicos (por exemplo, emergência) e alavancar aplicações e serviços inovadores. Padrões anteriores como LTE discutiram D2D amplamente. Ainda assim, pesquisas recentes reforçam que 5G/6G serão os verdadeiros habilitadores do D2D, dada a possibilidade mais recente de extrair um grande conjunto de dados de comportamento humano através dos dispositivos móveis de usuários. No estado da arte, algoritmos de encaminhamento oportunístico via D2D extraíram características de mobilidade humana para melhorar a relação custo-benefício da entrega de conteúdo. No entanto, a maioria das iniciativas lidou com métricas tradicionais, devido a restrições como disponibilidade limitada de conjuntos de dados reais ou a falta de uma visão de rede centrada no ser humano. As soluções de próxima geração precisam de uma visão mais aprofundada dos aspectos humanos ocultos em conjuntos de dados. Além disso, cenários úteis para as operadoras de celular carecem de avaliação. Para tanto, esta tese~\textit{orienta o leitor em todo o processo de construção de uma nova Estratégia de Comunicação Oportunistística Ciente do Humano (TOOTS)}. TOOTS utiliza padrões de encontros sem fio, consciência temporal, espacial, geográfica e de direção para melhorar o custo-benefício da entrega de conteúdo em um cenário de redes móveis. A proposta consiste em: aprender as melhores práticas do estado da arte do aspecto humano; obter ideias para melhorar o desempenho da estratégia; usar, propor e analisar métricas ciente do humano; combinar métricas e percepções sobre a estratégia visando um desempenho aprimorado em um cenário móvel mais realista, e, finalmente, avaliar a estratégia por meio de seus pontos fortes e fracos. Esta tese mostra que ao seguir esse processo, TOOTS melhorou o desempenho de um cenário de entrega de conteúdo oportunístico em termos de sobrecarga, taxa de entrega e latência. Primeiro, para alcançar os resultados, fazemos um levantamento do aspecto humano nas soluções de rede há mais de uma década. Descobrimos que há uma evolução na forma como os humanos se relacionam com os desafios da rede. Essa visão mais ampla da consciência humana culmina na perspectiva do Tactful Networking, paradigma que apresentamos a seguir, incluindo discussões sobre exemplos de aplicações e ideias. Concluímos a revisão da literatura discutindo estratégias de encaminhamento oportunístico de última geração, incluindo suas contribuições, lacunas e questões em aberto. Em segundo lugar, discutimos uma estrutura para extrair dados humanos brutos ocultos em conjuntos de dados. Um estudo de caso com o conjunto de dados MACACO valida a estrutura por meio de resultados e análises de caracterização do trace (i.e., conjunto de dados). A seguir, caracterizamos os traces MACACO, NCCU e GRM para trazer ideias e validar a TOOTS. As métricas da estratégia apresentada e analisada vêm dos resultados e percepções da caracterização de tais conjuntos de dados. Terceiro, apresentamos o TOOTS, visando custo-benefício na entrega de conteúdo em um cenário móvel. Posteriormente, apresentamos a definição formal para a escolha do problema dos nós disseminadores (1ª fase do TOOTS). Como motivação, analisamos a sobrecarga e a latência do encaminhamento Epidêmico. Posteriormente, apresentamos as duas fases do TOOTS: uma Política de Disseminação Ciente do Humano e um algoritmo de encaminhamento. Finalmente, comparamos a eficácia do TOOTS em suas duas fases com algoritmos aprimorados Store-wait-forward, Epidêmico e Bubble Rap por meio de conjuntos de dados reais e sintéticos. Entre os principais resultados, em um cenário com um alcance de comunicação de 30~m, TOOTS atingiu taxa de entrega de 100\% com 28\% e 73\% menos latência; e com sobrecarga (i.e., overhead) reduzida de 16\% e 27\%, respectivamente, no conjunto de dados reais e sintético. Com um alcance restrito (10~m), TOOTS foi a estratégia mais rápida e a única que entregou 100\% do conteúdo dentro do conjunto de dados real. Consequentemente, esta tese contribui para abordar o problema de entrega oportunística de conteúdo em redes celulares, fornecendo uma solução ciente do humano com custo x benefício. A estratégia pode ser aplicada em diferentes cenários para auxiliar a operadora na entrega de conteúdo sem necessariamente usar sua rede legada, por exemplo, explorando a capilaridade de seus usuários móveis, para descarregamento de dados e outras aplicações.


  • Mostrar Abstract
  • Among the mobile network challenges, there is data traffic growth, an increasing number of connected devices, spectrum limitations, and costly infrastructure updates. In this context, opportunistic D2D communication appears as a solution to offload data, increase capillarity, deliver content in specific scenarios (e.g., emergency) and foster innovative applications and services. Previous standards like LTE discussed D2D broadly. Still, recent research remarks that 5G/6G will be D2D's real enablers, given the possibility of using human-behavior big data from users' devices. Previous opportunistic D2D forwarding algorithms extracted mobility characteristics for improving content delivery cost-effectiveness. Nevertheless, most initiatives dealt with traditional metrics due to constraints, such as limited availability of real traces or the lack of a human-centered networking vision. Next-generation solutions need a more in-depth vision of human aspects hidden into datasets. Moreover, scenarios practical to mobile carriers lack evaluation. To this end, this thesis~\textit{guides the reader through the whole process for building a novel Tactful Opportunistic COmmunicaTion Strategy (TOOTS)}. TOOTS leverages wireless encounter patterns, temporal, spatial, geographic, and direction awareness to improve cost-effectiveness content delivery in a mobile networks scenario. The proposal consists of: learning human-aspect state-of-art best practices; achieving insights to improve strategy's performance; using, proposing, and analyzing human-aware metrics; combining metrics and insights into the strategy targeting an improved performance in a more realistic mobile scenario; and finally, evaluating the strategy through its strengths and shortcomings. This thesis shows that TOOTS improved the performance of an opportunistic content delivery scenario in terms of overhead, delivery rate, and latency by following this process. First, to achieve the results, we survey the human aspect in networking solutions for over a decade. We found that there is an evolution in how the human links to networking challenges. This broader human-aware vision culminates into the Tactful Networking perspective, which we introduce to follow, including discussions concerning application examples and insights. We complete the literature review by discussing state-of-art opportunistic forwarding strategies, including contributions, gaps, and open issues. Second, we discuss a framework for enhancing raw human data hidden into datasets. A case study with the MACACO dataset validates the framework through trace characterization results and analysis. Following, we characterize MACACO, NCCU, and GRM datasets to bring insights and to validate TOOTS. The presented and analyzed strategy's metrics come from such datasets' characterization results and insights. Third, we introduce TOOTS, targeting cost-effective content delivery in a mobile scenario. Afterward, we present the formal definition for choosing the disseminator nodes problem (TOOTS' 1st phase). As motivation, we analyze the overhead and latency of the Epidemic forwarding. Subsequently, we introduce TOOTS' two phases: a Tactful Dissemination Policy and a forwarding algorithm. Finally, we compare TOOTS' effectiveness on its phases with enhanced Store-wait-forward, Epidemic, and Bubble Rap algorithms through real and synthetic traces. Among the main outcomes, in a scenario with a 30~m range, TOOTS reached a 100\% delivery ratio with 28\% and 73\% reduced delivery latency, and with 16\% and 27\% reduced overhead, respectively, in the real and synthetic datasets. With a restricted (10~m) range, TOOTS was the fastest strategy and the only one that delivered 100\% of the contents within the real trace. Consequently, this thesis contributes to addressing the opportunistic content delivery problem in cellular networks by providing a cost-effective human-aware opportunistic solution. The strategy can be applied in different scenarios to assist the operator in delivering content without not necessarily using their legacy network, e.g., by exploring the capillarity of their mobile users, for data offloading and other applications.

6
  • MARCOS BARBOSA DÓSEA
  • Valores Limiares de Métricas Sensíveis a Design baseados em Papéis de Design

  • Orientador : CLAUDIO NOGUEIRA SANT ANNA
  • MEMBROS DA BANCA :
  • CLAUDIO NOGUEIRA SANT ANNA
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • MANOEL GOMES DE MENDONCA NETO
  • MAURÍCIO FINAVARO ANICHE
  • MARCELO DE ALMEIDA MAIA
  • Data: 16/08/2021

  • Mostrar Resumo
  • O estado da arte das técnicas para identificação de anomalias de código são baseadas na análise de métricas do código. Entretanto, muitas dessas técnicas possuem baixa acurácia. Uma possível razão é porque os elementos do código-fonte, tais como métodos, implementados com diferentes decisões de design, são avaliados usando os mesmos valores limiares para cada métrica. Outra possível razão é que estes valores limiares são geralmente derivados de classes que foram desenvolvidas usando decisões de design distintas. Usar valores limiares genéricos e que não consideram o contexto de design de cada classe avaliada pode gerar muitos falsos positivos e falsos negativos para os desenvolvedores de software. Nosso objetivo é considerar o papel de design desempenhado por cada classe do sistema como contexto para derivar valores limiares e detectar anomalias de código. Nossa principal hipótese é que valores limiares que consideram o papel de design da classe como contexto, podem apontar anomalias de código mais relevantes para os desenvolvedores de software. Nós conduzimos alguns estudos experimentais para definição de duas técnicas que consideram o papel de design como contexto. Primeiro, nós executamos uma survey de larga escala que mostrou que profissionais possuem dificuldades para ajustar ferramentas de análise estática de código nos seus processos de desenvolvimento de software. Uma possível razão reconhecida pelos profissionais é que muitas dessas ferramentas usam um valor limiar genérico para cada métrica que pode não ser adequado para avaliar todas as classes do sistema. Segundo, nós definimos uma heurística para identificar o principal papel de design de cada classe e conduzimos um estudo empírico para investigar a influência de algumas decisões de design na distribuição dos valores das métricas de software. Nossas descobertas mostram que as decisões de design que mais influenciaram na distribuição dos valores das métricas foram: (i) papel de design de classe (ii) bibliotecas utilizadas, (iii) estilo de codificação, (iv) estratégia de codificação usada para tratamento de exceção, e (v) estratégia para realizar log e depuração do código. Portanto, essa decisões de design poderiam ser consideradas como contexto para derivar valores limiares. Nós usamos essas descobertas para propor duas novas técnicas para derivar valores limiares sensíveis ao design do sistema usando os papéis de design da classe como contexto. Em seguida, realizamos dois estudos experimentais para avaliar as técnicas propostas. O primeiro estudo mostrou que as técnicas melhoraram a precisão de acordo com as percepções dos desenvolvedores. Como é impossível e cansativo fazer uma avaliação completa da qualidade do código-fonte com os desenvolvedores, conduzimos um segundo estudo explorando a evolução dos projetos de software de domínios arquiteturais populares. Descobrimos que nossas técnicas melhoraram o \emph{recall} para apontar métodos efetivamente refatorados durante a evolução do software.


  • Mostrar Abstract
  • State-of-the-art techniques and Automated Static Analysis Tools (ASATs) for identifying code smells rely on metric-based assessment. However, most of these techniques have low accuracy. One possible reason is that source code elements, such as methods implemented according to different design decisions, are assessed through the same generic threshold for each metric. Other possible reason is that these metric thresholds are usually derived from classes driven by different design decisions. Using generic metric thresholds that do not consider the design context of each evaluated class can generate many false positives and false negatives for software developers. Our goal is to propose design-sensitive techniques to derive contextual metric thresholds. Our primary hypothesis is that using the design role played by each system class to define this context may point out more relevant code smells to software developers. We conducted some empirical studies to define the proposed techniques. Firstly, we performed a large-scale survey that showed that practitioners recognize difficulties in fitting ASATs into the software development process. They also claim that there is no routine for application. One possible reason practitioners recognize that most of these tools use a single metric threshold, which might not be adequate to evaluate all system classes. Secondly, we conducted an empirical study to investigate whether fine-grained design decisions also influence the distribution of software metrics and, therefore, should be considered to derive metric thresholds. Our findings show that the distribution of metrics is sensitive to the following design decisions: (i) design role of the class (ii) used libraries, (iii) coding style, (iv) exception handling, and (v) logging and debugging code mechanisms. We used these findings to propose two new techniques to derive design-sensitive metric thresholds using the class design role as context. Then, we carried out two large-scale empirical studies to evaluate them. The first study showed that our proposed techniques improved precision according to developers' perceptions. Since it is impossible and tiring to perform a complete source code quality assessment with developers, we conducted a second study mining the evolution of software projects from popular architectural domains. We found that our techniques improved recall to point out methods effectively refactored during software evolution.

7
  • ERIC BERNARDES CHAGAS BARROS
  • Jemadar-AI: um framework baseado na névoa para o gerenciamento de energia de uma Microgrid

  • Orientador : MAYCON LEONE MACIEL PEIXOTO
  • MEMBROS DA BANCA :
  • MAYCON LEONE MACIEL PEIXOTO
  • GUSTAVO BITTENCOURT FIGUEIREDO
  • LEOBINO NASCIMENTO SAMPAIO
  • LUIZ FERNANDO BITTENCOURT
  • EDWARD DAVID MORENO ORDONEZ
  • Data: 23/09/2021

  • Mostrar Resumo
  • O constante aumento da demanda de energia elétrica e a redução dos meios convencionais de produção apontam para uma futura crise energética. Um dos fatores que impacta na crescente demanda é o consumo descontrolado, gerando um despacho de energia cada vez maior para atender as necessidades do consumidor. Dessa forma, a produção precisa utilizar uma maior quantidade das fontes de energia, principalmente nos horários de pico de consumo. Para controlar a demanda, técnicas de gerenciamento da demanda estão sendo usadas pelos consumidores a fim de reduzir os períodos de pico e as contas de energia. Do mesmo modo, a produção de energia pode combinar o uso de fontes de energia renováveis e não-renováveis com foco na redução da produção de energia não-renovável. Nesse cenário, a produção inteligente de energia necessita de um controle automatizado para evitar as perdas de energia. Atualmente, diversas pesquisas propõem o uso de algoritmos de otimização para o escalonamento de equipamentos elétricos como uma solução do gerenciamento da demanda, de forma que o uso dos equipamentos são escalonados para evitar os períodos de pico de energia. Também têm sido propostas pesquisas sobre o uso do controle Proporcional-Integral-Derivativo - (PID) para equilíbrio da produção renovável e não-renovável. Entretanto, poucas pesquisas consideram a utilização da névoa com o auxílio da nuvem para realizar o processamento desses algoritmos. Dessa forma, este trabalho propõe o framework JEMADAR-AI para lidar com o tráfego de dados das redes elétricas. JEMADAR-AI realiza o treinamento de duas redes neurais baseadas em aprendizado por reforço: (i) a primeira faz o escalonamento de energia; (ii) a segunda ajusta o controlador PID dinamicamente. Para isso, JEMADAR-AI utiliza uma arquitetura que combina a computação em névoa com a computação em nuvem com o objetivo de reduzir tempos de respostas das solicitações. Os resultados obtidos por meio da avaliação de desempenho mostraram que a utilização do JEMADAR-AI reduz em até 19% a potência elétrica nos horários de pico e 21,6% os valores das contas de energia quando comparados com cenários que não realizam nenhuma otimização.


  • Mostrar Abstract
  • The constant increase in demand for electricity and the reduction of conventional means of production point to a future energy crisis. One of the factors that impact the growing demand is uncontrolled consumption, generating an increasing energy dispatch to meet the consumer's needs. Thus, production needs to use a greater amount of energy sources, especially during peak consumption hours. To control demand, demand management techniques are being used by consumers to reduce peak periods and energy bills. Likewise, energy production can combine the use of renewable and non-renewable energy sources with a focus on reducing non-renewable energy production. In this scenario, intelligent energy production requires automated control to avoid energy losses. Currently, several researchers propose the use of optimization algorithms for electrical equipment scheduling as a demand management solution, so the use of equipment be displaced to avoid peak energy periods. Research has also been proposed on the use of the Proportional-Integral-Derivative (PID) control to balance renewable and non-renewable production. However, few researchers consider fog computing with the help of the cloud to perform the processing of these algorithms. Thus, this work proposes the JEMADAR-AI framework to deal with the data traffic of electrical networks. JEMADAR-AI trains two neural networks based on reinforcement learning: (i) the first one to performs equipment scheduling; (ii) the second adjusts the PID controller dynamically. For this, JEMADAR-AI uses an architecture that combines fog computing with cloud computing to reduce request response times for equipment scheduling and power adjustment requests. The results obtained through the performance evaluation showed that the use of JEMADAR-AI reduces up to 19% the electrical power at peak hours and 21.6% the values of the energy bills when compared with scenarios that do not perform any optimization.

8
  • LAECIO ARAUJO COSTA
  • SapeS: Uma arquitetura de avaliação do desempenho acadêmico na Educação à Distância baseada em Learning Analytics e Ontologias

  • Orientador : MARLO VIEIRA DOS SANTOS E SOUZA
  • MEMBROS DA BANCA :
  • MARLO VIEIRA DOS SANTOS E SOUZA
  • ECIVALDO DE SOUZA MATOS
  • FREDERICO LUIZ GONÇALVES DE FREITAS
  • LEÔNIDAS DE OLIVEIRA BRANDÃO
  • PAULEANY SIMOES DE MORAIS
  • Data: 28/09/2021

  • Mostrar Resumo
  • A Educação a Distância, acompanhada pela evolução das Tecnologias de Informação e Comunicação, vem apresentando índices de matrículas superiores às matrículas no ensino tradicional presencial. Aliado a este crescimento, educadores passaram a gerenciar turmas com um número maior de alunos geograficamente distribuídos e, ainda assim, não conseguem aplicar os mesmos mecanismos de avaliação, observação e acompanhamento do aluno utilizados no ensino presencial. Desta forma, surgem desafios aos professores quanto ao acompanhamento do progresso acadêmico dos estudantes pautado no cumprimento dos objetivos educacionais planejados e na avaliação do desempenho acadêmico supervisionando a aquisição de conhecimento. Acompanhar as experiências de aprendizagem dos alunos nos Sistemas de Gerenciamento da Aprendizagem (SGA) para avaliar o desempenho acadêmico e o progresso dos estudantes é um dos desafios mais intensos e exaustivos para os educadores devido a quantidade de dados educacionais produzidos e aos diversos indicadores da aprendizagem disponíveis no SGA. Assim, esta pesquisa objetiva investigar como uma abordagem de monitoramento e avaliação de dados educacionais sobre o percurso acadêmico do aluno no SGA, chamada SapeS, pode impactar positivamente no processo de ensino e aprendizagem na Educação a Distância. A solução proposta processa dados educacionais provenientes do SGA, extrai conhecimento útil e disponibiliza informações para educadores e alunos baseado em técnicas de Learning Analytics e Ontologias Computacionais, norteados por Taxonomia dos Objetivos Educacionais. A solução foi desenvolvida baseada na metodologia Design Science Research (DSR) e aplicada em um contexto real para avaliação junto à população (n=24). Por meio dos dados coletados e análises realizadas, foi verificado que houve uma forte adesão ao uso da ferramenta SapeS proposta e uma diferença significativamente positiva entre os dados coletados em diferentes momentos da investigação. Foram verificados maior engajamento, motivação e participação nas atividades acadêmicas do curso investigado e maior atenção dos docentes quanto a avaliação do percurso do aluno, além da verificação e adequação do planejamento pedagógico em relação à situação dos discentes face aos objetivos educacionais. Este trabalho apresenta contribuições para professores e alunos da Educação a Distância oferecendo suporte ferramental, frente ao grande volume de dados educacionais oriundos do SGA.


  • Mostrar Abstract
  • Distance Learning, along with the evolution of Information and Communication Technology (ICT), has higher enrollment rates than traditional education. With this growth, educators started to manage classes with a more significant number of geographically distributed students. Challenges arise for teachers regarding how to monitor academic progress based on the fulfillment of planned educational objectives and assessing students' academic performance, supervising the acquisition of knowledge. Tracking students' learning experiences in Learning Management Systems (LMS) to assess academic performance and student progress is one of the most intense and exhausting challenges for educators due to the amount of educational data produced and the various learning indicators available on the LMS. Thus, this research aims to investigate how an approach to monitoring and evaluating the student's academic trajectory in the LMS, called SapeS, can positively impact the teaching and learning process in Distance Learning. The proposed solution aims to process educational data from the LMS, extract useful knowledge, and make information available to educators and students with techniques of Learning Analytics and Computational Ontologies, guided by Taxonomy of Educational Objectives. The solution was developed based on the Design Science Research (DSR) methodology and applied in a real context for evaluation with the population (n=24). Through the analysis carried out it was verified that there was a strong adherence to the use of the proposed tool and a significant difference between the data collected at different moments of the investigation. There was a greater engagement, motivation, and participation in the academic activities of the investigated course and greater attention from the teachers regarding the evaluation of the student's trajectory, in addition to checking and adapting the pedagogical planning in relation to the student's situation, and the planned educational objectives.

9
  • JEAN CLEMISSON SANTOS ROSA
  • A Coordenação da Colaboração no SPIDe: mecanismos e práticas de apoio ao codesign de interação

  • Orientador : ECIVALDO DE SOUZA MATOS
  • MEMBROS DA BANCA :
  • ECIVALDO DE SOUZA MATOS
  • DUARTE NUNO JARDIM NUNES
  • RODRIGO FREESE GONZATTO
  • LUCIANA APARECIDA MARTINEZ ZAINA
  • TAYANA UCHÔA CONTE
  • Data: 25/11/2021

  • Mostrar Resumo
  • A criação de artefatos computacionais interativos deve refletir as necessidades, interesses, restrições, modos de trabalho e, sempre que possível, aspectos culturais dos seus potenciais usuários. O SPIDe (Semio-Participatory Interaction Design) foi concebido com a intenção de refletir esses aspectos no produto computacional desenvolvido, por meio de práticas colaborativas de design (codesign). Nesse sentido, a literatura indica que as práticas de codesign favorecem a construção da identidade do produto em relação aos seus potenciais usuários. O codesign manifesta uma perspectiva colaborativa para o design, no sentido em que as pessoas influenciadas na criação e uso de tecnologias devem colaborar na sua criação e desenvolvimento. A colaboração tem três dimensões bem definidas na literatura, conforme o Modelo 3C: cooperação, comunicação e coordenação. A cooperação diz respeito à operação conjunta dos usuários em um espaço compartilhado fazendo uso da comunicação; por sua vez, a comunicação consiste na troca de mensagens para a construção mútua e compartilhada a partir do gerenciamento realizado pela coordenação; já a coordenação define as atividades e o conjunto de objetos que serão manipulados, além de também definir a mídia e o modo de transmissão das mensagens. Ainda que o SPIDe se caracterize como um processo de codesign de interação, há diversos aspectos a serem investigados e melhorados. Um deles diz respeito à coordenação. Portanto, nesta pesquisa buscamos identificar como promover a coordenação da colaboração no SPIDe, de modo a aprimorar a condução e promover a articulação dos seus mecanismos e práticas. Para isso, investigou-se mecanismos e práticas de apoio e promoção da coordenação da colaboração no SPIDe. Metodologicamente, foram conduzidos múltiplos estudos com diversas abordagens de coleta de dados, como revisão sistemática e narrativa da literatura, entrevistas semi-estruturadas, diários de bordo, roda de conversa e Technology Acceptance Model questionnaire e Design Science Research. A análise temática a partir dos dados produzidos fundamentaram os aprimoramentos realizados no SPIDe e relatados neste relatório de tese, como as diretrizes para a condução da técnica braindraw, a construção da ferramenta epistêmica SPIDe\_Canvas e a construção de uma plataforma para a condução online e distribuída do SPIDe. Os resultados desta pesquisa, além de aprimorar o SPIDe, podem auxiliar profissionais e pesquisadores a construírem artefatos computacionais interativos em colaboração com os potenciais usuários de modo divertido, dinâmico e eficaz.


  • Mostrar Abstract
  • The creation of interactive computational artifacts should reflect the needs, interests, restrictions, ways of working, and cultural aspects of their potential users whenever possible. SPIDe (Semio-Participatory Interaction Design) was conceived to reflect these aspects in the developed computational product through collaborative design practices (codesign). In this sense, the literature indicates that codesign practices favor the product's identity concerning its potential users. Codesign expresses a collaborative perspective for design, in the sense that people influenced by the creation and use of technologies must collaborate in its creation and development. Collaboration has three well-defined dimensions in the literature, according to the 3C Model: cooperation, communication, and coordination. The cooperation concerns the joint operation of users in a shared space making use of communication; in turn, communication consists of the exchange of messages for mutual and shared construction based on the management carried out by the coordination; coordination defines the activities and the set of objects that will be manipulated, in addition to defining the media and the mode of transmission of messages. Although SPIDe is characterized as an interaction codesign process, several aspects are to be investigated and improved. One of them concerns coordination. Therefore, in this research, we seek to identify how to promote the coordination of collaboration in SPIDe. To this, we investigated mechanisms and practices to support and promote the coordination of collaboration in SPIDe. Methodologically, we conducted multiple case studies with different data collection approaches, such as systematic review and narrative of literature, semi-structured interviews, logbooks, conversation, and Technology Acceptance Model questionnaire and Design Science Research. The thematic analysis based on the data produced supported the improvements made in SPIDe and reported in this thesis report, such as the guidelines for conducting the braindraw technique, the construction of the epistemic tool SPIDe\_Canvas and the construction of a platform for conducting online and distributed from SPIDe. In addition to improving SPIDe, the results of this research can help professionals and researchers build interactive computational artifacts in collaboration with potential users in a fun, dynamic, and effective way.

10
  • JEFFERSON FONTINELE DA SILVA
  • Prestando atenção aos limites na segmentação semântica de imagens.
  • Orientador : LUCIANO REBOUCAS DE OLIVEIRA
  • MEMBROS DA BANCA :
  • LUCIANO REBOUCAS DE OLIVEIRA
  • MICHELE FÚLVIA ANGELO
  • ALEXANDRE DA COSTA E SILVA FRANCO
  • FLAVIO DE BARROS VIDAL
  • RICARDO DA SILVA TORRES
  • Data: 20/12/2021

  • Mostrar Resumo
  • A segmentação de imagens consiste em atribuir um rótulo a cada pixel da imagem de forma que os pixels pertencentes aos mesmos objetos da imagem tenham os mesmos rótulos. A área segmentada de um objeto deve abranger todos os pixels até os limites (limites) com os demais objetos. A região de fronteira pode fornecer informações úteis para o processo de segmentação, pois marca uma descontinuidade que pode definir um limite de segmento. No entanto, métodos de segmentação comumente sofrem para explorar informações de fronteira e consequentemente segmentar esta região. Isso se deve principalmente à proximidade entre regiões da imagem contendo rótulos diferentes. Diante disso, propomos investigar como levar em conta as informações de fronteira ao segmentar semanticamente um objeto de imagem. Nossa primeira contribuição é um segmentador de imagens baseado em grafos, chamado de expansão de programação dinâmica interativa (IDP). Este é um método fracamente supervisionado que requer uma semente em cada objeto alvo para ser segmentado na imagem, minimizando posteriormente uma função de energia para obter os rótulos da imagem. A expansão IDP explora a programação dinâmica para inicializar um algoritmo de expansão alfa sobre superpixels para melhorar as informações de limite em um processo de segmentação. Sobre o conjunto de dados de segmentação de Berkeley, nossos experimentos mostraram que a expansão IDP é 51,2% mais rápida do que uma segmentação baseada em expansão alfa tradicional. Embora a expansão do IDP tenha se mostrado mais rápida, ela sofre de dois problemas: uma inicialização obrigatória da semente e a falta de informações semânticas. Isso nos levou ainda a desenvolver uma arquitetura de rede neural convolucional supervisionada para explorar semanticamente informações de limite. Nosso novo método, chamado DS-FNet, usa dois fluxos integrados em uma rede convolucional de ponta a ponta para combinar informações de segmentação e limite com base em um mecanismo de atenção. Para avaliar o DS-FNet, inicialmente realizamos experimentos em conjuntos de dados de imagens de propósito geral (Pascal Context) e tráfego (Cityscapes, CamVid e Mapillary Vistas), tendo a interseção média sobre união (mIoU) como métrica de referência. O DS-FNet superou dez redes de segmentação nos conjuntos de dados Pascal Context, Cityscapes e CamVid. No conjunto de dados Mapillary Vistas, o DS-FNet alcançou o segundo lugar quando comparado a outros cinco métodos.


  • Mostrar Abstract
  • Image segmentation consists of assigning a label to each pixel in the image in such a way that pixels belonging to the same objects in the image must have the same labels. The segmented area of an object must span all pixels up to the limits (boundaries) with the other objects. The boundary region can provide helpful information for the segmentation process, as it marks a discontinuity that can define a segment limit. However, segmentation methods commonly suffer to explore boundary information and consequently to segment this region. This is so mainly due to the proximity between image regions containing different labels. In view of that, we propose to investigate how to take into account the boundary information when semantically segmenting an image object. Our first contribution is a graph-based image segmenter, called interactive dynamic programming (IDP)-expansion. This is a weakly-supervised method that requires a seed into each object targeted to be segmented in the image, subsequently minimizing an energy function to obtain the image labels. IDP-expansion explores dynamic programming to initialize an alpha expansion algorithm over superpixels to improve boundary information in a segmentation process. Over the Berkeley segmentation data set, our experiments showed that IDP-expansion is 51.2% faster than a traditional alpha-expansion based segmentation. Although IDP-expansion has shown to be faster, it suffers from two matters: A mandatory seed initialization and the lack of semantic information. This further led us to develop a supervised convolutional neural network architecture to semantically explore boundary information. Our novel method, called DS-FNet, uses two streams integrated in an  end-to-end convolutional network to combine segmentation and boundary information based on an attention-aware mechanism. To evaluate DS-FNet, we initially conducted experiments on general-purpose (Pascal Context) and traffic (Cityscapes, CamVid, and Mapillary Vistas) image data sets, having the mean intersection over union (mIoU) as the reference metric. DS-FNet outperformed ten segmentation networks in the Pascal Context, Cityscapes, and CamVid data sets. In the Mapillary Vistas data set, DS-FNet achieved second place when compared to five other methods. A second round of experiments was performed to evaluate the generalization of our proposed method on challenging medical imaging data sets, containing several kidney biopsy whole slide images (WSIs). The data sets used to evaluate the second version of our network were HubMAP, WSI Fiocruz, and a subset of Neptune data set, all considering glomerulus segmentation. After training DS-FNet only over HubMAP data set, containing periodic acid-Schiff (PAS)-stained WSIs with only non-injured glomeruli, we found that our network was capable to segment glomeruli on WSIs stained by other methods (hematoxylin-eosin (HE), periodic acid-methenamine silver (PAMS), trichrome (TRI), and silver (SIL)). The results of these latter experiments show that our model is more robust than other models based on U-Net architecture. All the experiments and analyses presented in this work demonstrated that the explicit and adequate consideration of boundary information improves the results over non-boundary segmentation methods.

2020
Dissertações
1
  • MATHEUS MAGALHÃES BATISTA DOS SANTOS
  • Autenticação Contínua de Indivíduos baseada em Algoritmos de Detecção de Anomalias

  • Orientador : MAURICIO PAMPLONA SEGUNDO
  • MEMBROS DA BANCA :
  • MAURICIO PAMPLONA SEGUNDO
  • RUBISLEY DE PAULA LEMES
  • FILLIPE DIAS MOREIRA DE SOUZA
  • Data: 22/01/2020

  • Mostrar Resumo
  • Métodos de autenticação como senhas e cartões de acesso se tornaram comuns no dia-a-dia da sociedade. Devido a
    uma preocupação cada vez maior com a segurança, a biometria passou a ser uma forma de controle de acesso comum. Porém,
    assim como outros métodos de controle de acesso, eles só realizam a verificação da identidade do usuário apenas uma vez.
    Nenhuma verificação adicional é realizada posteriormente e com isso, não há garantia que o usuário permitido é o mesmo a
    utilizar um sistema ou recurso durante toda a sua utilização. Para resolver esse problema, a autenticação contínua realiza a
    verificação constantemente, garantindo assim que o usuário autorizado seja o mesmo durante toda a utilização do sistema.
    Inúmeros esforços foram feitos para melhorar o desempenho da verificação na autenticação contínua, como o uso de biometrias
    cada vez mais seguras, mas não há muitos trabalhos que visam melhorar o método de autenticação contínua em si. Devido as
    similaridades entre os objetivos das técnicas de detecção de anomalias e da autenticação contínua, este trabalho se propõe a
    utilizar uma técnica de detecção de anomalias na autenticação contínua para torná-la segura independentemente do tipo de
    biometria utilizada. Após os experimentos com 4 características biométricas diferentes, o trabalho proposto se mostrou equivalente
    ao estado-da-arte em autenticação contínua com a vantagem de não precisar de treinamento.



  • Mostrar Abstract

  • Authentication methods such as passwords and access cards have become commonplace in society's day-to-day life. Because an increasing concern with security, biometrics has become a common form of access control. However, like other access control methods, they only verify the user's identity only once. No further verification is carried out at a later date and therefore there is no guarantee that the permitted user is the same as use a system or resource throughout its use. To solve this problem, continuous authentication performs the checking constantly, thus ensuring that the authorized user is the same during the entire use of the system. Numerous efforts have been made to improve the performance of verification in continuous authentication, such as the use of biometrics increasingly secure, but there are not many jobs that aim to improve the continuous authentication method itself. Because of similarities between the objectives of anomaly detection techniques and continuous authentication, this work proposes to use an anomaly detection technique in continuous authentication to make it secure regardless of the type of biometrics used. After the experiments with 4 different biometric characteristics, the proposed work proved to be equivalent state-of-the-art in continuous authentication with the advantage of not requiring training.

2
  • RICARDO BARROS DUARTE D'OLIVEIRA
  • Uma abordagem procedural para geração de terrenos planetários em multi-escala baseada em ruído fractal Browniano e tesselação

  • Orientador : ANTONIO LOPES APOLINARIO JUNIOR
  • MEMBROS DA BANCA :
  • ANTONIO LOPES APOLINARIO JUNIOR
  • RODRIGO LUIS DE SOUZA DA SILVA
  • VINICIUS MOREIRA MELLO
  • Data: 29/01/2020

  • Mostrar Resumo
  • A geração de terrenos planetários, no contexto de jogos eletronicos, apresenta diversos desafios. Dentre eles o principal é o gerenciamento dos dados em multi-escala. Um jogador pode estar orbitando o planeta em um instante e depois descer para batalhar na sua superfĩcie. Para lidar com este desafio, apresentamos um método de geração procedural de planetas com suporte a múltiplas escalas, fazendo uso de funções de ruído fractal Browniano com derivadas parciais analíticas. Através de várias iterações deste ruído fractal conseguimos simular diversos tipos de terreno. O modelo de terreno em multiescala é gerenciado por uma quadtree indexada com tabelas hash. Essa mesma estrutura da suporte ao processo de view-frustum culling, que otimiza o processo de renderização. Além disso, nossa abordagem é capaz de grenciar níveis de detalhe baseado no ponto de vista do observador e a introdução de detalhes em alta resolução através do uso do processo de tesselação na GPU. Os resultados mostram que nosso método é capaz de gerar corpos planetários realísticos, com coerência temporal e diversidade de composições geológicas em tempo real, e, portanto, sendo aplicavél ao domínio de jogos eletrônicos.


  • Mostrar Abstract
  • The generation of planetary terrains, in the context of electronic games, presents several challenges. Among them, the main one is the management of multi-scale data. A player may be orbiting the planet in an instant and then descend to battle on its surface. To deal with this challenge, we present a method of procedural generation of planets with support for multiple scales, making use of Brownian fractal noise functions with analytical partial derivatives. Through several iterations of this fractal noise we can simulate different types of terrain. The multiscale terrain model is managed by an indexed quadtree with hash tables. This same structure supports the view-frustum culling process, which optimizes the rendering process. In addition, our approach is able to manage levels of detail based on the observer's point of view and the introduction of high resolution details through the use of the GPU tessellation process. The results show that our method is capable of generating realistic planetary bodies, with temporal coherence and diversity of geological compositions in real time, and, therefore, being applicable to the domain of electronic games.

3
  • FABRICIO DE FREITAS CARDIM
  • Utilizando aprendizado de máquina e métricas de código fonte para identificação de dívida técnica

  • Orientador : CLAUDIO NOGUEIRA SANT ANNA
  • MEMBROS DA BANCA :
  • CLAUDIO NOGUEIRA SANT ANNA
  • RODRIGO OLIVEIRA SPINOLA
  • TATIANE NOGUEIRA RIOS
  • Data: 04/02/2020

  • Mostrar Resumo
  • "Utilizar dívida técnica como instrumento para avaliar a manutenibilidade do software ainda é um desafio. Isso porque as ferramentas existentes para detecção de dívida técnica geram muitos falsos positivos por não levarem em consideração informações relacionadas ao contexto, ao domínio, ao tamanho e ao design do sistema analisado. Além disso, a maioria das ferramentas de detecção de dívidas detectam apenas code smells previamente catalogados na literatura. Embora a crença de que code smells afetam negativamente a manutenibilidade seja amplamente aceita, existem resultados experimentais que contradizem essa teoria. Indo mais além, desenvolvedores podem ter opiniões divergentes sobre o impacto de code smells na manutenção do software. Por outro lado, construir uma solução universal levando em consideração as características específicas de cada projeto pode ser humanamente inviável. Diante desse contexto, nós avaliamos a eficácia da utilização de algoritmos de aprendizado de máquina em conjunto com métricas de código para detectar dívidas técnicas que possam afetar negativamente a manutenibilidade do software, levando em consideração a opinião dos desenvolvedores. Para atingir este objetivo, nós realizamos três estudos experimentais, no contexto da indústria, com a participação de desenvolvedores. Os resultados mostraram que algoritmos de aprendizado de máquina, utilizados em conjunto com métricas de código, podem ser uma opção viável para avaliar a manutenibilidade do código. Como contribuição lateral, nós implementamos uma ferramenta para detecção automática de dívida técnica de código para a linguagem VB.NET, denominada CodeAnalyzerVB, e aplicamos essa ferramenta na Agência

    de Fomento do Estado da Bahia (DESENBAHIA)."


  • Mostrar Abstract
  •  

     

    "Using technical debt as an instrument to assess the maintainability of the software is still a challenge. This is because the existing tools for detecting technical debt generate many false positives because they do not take into account information related to the context, domain, size and design of the software. In addition, most debt detection tools only detect code smells previously cataloged in the literature. Although the belief that code smells negatively affect maintainability is widely accepted, there are experimental results that contradict this theory. developers may have differing opinions on the impact of code smells on software maintenance, on the other hand, building a universal solution taking into account the specific characteristics of each project may be humanly unviable. In this context, we evaluate the effectiveness of using algorithms machine learning in co together with code metrics to detect technical debts that may negatively affect the maintainability of the software, taking into account the opinion of the developers. To achieve this goal, we have carried out three experimental studies, in the context of the industry, with the participation of developers. The results showed that machine learning algorithms, used in conjunction with code metrics, can be a viable option to assess code maintainability. As a side contribution, we implemented a tool for automatic detection of technical code debt for the VB.NET language, called CodeAnalyzerVB, and applied this tool at the Agency

    Promotion of the State of Bahia (DESENBAHIA). "

     
    Utilizar dívida técnica como instrumento para avaliar a manutenibilidade do software ainda é um desafio. Isso porque as ferramentas existentes para detecção de dívida técnica geram muitos falsos positivos por não levarem em consideração informações relacionadas ao contexto, ao domínio, ao tamanho e ao design do sistema analisado. Além disso, a maioria das ferramentas de detecção de dívidas detectam apenas code smells previamente catalogados na literatura. Embora a crença de que code smells afetam negativamente a manutenibilidade seja amplamente aceita, existem resultados experimentais que contradizem essa teoria. Indo mais além, desenvolvedores podem ter opiniões divergentes sobre o impacto de code smells na manutenção do software. Por outro lado, construir uma solução universal levando em consideração as características específicas de cada projeto pode ser humanamente inviável. Diante desse contexto, nós avaliamos a eficácia da utilização de algoritmos de aprendizado de máquina em conjunto com métricas de código para detectar dívidas técnicas que possam afetar negativamente a manutenibilidade do software, levando em consideração a opinião dos desenvolvedores. Para atingir este objetivo, nós realizamos três estudos experimentais, no contexto da indústria, com a participação de desenvolvedores. Os resultados mostraram que algoritmos de aprendizado de máquina, utilizados em conjunto com métricas de código, podem ser uma opção viável para avaliar a manutenibilidade do código. Como contribuição lateral, nós implementamos uma ferramenta para detecção automática de dívida técnica de código para a linguagem VB.NET, denominada CodeAnalyzerVB, e aplicamos essa ferramenta na Agência
    de Fomento do Estado da Bahia (DESENBAHIA).
4
  • ALINE MEIRA ROCHA
  • Anotações Semânticas em Repositórios Acadêmicos: um estudo de caso com o RI da UFBA

  • Orientador : LAIS DO NASCIMENTO SALVADOR
  • MEMBROS DA BANCA :
  • DANIELA BARREIRO CLARO
  • FLAVIA GOULART MOTA GARCIA ROSA
  • LAIS DO NASCIMENTO SALVADOR
  • Data: 03/03/2020

  • Mostrar Resumo
  • Repositórios Institucionais (RI) são repositórios acadêmicos que possibilitam o armazenamento e a divulgação das produções científicas de universidades e centros de pesquisa. Estes repositórios permitem o auto-arquivamento, onde o próprio pesquisador pode efetuar o depósito de sua publicação. As informações sobre cada item depositado são armazenadas em seus metadados, mas como usualmente isso é feito de maneira manual pelo próprio pesquisador nem sempre os termos escolhidos ajudam nessa descrição, o que leva à intervenção dos bibliotecários no processo. A sugestão de keywords durante a validação dos metadados certamente ajudaria os bibliotecários pois identificaria termos representativos de cada publicação e enriqueceria semanticamente esses metadados, favorecendo a recuperação dos itens em um RI. Já métodos de aprendizagem de máquina de classificação textual binária podem sugerir que uma publicação também seja associada a outra coleção caso seja identificado que se trata de trabalho multidisciplinar. Também é possível auxiliar na classificação de publicações ainda não depositadas no RI e que não estejam organizadas por coleção mas por outro critério, como por exemplo data de entrega ao colegiado ou data da defesa. Dessa forma baseado nos termos representativos de cada comunidade e sub-comunidade, é possível treinar um classificador multi-hierárquico para identificar a qual comunidade e sub-comunidade cada trabalho deve pertencer. Por outro lado, a anotação semântica de metadados referentes a coleções e keywords permite o enriquecimento das descrições de itens do RI, além de facilitar o processo de recuperação. Nesse contexto o objetivo deste trabalho é anotar semanticamente os itens de um repositório acadêmico no Dspace de maneira semi-automática utilizando o padrão RDF do Dublin Core a partir dos resultados obtidos na classificação textual e validação das sugestões de keywords. Adicionalmente foi realizado um estudo de caso no RI da UFBA, onde as keywords extraídas passaram pela validação de especialistas de domínio, no caso as bibliotecárias do SIBI (Sistema de Bibliotecas da UFBA). Com isso, foi realizada a anotação semântica dos resultados obtidos no experimento da classificação textual e no estudo de caso. As principais contribuições desse projeto dizem respeito ao estudo exploratório de métodos de validação e classificação de depósitos das publicações, além do método de descrição e enriquecimento semânticos dos itens de um RI.


  • Mostrar Abstract
  • Institutional Repositories (IR) are academic repositories that enable the storage and dissemination of scientific productions from universities and research centers. These repositories allow self-archiving, where the researcher himself can deposit his publication. The information about each deposited item is stored in its metadata, but as the researcher himself usually does this manually, the terms chosen do not always help in this description, which leads to the intervention of librarians in the process. Suggesting keywords during metadata validation would certainly help librarians as it would identify representative terms of each publication and semantically enrich these metadata, favoring the retrieval of items in an IR. Binary textual classification machine learning methods may suggest that a publication is also associated with another collection if it is identified that it is multidisciplinary work. You can also help classify publications not yet filed with IR that are not organized by collection but by other criteria, such as collegiate date or date of defense. Based on the representative terms of each community and sub-community, it is possible to train a multi-hierarchical classifier to identify which community and sub-community each job should belong to. On the other hand, semantic annotation of metadata referring to collections and keywords enables the enrichment of RI item descriptions and facilitates the retrieval process. In this context, the objective of this paper is to semantically annotate the items of an academic repository in Dspace semi-automatically using the Dublin Core RDF standard from the results obtained in the textual classification and validation of keyword suggestions. Additionally, a case study was conducted at the UFBA IR, where domain specialists validated the extracted keywords, in this case, the SIBI (UFBA Library System) librarians. Thus, the semantic annotation of the results obtained in the textual classification experiment and the case study were performed. The main contributions of this project relate to the exploratory study of publication deposit validation and classification methods, as well as the semantic description and enrichment method of an IR item.

5
  • TÁSSIO GUERREIRO ANTUNES VIRGÍNIO
  • Avaliação empírica da geração automatizada de testes de software sob a perspectiva de Test Smells

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • CLAUDIO NOGUEIRA SANT ANNA
  • HEITOR AUGUSTUS XAVIER COSTA
  • IVAN DO CARMO MACHADO
  • Data: 13/03/2020

  • Mostrar Resumo
  • A constante busca pela qualidade sempre está em destaque na área de Engenharia de Software. Dentre as diversas disciplinas dedicadas a essa temática, o teste de software tem se estabelecido como uma das mais importantes, dado sua eficácia na identificação de defeitos, em momento prévio à liberação de sistemas de software para o mercado. O teste de software é atividade-chave para o desenvolvimento de software de qualidade. Entretanto, desenvolver testes é tão ou mais custoso do que desenvolver o código de produção. Uma alternativa para a redução dos custos associados ao teste de software se dá pelo uso intensivo de ferramentas de automação de testes. A proposta dessas ferramentas é reduzir o tempo de produção sem afetar a qualidade do código. Apesar dessa premissa, não é comum encontrar abordagens que incluam uma camada de verificação de qualidade dos testes gerados automaticamente, o que pode reduzir a confiabilidade da eficácia desses testes. Neste cenário, a proposta dessa dissertação é analisar empiricamente massas de dados de teste, sob a perspectiva de test smells, no sentido de avaliar a qualidade dos testes produzidos por ferramentas de geração automatizada de testes de software. Test smells são más escolhas no design dos testes e tem características sintomáticas e podem acarretar diminuição na qualidade dos sistemas. Considerando os test smells em código de teste, o estudo analisa os testes gerados por duas ferramentas amplamente aceitas pela comunidade de testes: Evosuite e Randoop. Um conjunto de vinte e um projetos de software de código aberto, disponíveis na plataforma Github foram considerados no estudo. A análise considerou a dispersão de test smells no código de teste desses projetos, bem como a existência de potenciais correlações entre test smells e as relações com as métricas estruturais. Como principais resultados, encontramos fortes correlações entre os test smells e as métricas de cobertura do código, diferenças significativas entre os dados encontrados nas suítes de testes geradas automaticamente e com os testes pré-existentes nos projetos avaliados.


  • Mostrar Abstract
  • The constant search for quality is always highlighted in the Software Engineering field. Among the various disciplines dedicated to this theme, software testing has been established as one of the most important, given its effectiveness in identifying defects, prior to the release of software systems to the market. Software testing is a key activity for the development of quality software. However, developing tests is just as or more expensive than developing the production code. An alternative for reducing the costs associated with software testing is the intensive use of test automation tools. The purpose of these tools is to reduce production time without affecting the quality of the code. Despite this premise, it is not common to find approaches that include a quality check layer of the automatically generated tests, which can reduce the reliability of the effectiveness of these tests. In this scenario, the purpose of this dissertation is to empirically analyze masses of test data, from the perspective of test smells, in order to assess the quality of the tests produced by automated software test generation tools. Test smells are poor choices in the design of tests and have symptomatic characteristics and can lead to a decrease in the quality of systems. Considering the test smells in test code, the study analyzes the tests generated by two widely accepted tools by the software testing community: Evosuite and Randoop. A set of twenty-one open source software projects, available on the Github platform, were considered in the study. The analysis considered the dispersion of test smells in the test code of these projects, as well as the existence of potential correlations between test smells and the relationships with structural metrics. As main results, we found strong correlations between the test smells and the code coverage metrics, significant differences between the data found in the test suites generated automatically and with the pre-existing tests in the evaluated projects.

6
  • LEILA KARITA DOS ANJOS DO ESPÍRITO SANTO
  • Caracterização de sustentabilidade na engenharia de software por meio de uma abordagem multi-método

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • IVAN DO CARMO MACHADO
  • RITA SUZANA PITANGUEIRA MACIEL
  • MONALESSA PERINI BARCELLOS
  • Data: 26/03/2020

  • Mostrar Resumo
  • O interesse da comunidade de Tecnologia da Informação e Comunicação (TIC) sobre sustentabilidade tem crescido consideravelmente nos últimos anos. Embora ainda em estágio inicial, a temática tornou-se de grande relevância uma vez que nos força a pensar sobre o que temos feito para garantir a continuidade do planeta e das gerações futuras. No contexto da Engenharia de Software (ES), quando pensamos no desenvolvimento de software sustentável nos deparamos com lacunas, uma vez que esse assunto ainda é nebuloso para os engenheiros de software e desenvolvedores, bem como para a comunidade de pesquisa em ES. Para que o software seja produzido de forma sustentável, os engenheiros de software precisam entender como os conceitos de sustentabilidade estão incorporados ao desenvolvimento de software, de forma que possam ter uma compreensão clara, comum e compartilhada desse conhecimento. No entanto, o desenvolvimento de um estudo recente sobre o estado-da-arte das abordagens de software que apoiam a ES sustentável mostrou que ainda há uma lacuna sobre o que, de fato, vem a ser o desenvolvimento de software sustentável. A falta de tal entendimento pode impedir a indústria de construir software com consciência sustentável. Dada a questão, esta pesquisa tem como objetivo caracterizar a Engenharia de Software Sustentável destacando as preocupações sustentáveis presentes no ciclo de vida de desenvolvimento do software. Para alcançar este objetivo, esta dissertação adotou uma abordagem multi-método e produziu uma série de estudos qualitativos. A abordagem multi-método é uma estratégia de pesquisa metodológica que combina dois ou mais métodos de pesquisa qualitativos ou dois ou mais métodos quantitativos de coleta e análise de dados. Foram elaborados: (1) um estudo de mapeamento sistemático na intenção de conhecer o domínio de ES sustentável; (2) um survey para obter uma percepção da indústria de software sobre a adoção de práticas sustentáveis; e (3) uma grounded theory, com o objetivo de gerar uma teoria para prover aos leitores um entendimento sobre o desenvolvimento de software sustentável. A teoria foi organizada em torno das dimensões da sustentabilidade. Esta dissertação concluiu que o desenvolvimento de software sustentável pode ser explicado através das seguintes proposições: (a) preocupações técnicas, ambientais e sociais estão presentes em todas as fases do desenvolvimento de software sustentável. Isso significa que os pesquisadores e os engenheiros de software estão preocupados em considerar a longevidade do software produzido, bem como os recursos ambientais, além do bemestar social; (b) a identificação de requisitos sustentáveis deve ocorrer na fase inicial do projeto (c) com o apoio de especialistas engajados com a sustentabilidade, os quais devem fazer parte do grupo de stakeholders; e (d) o uso de preocupações sustentáveis pode gerar trade-offs no projeto. Assim sendo, os resultados contribuem com uma maior compreensão à respeito do desenvolvimento de software sustentável, a partir das perspectivas da literatura e praticantes de software; e, consequentemente, com a evolução do estado da arte em ES Sustentável.


  • Mostrar Abstract
  • The interest of the Information and Communication Technology community on sustainability has grown considerably in recent years. Although still at an early stage, the theme has become of great relevance since it forces us to think about what we have done to ensure the planet and future generations' continuity. In the Software Engineering context, when we think about sustainable software development, we face gaps, since this subject is still nebulous for software engineers and developers, as well as for the research community in Software Engineering. For software to be produced in a sustainable way, software engineers need to understand how sustainability concepts are incorporated into software development, so that they can have a clear, common and shared understanding of that knowledge. However, the development of a recent study on the state-of-the-art about software approaches that support sustainable Software Engineering showed that there is still a gap about what is sustainable software development, in fact. The lack of such an understanding can prevent the industry from building software with sustainable awareness. Given the question, this research aims to characterize sustainable software engineering by highlighting the sustainable concerns present in the software development life-cycle. To achieve this goal, this dissertation adopted a multi-method approach and produced a series of qualitative studies. The multi-method approach is a methodological research strategy that combines two or more qualitative research methods or two or more quantitative data collection and analysis methods. We elaborated: (1) a systematic mapping study with the intention of knowing the Sustainable Software Engineering domain; (2) a survey to obtain the software industry perception on the adoption of sustainable practices; and (3) a grounded theory, with the aim of generating a theory to provide an understanding of sustainable software development to readers. The theory was organized around the sustainability dimensions. This dissertation concluded that sustainable software development is explained through the following propositions: (a) technical, environmental and social concerns are present in all phases of sustainable software development. This means that researchers and software engineers are concerned with considering the longevity of the software produced, as well as environmental resources, in addition to social welfare; (b) the sustainable requirements identification must occur in the project initial phase (c) with the support of experts engaged in sustainability, who must be part of the group of stakeholders; and (d) the use of sustainable concerns can generate trade-offs in the project. Therefore, the results contribute to a greater understanding of sustainable software development, from the literature and software practitioners' perspectives; and, consequently, with the evolution of the state-of-the-art in Sustainable Software Engineering.

7
  • PÉTALA GARDÊNIA DA SILVA ESTRELA TUY
  • Sobre o uso de agrupamento fuzzy para construção de sistemas baseado em regras fuzzy para lidar com Big Data.

  • Orientador : TATIANE NOGUEIRA RIOS
  • MEMBROS DA BANCA :
  • TATIANE NOGUEIRA RIOS
  • MARCOS ENNES BARRETO
  • MATHEUS GIOVANNI PIRES
  • Data: 15/04/2020

  • Mostrar Resumo
  • Big Data é um tópico de tendência que vem ganhando atenção em ambientes empresariais e acadêmicos. O termo se refere à enorme quantidade de dados gerados todos os dias em uma variedade de fontes e formatos. Uma parte expressiva do Big Data está no formato do texto que pode ser usado para resolver vários problemas da vida real, como detecção de spam, identificação de autoria, classificação de páginas da web e análise de sentimento. Os conjuntos de dados de texto são especialmente complicados, pois sua alta dimensionalidade pode se estender da alta dimensionalidade vertical (alto número de instâncias) à alta dimensionalidade horizontal (alto número de atributos). Para extrair valor de tais conjuntos de dados dimensionais elevados, as técnicas de análise de dados devem ser capazes de lidar com seus novos desafios: volume, velocidade, variedade e variabilidade. Os Sistemas de Classificação Baseados em Regras Fuzzy (FRBCS) demonstraram lidar efetivamente com a incerteza, a imprecisão e o ruído inerentes aos dados. No entanto, o desempenho dos FRBCSs é altamente afetado pelo número crescente de instâncias e atributos presentes no Big Data. Abordagens propostas anteriormente tentam adaptar FRBCSs para Big Data distribuindo o processamento de dados com o paradigma MapReduce, pelo qual os dados são processados em duas etapas: Mapear e Reduzir. No estágio de Mapa, os dados são divididos em vários blocos e distribuídos entre os nós de processamento que processam cada bloco de dados independentemente. No estágio Reduce, os resultados provenientes de cada nó no estágio Map são agregados e um resultado final é retornado. Esta metodologia aborda a alta dimensionalidade vertical, mas não aborda conjuntos de dados com alta dimensionalidade vertical e horizontal simultânea, como é o caso dos conjuntos de dados de texto. A redução horizontal de alta dimensionalidade pode ser feita usando técnicas de seleção de recursos comuns, como MI e Qui-quadrado. No entanto, usar essas técnicas de seleção de recursos pode não ser a melhor alternativa, uma vez que a precisão do modelo pode ser afetada pela perda de informações ao manter apenas um subconjunto de atributos. Neste trabalho, lidamos com as desvantagens mencionadas, propondo o Summarizer, uma abordagem para a construção de espaços de recursos reduzidos para dados de dimensões horizontais altas. Para tanto, realizamos um estudo empírico que compara um conhecido classificador proposto para conjuntos de dados verticais de alta dimensionalidade com e sem o processo de redução de dimensionalidade horizontal proposto por Summarizer. Nossos resultados mostram que os classificadores existentes que lidam com problemas verticais de Big Data podem ser melhorados adicionando a abordagem Summarizer ao processo de aprendizagem, o que sugere que um algoritmo de aprendizagem unificado para conjuntos de dados com um grande número de instâncias, bem como um grande número de atributos pode ser possível.


  • Mostrar Abstract
  • Big Data is a trending topic that has gained attention in the business and academic environments. The term refers to the huge amount of data being generated every day in a variety of sources and formats. An expressive part of Big Data is in the format of text that can be used to solve various real life problems, such as spam detection, author identification, web pages classification and sentiment analysis. Text datasets are specially complicated since its high dimensionality can extend from vertical high dimensionality (high number of instances) to horizontal high dimensionality (high number of attributes). In order to extract useful knowledge from such high dimensional datasets, data analysis techniques must be able to cope with its new challenges: volume, velocity, variety and variability. Fuzzy Rule-Based Classification Systems (FRBCS) have shown to effectively deal with the uncertainty, vagueness, and noise inherent to data. However, the performance of FRBCSs is highly affected by the increasing number of instances and attributes present in Big Data. Previously proposed approaches try to adapt FRBCSs to Big Data by distributing data processing with the MapReduce paradigm, by which the data is processed in two stages: Map and Reduce. In the Map stage, the data is divided into multiple blocks and distributed among processing nodes that process each block of data independently. In the Reduce stage, the results coming from every node in the Map stage are aggregated and a final result is returned. This methodology tackles vertical high dimensionality, but it does not approach datasets with simultaneous vertical and horizontal high dimensionality, as it is the case of text datasets. Horizontal high dimensionality reduction could be done by using common feature selection techniques, such as MI and Chi-squared. However, using such feature selection techniques may not be the best alternative since model accuracy might be affected by the loss of information when keeping only a subset of attributes. In this work, we deal with the aforementioned drawbacks by proposing Summarizer, an approach for building reduced feature spaces for horizontally high dimensional data.  To this end, we carry out an empirical study that compares a well-known classifier proposed for vertical high dimensionality datasets with and without the horizontal dimensionality reduction process proposed by Summarizer. Our findings show that existing classifiers that tackles vertical Big Data problems can be improved by adding the Summarizer approach to the learning process, which suggests that an unified learning algorithm for datasets with a high number of instances as well as a high number of attributes might be possible.

8
  • FERNANDA SILVA EUSTÁQUIO
  • Sobre índices de validação de agrupamento fuzzy para agrupamento soft subspace de bases de dados de alta dimensionalidade.

  • Orientador : TATIANE NOGUEIRA RIOS
  • MEMBROS DA BANCA :
  • TATIANE NOGUEIRA RIOS
  • HELOISA DE ARRUDA CAMARGO
  • RICARDO MARCONDES MARCACINI
  • Data: 16/04/2020

  • Mostrar Resumo
  • A maioria dos algoritmos de clustering convencionais conhecidos e amplamente utilizados, como k-Means e Fuzzy c-Means (FCM), foram projetados assumindo que, na maioria dos casos, o número de objetos em um conjunto de dados será maior que o número de dimensões (recursos). No entanto, essa suposição falha quando um conjunto de dados consiste em documentos de texto ou microarranjos de DNA, nos quais o número de dimensões é muito maior que o número de objetos. A maioria dos estudos revelou que o FCM e os índices de validade de cluster difuso (CVIs) apresentam desempenho fraco quando usados com dados de alta dimensão, mesmo quando é usada uma medida de similaridade ou dissimilaridade adequada para esse tipo de dados. Os problemas enfrentados pela alta dimensionalidade são conhecidos como \ textit {maldição da dimensionalidade} e algumas abordagens como transformação de recursos, seleção de recursos, ponderação de recursos e agrupamento de subespaços foram definidas para lidar com milhares de dimensões. Para estar convencido de que o número de dimensões deve ser mantido para aprender o máximo possível de um objeto e saber que apenas um subconjunto de recursos pode não ser suficiente para todos os clusters, a técnica de agrupamento por subespaço flexível foi usada no trabalho proposto. Além do FCM, três algoritmos de subespaço suave, Clustering Simultâneo e Discriminação de Atributos (SCAD), c-Meios Fuzzy Ponderados com Regularidade Máxima com Entropia (EWFCM) e Clustering Subespacial Melhorado (ESSC) foram realizados para agrupar três tipos de dados de alta dimensão ( Mistura gaussiana, texto, microarray) e foram avaliados empregando CVIs nebulosas em vez de usar medidas externas como Clustering Accuracy, Rand Index, Normalized Mutual Information, que usam informações de rótulos de classe, como geralmente é feito na maioria dos estudos. A partir dos resultados experimentais, em uma avaliação geral, todos os algoritmos de agrupamento tiveram desempenhos semelhantes, destacando que o ESSC apresentou o melhor resultado e o FCM foi melhor que os demais algoritmos do subespaço suave. Além do uso da técnica de subespaço suave, na busca pela causa do baixo desempenho das técnicas convencionais para dados de alta dimensão, investigou-se qual medida de distância ou valor do expoente difuso de ponderação ($ m $) produzia o melhor agrupamento resultado. Além disso, o desempenho de dezenove CVIs nebulosas foi avaliado verificando se algumas tendências e problemas relacionados a pesquisas anteriores são mantidos ao validar os resultados do agrupamento suave do subespaço. A partir da análise feita neste trabalho, ficou claro que o tipo de dados era determinante para o desempenho dos algoritmos de cluster e CVIs difusos.


  • Mostrar Abstract
  • Most of the well-known and widely used conventional clustering algorithms, as k-Means and Fuzzy c-Means (FCM), were designed by assuming that, in most cases, the number of objects in a dataset will be greater than its number of dimensions (features). However, this assumption fails when a dataset consists of text documents or DNA microarrays, in which the number of dimensions is much bigger than the number of objects. Most studies have revealed that FCM and the fuzzy cluster validity indices (CVIs) perform poorly when they are used with high-dimensional data even when a similarity or dissimilarity measure suitable to this type of data is used. The problems faced by high dimensionality are known as the \textit{curse of dimensionality} and some approaches such as feature transformation, feature selection, feature weighting, and subspace clustering were defined to deal with thousands of dimensions. To be convinced that the number of dimensions should be maintained to learn as much as possible from an object and to know that just one subset of features might not be enough to all clusters, the soft subspace clustering technique was used in the proposed work. Besides FCM, three soft subspace algorithms, Simultaneous Clustering and Attribute Discrimination (SCAD), Maximum-entropy-regularized Weighted Fuzzy c-Means (EWFCM) and Enhanced Soft Subspace Clustering (ESSC) were performed to cluster three types of high-dimensional data (Gaussian mixture, text, microarray) and they were evaluated employing fuzzy CVIs instead of using external measures like Clustering Accuracy, Rand Index, Normalized Mutual Information, that use information from class labels, as usually done in most research studies. From the experimental results, in a general evaluation, all the clustering algorithms had similar performances highlighting that ESSC presented the best result and FCM was better than the remaining soft subspace algorithms. Besides the use of the soft subspace technique, in the search for the cause of the poor performance of the conventional techniques for high-dimensional data, it was investigated which distance measure or value of weighting fuzzy exponent ($m$) produced the best clustering result. Furthermore, the performance of nineteen fuzzy CVIs was evaluated by verifying if some tendencies and problems related to previous research studies are maintained when validating soft subspace clustering results. From the analysis made in this work, it was clear that the type of data was determinant to the performance of the clustering algorithms and fuzzy CVIs.

9
  • AILTON SANTOS RIBEIRO
  • VISHNU: Uma abordagem de apoio à customização de avatares em aplicações móveis

  • Orientador : VANINHA VIEIRA DOS SANTOS
  • MEMBROS DA BANCA :
  • CRISTIANO MACIEL
  • LYNN ROSALINA GAMA ALVES
  • VANINHA VIEIRA DOS SANTOS
  • Data: 27/05/2020

  • Mostrar Resumo
  • Avatar é um personagem que representa uma pessoa em particular em um ambiente virtual. Ao permitir a interação em aplicações, o avatar tornou-se bastante popular em games e está também se tornando uma realidade em outros domínios como forma de favorecer a autoexpressão. Construído a partir de informações contextuais do usuário, o uso de avatar fornece imersão e senso de presença em aplicações. Pesquisas indicam que o comportamento das pessoas pode ser influenciado pelas características do seu avatar. A depender do contexto, o avatar pode customizar-se utilizando informações contextuais do usuário (e.g. preferências, fatores antropomórficos; Fatores dinâmicos - local, condições climáticas; aspectos relativos a interação - expressões faciais, gestos, expressões corporais e outros). Uma lacuna encontrada na literatura sugere a necessidade de auxiliar os desenvolvedores a criarem seus avatares ao contexto do usuário. Para permitir a criação de avatares autoexpressivos são necessários mecanismos que capturem, processem e expressem as informações presentes no contexto do usuário junto à aplicação. Muitas aplicações móveis que utilizam avatares como forma de interação com o usuário ainda desconsideram fatores contextuais. Os desenvolvedores dessas aplicações se beneficiariam de uma abordagem para guiar essas customizações. O objetivo dessa pesquisa é avaliar se a sensibilidade ao contexto pode favorecer a autoexpressão em aplicações móveis baseadas em avatares. Para isso, apresentamos a abordagem VISHnu, um modelo de customização de avatares para auxiliar os desenvolvedores de aplicações móveis. Para avaliar a abordagem proposta foi realizado um grupo focal com sete especialistas e um estudo de casos com duas aplicações móveis baseadas em avatares. Os resultados indicaram sua utilidade e aplicabilidade ao processo de criação de avatares, permitindo uma discussão ampliada sobre a influencia dos fatores humanos, culturais e contextuais na customização de avatares. Esse pensamento favorece a criação e customização dos avatares e a percepção que a interação humana com esse avatar passa por aspectos, que a depender do contexto, converge para uma simbiose entre o seres virtuais e reais.


  • Mostrar Abstract
  • Avatar is a character that represents a particular person in a virtual environment. By allowing interaction in applications, the avatar has become quite popular in games and is also becoming a reality in other domains as a way to favor self-expression. Built from contextual user information, the use of an avatar provides immersion and a sense of presence in applications. Research indicates that people's behavior can be influenced by the characteristics of their avatar. Depending on the context, the avatar can be customized using contextual information from the user (e.g. preferences, anthropomorphic factors; Dynamic factors - location, climatic conditions; aspects related to interaction - facial expressions, gestures, body expressions and others). A gap found in the literature suggests the need to assist developers in creating their avatars in the context of the user. To allow the creation of self-expressive avatars, mechanisms are needed to capture, process and express the information present in the user's context with the application. Many mobile applications that use avatars as a way of interacting with the user still disregard contextual factors. Developers of these applications would benefit from an approach to guide these customizations. The aim of this research is to assess whether context sensitivity can favor self-expression in mobile applications based on avatars. For that, we present the VISHnu approach, a model of customization of avatars to assist the developers of mobile applications. To evaluate the proposed approach, a focus group with seven experts and a case study with two mobile applications based on avatars were carried out. The results indicated its usefulness and applicability to the avatars creation process, allowing an extended discussion about the influence of human, cultural and contextual factors in the customization of avatars. This thought favors the creation and customization of avatars and the perception that human interaction with this avatar goes through aspects, which, depending on the context, converges to a symbiosis between virtual and real beings.

10
  • RAILANA SANTANA LAGO
  • RAIDE: uma abordagem semi-automatizada para Identificação e Refatoração de Test Smells

  • Orientador : IVAN DO CARMO MACHADO
  • MEMBROS DA BANCA :
  • IVAN DO CARMO MACHADO
  • PIERRE YVES FRANCOIS MARIE JOSEPH SCHOBBENS
  • VANIA DE OLIVEIRA NEVES
  • Data: 03/07/2020

  • Mostrar Resumo
  • Teste de unidade é um tipo específico de teste que lida com as menores unidades do sistema. Ele representa o primeiro teste após a implementação de um componente. Quando a implementação dos testes de unidade não segue boas práticas, é provável que anti-padrões sejam introduzidos no código. Anti-padrões nos testes, também conhecidos como test smells, são más decisões para projetar e implementar código de teste. Os test smells prejudicam a qualidade do código de teste e reduzem a capacidade de os desenvolvedores interagirem com o código de teste, o que dificulta a compreensão, leitura e, consequentemente, a manutenibilidade e evolução do sistema. Uma estratégia para remover test smells é a refatoração do código de teste. Poucos estudos na literatura oferecem suporte automatizado para a detecção e refatoração de test smells. Assim, o presente estudo fornece uma abordagem semi-automática para identificar test smells e sugerir refatorações para o código de teste. Nossa abordagem é apoiada pela ferramenta RAIDE (RefActorIng test Design Errors). Desenvolvemos a RAIDE integrada com à uma IDE de desenvolvimento para ajudar os engenheiros de teste a refatorar código de teste. RAIDE oferece suporte a dois test smells, Assertion Roulette e Duplicate Assert. Apesar de existir outras ferramentas capazes de identificar test smells, até onde sabemos, ainda não há evidências de ferramentas que fornecem suporte automatizado a refatoração de test smells. Além disso, nenhuma ferramenta fornecem uma interface amigável e integrada a uma IDE para a identificação de test smells. Para avaliar como nossa abordagem pode ajudar a melhorar a qualidade do código de teste, também realizamos um estudo experimental. Comparamos nossa ferramenta com o estado da arte e verificamos que os participantes que usaram RAIDE conseguiram identificar os test smells de forma mais fácil e rápida. Além disso, RAIDE também se mostrou eficiente na refatoração de métodos de teste. Como RAIDE é uma ferramenta integrada à IDE Eclipse, os processos de identificação e refatoração são mais rápidos e intuitivos em comparação com o estado da arte e a refatoração manual.


  • Mostrar Abstract
  • Unit testing is a specific type of test that deals with the smallest units in the system. It represents the first test after the implementation of a component. When the implementation of unit tests does not follow good practices, anti-standards are likely to be introduced in the code. Anti-patterns in tests, also known as test smells, are poor decisions for designing and implementing test code. Test smells impair the quality of the test code and reduce the ability of developers to interact with the test code, which makes it difficult to understand, read and, consequently, maintainability and evolution of the system. One strategy for removing test smells is to refactor the test code. Few studies in the literature offer automated support for the detection and refactoring of test smells. Thus, the present study provides a semi-automatic approach to identify test smells and suggest refactorings for the test code. Our approach is supported by the RAIDE tool (RefActorIng test Design Errors). We developed the RAIDE integrated with a development IDE to help test engineers refactor test code. RAIDE supports two test smells, Assertion Roulette and Duplicate Assert. Although there are other tools capable of identifying test smells, as far as we know, there is still no evidence of tools that provide automated support for refactoring test smells. In addition, no tool provides a user-friendly interface integrated with an IDE for the identification of test smells. To assess how our approach can help improve the quality of the test code, we also conducted an experimental study. We compared our tool with the state of the art and found that participants who used RAIDE were able to identify test smells more easily and quickly. In addition, RAIDE also proved to be efficient in refactoring test methods. Since RAIDE is a tool integrated with the Eclipse IDE, the identification and refactoring processes are faster and more intuitive compared to the state of the art and manual refactoring.
11
  • PATRICK HERBETH GUIMARÃES AZEVEDO
  • Um Sistema de Recomendação Baseado em Análise de Relações Semânticas entre Tags

  • Orientador : FREDERICO ARAUJO DURAO
  • MEMBROS DA BANCA :
  • FREDERICO ARAUJO DURAO
  • DANILO BARBOSA COIMBRA
  • ANA LIZ SOUTO OLIVEIRA DE ARAÚJO
  • Data: 23/07/2020

  • Mostrar Resumo
  • Sistemas de Recomendação têm como principal característica sugerir itens de acordo com preferências de um determinado usuário. Na Web, Sistemas de Recomendação auxiliam usuários na descoberta de conteúdos de interesse e estão presentes em diversos sistemas da Web Social como o Youtube.com, Netflix.com, Amazon.com etc. No escopo deste trabalho, o foco serão tags, palavras-chave associadas a recursos na Web. Em geral, tags são associadas por usuários para descrever recursos, por exemplo: filmes, livros, músicas tornando-se verdadeiras fontes explícitas de preferência, porém sem restrição quanto à sintaxe das palavras. Os Sistemas de Recomendação baseados em similaridade entre tags tem o desafio de superar tais problemas e objetivam avaliar a similaridade entre tags a fim de indicar itens relevantes para os usuários. No entanto, semanticamente  analisar tags é uma tarefa que possui diversos desafios, como a polissemia e a existência de sinônimos. Neste trabalho, é proposto a avaliação de links semânticos entre as tags associadas a páginas na Web, com intuito de aumentar a precisão das recomendações. Logo, objetivo deste trabalho é propor também um sistema que realize análise semântica entre tags a fim de encontrar similaridades negligenciadas apenas pela análise sintática. Pretende-se avaliar inicialmente o sistema no contexto de filmes dado a disponibilização de um conjunto de tags associadas aos mesmos, utilizando métricas de precisão em diferentes posições de ranqueamento. A ideia da proposta nesse escopo de pesquisa diferencia-se de trabalhos existentes, pois o sistema utiliza um algoritmo que mescla o coeficientes de similaridade de Jaccard com cálculo de similaridade semântica utilizando fontes de dados diversas como WordNet e Linked Open Data de modo transparente ao usuário.


  • Mostrar Abstract
  • Recommendation systems have the main characteristic of suggesting items according to the preferences of a specific user. On the Web, Recommendation Systems assist users in discovering content of interest and are present in several Social Web systems such as Youtube.com, Netflix.com, Amazon.com etc. In the scope of this work, the focus will be on tags, keywords associated with resources on the Web. In general, tags are associated by users to describe resources, for example: films, books, music becoming true explicit sources of preference, but without restriction on the syntax of words. Recommendation Systems based on similarity between tags have the challenge of overcoming such problems and aim to evaluate the similarity between tags in order to indicate relevant items for users. However, semantically analyzing tags is a task that has several challenges, such as polysemy and the existence of synonyms. In this work, it is proposed to evaluate semantic links between tags associated with web pages, in order to increase the accuracy of the recommendations. Therefore, the objective of this work is also to propose a system that performs semantic analysis between tags in order to find similarities neglected only by syntactic analysis. It is intended to initially evaluate the system in the context of films given the availability of a set of tags associated with them, using precision metrics in different ranking positions. The idea of the proposal in this research scope differs from existing works, since the system uses an algorithm that mixes Jaccard's similarity coefficients with semantic similarity calculation using different data sources such as WordNet and Linked Open Data in a transparent way to the user .

12
  • MARCOS VINICIUS DOS SANTOS FERREIRA
  • Modelagem Fuzzy de Componentes Determinísticos para Previsão de Séries Temporais

  • Orientador : RICARDO ARAUJO RIOS
  • MEMBROS DA BANCA :
  • RICARDO ARAUJO RIOS
  • TATIANE NOGUEIRA RIOS
  • HELOISA DE ARRUDA CAMARGO
  • RODRIGO FERNANDES DE MELLO
  • Data: 27/07/2020

  • Mostrar Resumo
  • A modelagem de dados no domínio temporal tem sido aplicada em diferentes sistemas como meteorologia, engenharia, medicina e economia. Neste sentido, a área de Séries Temporais Fuzzy tem se destacado devido à sua capacidade de aproximar funções matemáticas e variáveis linguísticas para criação de regras, que são mais fáceis de serem interpretadas por especialistas. Como consequência dessa capacidade, pode-se obter modelos mais precisos para compreender o comportamento de sistemas e, por exemplo, realizar previsões de observações futuras. Desde o surgimento de modelos de séries temporais fuzzy, pesquisadores vêm propondo melhorias visando, por exemplo, reduzir erros na tarefa de previsão. Em geral, tais tarefas são compostas de três etapas: i) fuzzificação; ii) relacionamento lógico fuzzy; e iii) defuzzificação. De acordo com a literatura, um dos pontos mais estudados por pesquisadores é a etapa de fuzzificação, com foco no particionamento do universo do discurso para modelagem dos conjuntos fuzzy. No entanto, poucos trabalhos na literatura consideram a separação de influências dos componentes estocásticos e determinísticos presente com o objetivo de auxiliar no processo de modelagem dos conjuntos fuzzy. Visando superar essa limitação, o presente trabalho apresenta duas abordagens que realizam melhorias na modelagem dos conjuntos fuzzy na etapa de fuzzificação, considerando influências de componentes estocásticos e determinísticos presentes em séries temporais. Na primeira abordagem, realizou-se inicialmente a decomposição da série separando seus componentes em diferentes monocomponentes. Em seguida, monocomponentes com alta frequência foram removidos, resultando em uma nova série suavizada cuja combinação com a série original permite gerar um novo gráfico de dispersão. A segunda abordagem foi desenvolvida para modelar séries com comportamento caótico. Nesse sentido, ao invés de modelar a série como um gráfico de dispersão, utilizou-se ferramentas da área de Sistemas Dinâmicos e Teoria do Caos para reconstruir a série no espaço fase. Embora utilizem métodos distintos, as duas abordagens fazem a remoção da dependência temporal entre as observações para auxiliar no processo de modelagem dos conjuntos fuzzy modelagem, o qual é conduzido considerando o método de agrupamento Fuzzy C-Means e índices de validação de agrupamento, para estimar a quantidade e a função dos conjuntos fuzzy. Nos experimentos, utilizou-se séries temporais com influências de componentes estocásticos e determinísticos para validar e testar a generalização da abordagem. Os resultados atingidos foram promissores e superiores em comparação com o estado da arte.


  • Mostrar Abstract
  • Data modeling in the temporal domain has been applied to different systems such as meteorology, engineering, medicine and economics. In this sense, the Fuzzy Time Series area has stood out due to its ability to approximate mathematical functions and linguistic variables to create rules, which are easier to be interpreted by specialists. As a consequence of this capacity, more accurate models can be obtained to understand the behavior of systems and, for example, to make predictions of future observations. Since the appearance of fuzzy time series models, researchers have been proposing improvements aiming, for example, to reduce errors in the forecasting task. In general, such tasks are composed of three stages: i) fuzzification; ii) fuzzy logical relationship; and iii) defuzzification. According to the literature, one of the points most studied by researchers is the fuzzification stage, with a focus on partitioning the universe of discourse for modeling fuzzy sets. However, few studies in the literature consider the separation of influences from the stochastic and deterministic components present in order to assist in the modeling process of fuzzy sets. In order to overcome this limitation, the present work presents two approaches that make improvements in the modeling of fuzzy sets in the fuzzification stage, considering influences of stochastic and deterministic components present in time series. In the first approach, the series was initially decomposed, separating its components into different monocomponents. Then, single components with high frequency were removed, resulting in a new smoothed series whose combination with the original series allows to generate a new scatter plot. The second approach was developed to model series with chaotic behavior.
    In this sense, instead of modeling the series as a scatter plot, tools from the field of Dynamic Systems and Chaos Theory were used to reconstruct the series in phase space. Although using different methods, the two approaches remove the temporal dependence between the observations to assist in the modeling process of the fuzzy modeling sets, which is conducted considering the Fuzzy C-Means clustering method and cluster validation indexes, to estimate the quantity and function of fuzzy sets. In the experiments, time series with influences of stochastic and deterministic components were used to validate and test the generalization of the approach. The results achieved were promising and superior compared to the state of the art.
13
  • ROSANA GUIMARÃES RIBEIRO
  • Novo índice interno de validação de agrupamento de dados temporais

  • Orientador : RICARDO ARAUJO RIOS
  • MEMBROS DA BANCA :
  • MARCELO KEESE ALBERTINI
  • MARCOS ENNES BARRETO
  • RICARDO ARAUJO RIOS
  • Data: 29/07/2020

  • Mostrar Resumo
  • Técnicas de Aprendizado de Máquina não-supervisionado foram desenvolvidas visando encontrar estruturas e padrões em conjuntos de dados sem considerar qualquer informação prévia fornecida, por exemplo, por um especialista. Essa ausência de informação impacta diretamente no processo de validação devido à dificuldade em mensurar o conhecimento obtido por meio destas técnicas. Visando solucionar este problema, diversas pesquisas têm sido publicadas na literatura propondo critérios que integram diferentes áreas do conhecimento como Ciência da Computação e Estatística. Esses critérios são comumente divididos em $3$ categorias: relativo, externo e interno. Em geral, tais critérios são desenvolvidos com base em índices com diferentes objetivos e vieses de análise. Entretanto, grande parte desses índices são aplicados sobre dados caracterizados por serem independentes e identicamente distribuídos. A realização de uma Revisão Sistemática da Literatura demonstrou que há um número reduzido de pesquisas que investigam índices de validação de agrupamento para dados com dependência temporal entre suas observações. Este número é ainda mais reduzido quando se trata de índices que utilizam critério interno de validação. Neste sentido, este trabalho de mestrado apresenta um novo índice interno de validação baseado na adaptação da Estatística GAP (Gap Statistic) comumente utilizado na literatura. O índice apresentado foi desenvolvido com o objetivo de mensurar e validar informações extraídas de dados temporais a partir da aplicação de técnicas de Aprendizado de Máquina não-supervisionado. Dessa forma, resultados experimentais demonstram a eficiência do novo índice interno de validação para dados com dependência temporal e confirmam a importância do mesmo para o estado da arte.

     


  • Mostrar Abstract
  • Técnicas de Aprendizado de Máquina não-supervisionado foram desenvolvidas visando encontrar estruturas e padrões em conjuntos de dados sem considerar qualquer informação prévia fornecida, por exemplo, por um especialista. Essa ausência de informação impacta diretamente no processo de validação devido à dificuldade em mensurar o conhecimento obtido por meio destas técnicas. Visando solucionar este problema, diversas pesquisas têm sido publicadas na literatura propondo critérios que integram diferentes áreas do conhecimento como Ciência da Computação e Estatística. Esses critérios são comumente divididos em $3$ categorias: relativo, externo e interno. Em geral, tais critérios são desenvolvidos com base em índices com diferentes objetivos e vieses de análise. Entretanto, grande parte desses índices são aplicados sobre dados caracterizados por serem independentes e identicamente distribuídos. A realização de uma Revisão Sistemática da Literatura demonstrou que há um número reduzido de pesquisas que investigam índices de validação de agrupamento para dados com dependência temporal entre suas observações. Este número é ainda mais reduzido quando se trata de índices que utilizam critério interno de validação. Neste sentido, este trabalho de mestrado apresenta um novo índice interno de validação baseado na adaptação da Estatística GAP (Gap Statistic) comumente utilizado na literatura. O índice apresentado foi desenvolvido com o objetivo de mensurar e validar informações extraídas de dados temporais a partir da aplicação de técnicas de Aprendizado de Máquina não-supervisionado. Dessa forma, resultados experimentais demonstram a eficiência do novo índice interno de validação para dados com dependência temporal e confirmam a importância do mesmo para o estado da arte.

     

14
  • VICTOR MACIEL GUIMARÃES DOS SANTOS
  • Quantificação da novidade temporal: um novo método para quantificar a novidade temporal nas redes sociais
  • Orientador : RICARDO ARAUJO RIOS
  • MEMBROS DA BANCA :
  • RICARDO ARAUJO RIOS
  • DANIELA BARREIRO CLARO
  • ANGELO CONRADO LOULA
  • Data: 30/07/2020

  • Mostrar Resumo
  • Atualmente, existe um número expressivo de redes sociais utilizadas para diversos fins, como conectar pessoas com um interesse comum em pesquisa, ofertas de emprego, preferências musicais e conteúdos em geral. Essas redes ganharam popularidade significativa nos últimos anos. Para demonstrar esse fenômeno, a pesquisa mostra que 71% dos jovens adultos americanos usam uma rede social pelo menos uma vez por dia. Com esse acesso frequente e a liberdade proporcionada pelas redes, os usuários passaram a publicar inúmeras informações, desde fotos pessoais até textos com opiniões sobre diversos temas como política, entretenimento e saúde. Nesse sentido, um novo volume de informações passou a ser produzido, uma vez que, antes das redes sociais, apenas profissionais especializados com acesso às mídias convencionais conseguiam publicar suas opiniões. Do ponto de vista científico, diversas técnicas têm sido propostas na literatura com o objetivo de analisar o conteúdo produzido nessas redes sociais. Especificamente relacionado ao comportamento dos usuários, é comum observar sua modelagem por meio de gráficos ou séries temporais, no entanto, esses métodos tendem a ignorar aspectos desse comportamento, por exemplo, a relação temporal ou a dependência entre os termos usados nas publicações. Considerando essas limitações, este projeto de pesquisa foi desenvolvido com base na hipótese de que a adoção de grafos temporais, em conjunto com ferramentas das áreas de Mineração de Texto e Séries Temporais, permite detectar mudanças no comportamento dos usuários de redes sociais. Para validar essa hipótese, uma nova abordagem foi desenvolvida para identificar pontos de mudança no comportamento dos usuários e associá-los a eventos reais que influenciaram a opinião pública. Este procedimento utiliza técnicas de Text Mining para encontrar termos, que serão utilizados posteriormente na criação de grafos temporais, mantendo suas relações nos textos originais e suas dependências temporais. Uma nova medida também foi desenvolvida para quantificar como as opiniões dos usuários evoluem com o tempo. Por fim, é apresentado um método para detecção automática de mudança de comportamento, que visa identificar os pontos em que ocorrem mudanças. Essa abordagem foi avaliada considerando um evento histórico no Brasil: as eleições presidenciais de 2018. Esse período foi escolhido devido ao volume de publicações que efetivamente estabeleceram as redes sociais como principal mecanismo de ativismo político. Os resultados obtidos enfatizam a importância da abordagem proposta e abrem novas possibilidades, por exemplo, para a identificação de bots que propagam notícias falsas.

  • Mostrar Abstract
  • Currently, there is an expressive number of social networks used for different purposes, such as connecting people with a common interest in research, job offers, musical preferences, and general content.  These networks have gained significant popularity in recent years.  To demonstrate this phenomenon,  research shows that 71% of young American adults use a social network at least once a day.  With this frequent access and the freedom given by the networks, users started to publish numerous information, from personal photos to texts with opinions on different topics such as politics, entertainment, and health. In this sense, a new volume of information started to be produced, since, before social networks, only specialized professionals with access to conventional media were able to publish their opinions.  From a scientific point of view, several techniques have been proposed in the literature aiming at analyzing the content produced in such social networks. Specifically related to the users’ behavior, it is common to observe their modeling through graphs or time series,  however,  these methods tend to ignore aspects of this behavior, for example, the temporal relationship or the dependence between terms used in publications.  Considering these limitations, this research project was developed based on the hypothesis that the adoption of temporal graphs, together with tools from the areas of text Mining and Time Series, allows the detection of changes in the behavior of users of social networks.  To validate this hypothesis, a new approach was developed to identify points of change in users’ behavior and to associate them with real events that influenced public opinion.   This procedure uses  Text  Mining techniques to find terms,  which will be used later in the creation of temporal graphs, maintaining their relationships in the original texts and their temporal dependencies.  A new measure has also been developed, to quantify how users’ opinions evolve with time.  Finally, a method for automatic detection of behavior change is presented, which aims to identify points when changes occur. This approach was evaluated considering a historic event in Brazil:  the 2018 presidential elections.  This period was chosen due to the volume of publications that effectively established social networks as the main mechanism for political activism.   The results obtained emphasize the importance of the proposed approach and open new possibilities, for example, for the identification of bots that propagate fake news.

15
  • ILA MASCARENHAS MUNIZ
  • Os múltiplos papéis da Interação Humano-Computador: entendendo as mensagens de metacomunicação sob a ótica da Dialética Hegeliana

  • Orientador : ECIVALDO DE SOUZA MATOS
  • MEMBROS DA BANCA :
  • ECIVALDO DE SOUZA MATOS
  • INGRID TEIXEIRA MONTEIRO
  • LEOBINO NASCIMENTO SAMPAIO
  • SUZI MARIA CARVALHO MARINO
  • SÍLVIA AMÉLIA BIM
  • Data: 07/08/2020

  • Mostrar Resumo
  • Artefatos computacionais estão cada vez mais integrados ao nosso cotidiano, influenciando nas mais variadas atividades. Por isso, o estudo da interação entre humanos e sistemas computacionais ganhou importância nos últimos anos, permitindo a construção e o aperfeiçoamento das tecnologias interativas. Para solucionar problemas de interação tem-se articulado conhecimentos de diferentes espaços/campos científicos. A popularização da colaboração web intensificou esses problemas, especialmente ao abrir a possibilidade de o usuário atuar com o papel de "projetista/designer". Apesar de oferecer maior autonomia ao usuário, o papel de designer pode exigir conhecimentos técnicos em computação que, provavelmente, o usuário não tenha. Sem conhecimento especializado, podem ocorrer rupturas na interpretação das mensagens da interface, especialmente quando o usuário assume, alternadamente, os papéis de designer e usuário durante a interação. Com isso, esta pesquisa verificou a existência de conflitos de interpretação durante o movimento dialético de sujeitos com múltiplos papéis de interação em um sistema computacional e analisou essas rupturas na comunicação utilizando os princípios da Dialética Hegeliana. Para isso, foi realizado um estudo de caso com os métodos da Engenharia Semiótica e análise dialética dos dados. Os resultados obtidos indicam possibilidades de reflexão e ação sobre potenciais conflitos de interpretação nas mensagens de metacomunicação da interface quando o usuário alterna entre os papéis de designer e usuário em tempo de interação.


  • Mostrar Abstract
  • Computational artifacts are increasingly integrated into our daily lives, influencing the
    most varied activities. For this reason, the study of the interaction between humans and
    computer systems has gained importance in recent years, allowing the construction and
    improvement of interactive technologies. To solve interaction problems, knowledge of
    different scientific spaces/fields was articulated. The popularization of collaboration on
    the web has intensified these problems, mainly opening up the possibility for the user to
    act in the role of ”designer”. Despite offering greater autonomy to the user, the role of
    the designer may require technical knowledge in computing that, probably, the average
    user does not have. Without specialized knowledge, interruptions in the interpretation
    of interface messages can occur, especially when the user alternately assumes the roles of
    designer and user during the interaction. With this, this research verified the existence of
    conflicts of interpretation during the dialectical movement of subjects with multiple roles
    of interaction in a computer system and analyzed these disruptions in communication
    using the principles of Hegelian Dialectic. For this, a case study was carried out with
    the methods of Semiotic Engineering, MIS and MAC, followed by a dialectical analysis
    of the results. The results obtained open possibilities for reflection on the possibility of
    conflicts of interpretation in the metacommunication messages of the interface when the
    user switches between the roles of designer and user at the moment of interaction.

16
  • DANIEL ARAÚJO DE MEDEIROS
  • Escalonamento de frequência orientado por perfil para cargas de trabalho de pesquisa
  • Orientador : VINICIUS TAVARES PETRUCCI
  • MEMBROS DA BANCA :
  • DANIEL MOSSÉ
  • GEORGE MARCONI DE ARAUJO LIMA
  • VINICIUS TAVARES PETRUCCI
  • Data: 12/08/2020

  • Mostrar Resumo
  • O escalonamento de frequências é uma técnica essencial para maximizar a eficiência dos recursos computacionais existentes, especialmente em sistemas com arquiteturas capazes de executar tais tarefas em núcleos de frequência variável. Um dos fatores mais críticos capazes de afetar a experiência do usuário em serviços como busca ou redes sociais é a latência de cauda, definida como sendo a latência no 95 ou 99-percentil. Esta latência pode ser fortemente influenciada pela resposta mais lenta de um núcleo de baixo desempenho de um sistema, com seu impacto largamente amplificado quão mais núcleos de baixo desempenho estejam hospedados neste mesmo sistema. Do lado corporativo, reduzir a latência de cauda para a meta desejada é tão necessário quanto a diminuição do gasto energético, haja vista que este é diretamente proporcional aos custos financeiros para a operação do serviço e consequentemente ao lucro. Trabalhos anteriores em escalonamento de frequências para núcleos com capacidade de variação de frequência são de granulometria grossa, no sentido que se observa o estado de toda a aplicação para a tomada de decisões (sem distinção entre aplicação, threads ou funções). Tais trabalhos também muitas vezes dependem de um processo externo rodando em paralelo para coletar o comportamento dinâmico de determinada tarefa.


  • Mostrar Abstract
  • O escalonamento de frequências é uma técnica essencial para maximizar a eficiência dos recursos computacionais existentes, especialmente em sistemas com arquiteturas capazes de executar tais tarefas em núcleos de frequência variável. Um dos fatores mais críticos capazes de afetar a experiência do usuário em serviços como busca ou redes sociais é a latência de cauda, definida como sendo a latência no 95 ou 99-percentil. Esta latência pode ser fortemente influenciada pela resposta mais lenta de um núcleo de baixo desempenho de um sistema, com seu impacto largamente amplificado quão mais núcleos de baixo desempenho estejam hospedados neste mesmo sistema. Do lado corporativo, reduzir a latência de cauda para a meta desejada é tão necessário quanto a diminuição do gasto energético, haja vista que este é diretamente proporcional aos custos financeiros para a operação do serviço e consequentemente ao lucro. Trabalhos anteriores em escalonamento de frequências para núcleos com capacidade de variação de frequência são de granulometria grossa, no sentido que se observa o estado de toda a aplicação para a tomada de decisões (sem distinção entre aplicação, threads ou funções). Tais trabalhos também muitas vezes dependem de um processo externo rodando em paralelo para coletar o comportamento dinâmico de determinada tarefa.

17
  • DANIEL AMADOR DOS SANTOS
  • Noções básicas sobre os desafios da replicação: uma visão sobre múltiplas replicações de um experimento de sistemas altamente configuráveis.
  • Orientador : EDUARDO SANTANA DE ALMEIDA
  • MEMBROS DA BANCA :
  • EDUARDO SANTANA DE ALMEIDA
  • MANOEL GOMES DE MENDONCA NETO
  • RAFAEL PRIKLADNICKI
  • Data: 02/09/2020

  • Mostrar Resumo
  • Conforme a Engenharia de Software Empírica cresce em maturidade e número de publicações, mais as replicações são necessárias para fornecer uma base sólida para as evidências encontradas por meio de pesquisa. No entanto, estudos de replicação são escassos em geral e alguns tópicos sofrem mais do que outros. Além disso, os desafios associados à replicação de estudos empíricos não são bem entendido. Neste estudo, pretendemos preencher essa lacuna, investigando dificuldades emergentes. ao replicar um experimento. Usamos um método inovador em que os sujeitos com antecedentes distintos desempenham o papel de um grupo de pesquisa que tenta replicar um experimento estude. Oito replicações no total foram realizadas. Usamos a Grounded Theory's Método de comparação constante para análise qualitativa. Vimos em nossas replicações que a maioria dos resultados mantém em comparação com os experimentos originais. No entanto, os assuntos relataram muitas dificuldades, principalmente relacionadas à clareza das instruções e à qualidade dos artefatos de replicação. Com base em nossa experiência, também oferecemos recomendações que pode ajudar a mitigar problemas relacionados à replicação de experimentos.

  • Mostrar Abstract
  • As Empirical Software Engineering grows in maturity and number of publications, more

    replications are needed to provide a solid grounding to the evidence found through prior

    research. However, replication studies are scarce in general and some topics suer more

    than others. On top, the challenges associated with replicating empirical studies are not

    well understood. In this study we aim to ll this gap by investigating diculties emerging

    when replicating an experiment. We used an innovative method in which subjects with

    distinct background play the role of a research group attempting to replicate an experimental

    study. Eight replications in total were performed. We used Grounded Theory's

    Constant Comparison method for qualitative analysis. We have seen in our replications

    that most results hold comparing with the original experiments. However, the subjects

    reported many diculties, mostly related to the clarity of the instructions and the quality

    of the replication artifacts. Based on our experience, we also provide recommendations

    that can help mitigating issues related to experiment replication.

     

18
  • LEONARDO THOMAS TORRES SANTOS
  • Uma Proposta de Simulação Computacional 3D em Tempo Real para Pintura Hidrográfica

  • Orientador : KARL PHILIPS APAZA AGUERO
  • MEMBROS DA BANCA :
  • ANTONIO LOPES APOLINARIO JUNIOR
  • ESTEBAN WALTER GONZALEZ CLUA
  • KARL PHILIPS APAZA AGUERO
  • Data: 03/09/2020

  • Mostrar Resumo
  • A Pintura Hidrográfica, também chamada de Hidrografia é um método viável para colorir objetos criados com a impressão 3D. Entretanto, a técnica da hidrografia envolve uma complexa interação entre um filme e um objeto impresso em 3D. Primeiramente uma imagem é impressa em um filme, que é posto a flutuar na água. Em seguida, por reação com uma solução ativadora, o filme torna-se uma película adesiva com os pigmentos da imagem. Ao imergir um objeto 3D, o filme adere ao objeto, projetando a imagem 2D na superfície do objeto 3D. A projeção resultante de uma pintura hidrográfica é difícil de ser prevista de maneira precisa, visto que a operação ocorre na medida em que o filme vai aderindo ao objeto, considerando que o filme sofre um esticamento variável e um clareamento da cor nos pontos de maior esticamento. Para lidar com a dificuldade de se prever o resultado final da pintura hidrográfica, este trabalho propõe uma solução computacional que possibilita gerar uma imagem planificada de uma textura arbitrária, que impressa em um filme hidrográfico, permita colorir um objeto 3D. A proposta permite mapear fisicamente uma textura a um objeto, através de um processo com etapas computacionais e físicas. Para isto, foi criada uma simulação computacional em 3D que usa PBD (Position-Based Dynamics), uma técnica conhecida para simular corpos deformáveis e utilizada em bibliotecas para simulação de física. Esta técnica foi utilizada para executar em paralelo uma simulação na GPU (Graphics Processing Unit) com uma performance adequada. Então, foi simulado o comportamento do filme e a sua interação com o objeto impresso em 3D, como uma interação entre um corpo rígido em colisão com um corpo deformável. Para avaliar a performance alcançada de forma consistente, foram feitos testes variando o número de vértices e a quantidade de voxels nos corpos envolvidos e foi observado que a simulação continuou executando em tempo real. Além disso, a técnica de pintura hidrográfica foi executada em alguns modelos reais e estes resultados foram comparados com os modelos simulados.


  • Mostrar Abstract
  • Hydrographic Printing, also called Hydrographics, is a viable method for coloring objects created with 3D printers. However, executing the hydrographic technique leads to a complex interaction between a thin film and a 3D printed object. First, an image is printed on a film, which is put in the water. Then, by chemical reaction with an activator, the film becomes an adhesive sheet that carries the image pigment. When the 3D object dip, the film adheres to the object, projecting the 2D image to the object 3D surface. The hydrographic printing resultant projection is hard to predict precisely, because of the variable stretch in the film and the color whitening in the regions with high stretch. To address the difficulty of predicting the final result of hydrographic printing, we propose a computational solution that enables the generation of a flatted image of an arbitrary texture. Printing this image in a hydrographic film, it is possible to color a 3D object. The proposal allows executing a physical texture mapping in an object, with computational and physical steps. We propose a 3D computational simulation that uses Position-Based Dynamics, a popular technique for simulating deformable bodies and widely used in physics engines. We take advantage of this technique running in parallel a GPU-based simulation with suitable performance. We simulate the film behavior and its interaction with the 3D printed object, as an interaction between a soft-body colliding with a rigid one. To evaluate the achieved performance consistency, we made tests varying the number of vertices and voxels in the bodies involved and observed that the simulation kept running in real-time. We also execute the hydrographic technique in different printed models and compare these results with the simulated models.

19
  • ÍTALO DE CRISTO TEIXEIRA
  • Análise de estruturas de vizinhanças: um estudo de caso sobre o problema de programação de tarefas em ambiente job shop

  • Orientador : TIAGO DE OLIVEIRA JANUARIO
  • MEMBROS DA BANCA :
  • TIAGO DE OLIVEIRA JANUARIO
  • DANILO BARBOSA COIMBRA
  • MAYRON CESAR DE OLIVEIRA MOREIRA
  • Data: 17/10/2020

  • Mostrar Resumo
  • Uma das características mais importantes da busca local, amplamente utilizada em problemas de otimização, é a definição de sua estrutura de vizinhança. Uma vizinhança é um mapeamento que atribui para cada solução $s$ $\in$ $S$ um conjunto de soluções vizinhas $N(s)$. Procedimentos de busca local usam o conceito de vizinhanças para mover-se de uma solução $s$ para uma outra solução vizinha $s’ \in N(s)$. Nesta dissertação realizamos uma análise experimental do desempenho de seis estruturas de vizinhança para o Problema de Programação de Tarefas em ambiente \textit{Job Shop}. O objetivo desse problema consiste em planejar a execução de tarefas considerando um conjunto limitado de recursos e respeitando as restrições estabelecidas. Para uma análise efetiva das estruturas de vizinhança, foram utilizados quatro critérios de avaliação:  Eficiência, Convergência, Força e Aprimoramento. Neste trabalho, as vizinhanças foram apresentadas a partir da utilização de conceitos de teoria dos grafos. Os procedimentos de busca local aplicados foram desenvolvidos com base nas heurísticas \textit{Hill Climbing} e \textit{Variable Neighborhood Descent}, a última com o objetivo de estudar as interferências entre buscas realizando combinações de vizinhanças. A partir da análise dos resultados obtidos, foi possível correlacionar desempenhos das vizinhanças e obter informações úteis para entender por que certas vizinhanças apresentam desempenhos melhores que outras nos critérios de avaliação definidos.


  • Mostrar Abstract
  • One of the most crucial characteristics of local search, widely used in optimization problems, is the definition of its neighbourhood. A neighbourhood is a mapping that assigns to each schedule $s \in S$, a set of schedules $ N(s) $ that are neighbours of $s$. Local search procedures use the concept of a neighbourhood to move from one schedule $s$ to a neighbour schedule $s' \in N(s) $. In this project, we performed an experimental performance analysis of six neighbourhood structures for the Job Shop Scheduling Problem. The objective of this problem is to plan the execution of jobs considering a limited set of resources and respecting the established restrictions. For effective analysis of the neighbourhood structures, four evaluation criteria were considered: Efficiency, Convergence, Strength and Improvement. In this work, the neighbourhoods were created from graph theory concepts. The local search procedures were developed based on Hill Climbing and Variable Neighborhood Descent methods, the latter to study the interferences in local search procedures by performing combinations of neighbourhoods. From the analysis of the results obtained, it was possible to demonstrate correlations of performance between the neighbourhoods and obtain useful information to understand why some neighbourhoods perform better than others in the defined evaluation criteria.

20
  • WILLIAN CARLOS SOUZA MARTINHO
  • Uma nova metaheurística iterated local search baseada em simulação para o problema do projeto de redes de distribuição de água abastecidas por gravidade

  • Orientador : RAFAEL AUGUSTO DE MELO
  • MEMBROS DA BANCA :
  • DANIEL ALOISE
  • RAFAEL AUGUSTO DE MELO
  • TIAGO DE OLIVEIRA JANUARIO
  • Data: 19/10/2020

  • Mostrar Resumo
  • O problema de otimização do projeto de redes de distribuição de água (WDND, do inglês water distribution network design) alimentadas por gravidade  consiste em determinar os diâmetros dos tubos de uma rede de água de forma que as restrições hidráulicas sejam satisfeitas e o custo total seja minimizado. Tradicionalmente, essas decisões de design são feitas com base na experiência de especialistas. Quando as redes aumentam de tamanho, no entanto, as regras práticas raramente levam a decisões quase ideais. Nos últimos trinta anos, um grande número de técnicas foram desenvolvidas para resolver o problema de projetar de forma otimizada uma rede de distribuição de água. Este trabalho aborda o problema NP-difícil de otimização do projeto de redes de distribuição de água  em um cenário multiperíodo no qual ocorrem padrões de demanda variáveis no tempo. É proposta uma nova metaheurística de busca local iterada (ILS, do inglês iterated local search) baseada em simulação aprimorada que explora ainda mais a estrutura do problema na tentativa de obter soluções de alta qualidade.
    Mais especificamente, quatro novidades são propostas: (a) uma estratégia de busca local para dimensionar de forma inteligente tubos nos caminhos mais curtos entre os reservatórios e os nós com maiores demandas; (b) uma técnica para acelerar a convergência com base em um esquema de redução agressiva do diâmetro do tubo; (c) um novo mecanismo de perturbação concentrada que permite escapar de soluções ótimas locais muito restritas; e (d) um conjunto de soluções para alcançar um bom compromisso entre intensificação e diversificação.
    Experimentos computacionais mostram que a abordagem é capaz de melhorar uma metaheurística estado da arte para a maioria dos testes realizados. Além disso, converge muito mais rápido para soluções de baixo custo e demonstra um desempenho mais robusto na medida em que obtém menores desvios das melhores soluções encontradas.


  • Mostrar Abstract
  • The gravity fed water distribution network design (WDND) optimization problem consists in determining the pipe diameters of a water network such that hydraulic constraints are satisfied and the total cost is minimized. Traditionally, such design decisions are made on the basis of expert experience. When networks increase in size, however, rules of thumb will rarely lead to near optimal decisions.
    Over the past thirty years, a large number of techniques have been developed to tackle the problem of optimally designing a water distribution network. This work tackles the NP-hard water distribution network design (WDND) optimization problem in a multi-period setting where time varying demand patterns occur. A new enhanced simulation-based iterated local search (ILS) metaheuristic is proposed which further explores the structure of the problem in an attempt to obtain high quality solutions. More specifically, four novelties are proposed: (a) a local search strategy to smartly dimension pipes in the shortest paths between the reservoirs and the nodes with highest demands; (b) a technique to speed up convergence based on an aggressive pipe diameter reduction scheme; (c) a novel concentrated perturbation mechanism to allow escaping from very restrained local optima solutions; and (d) a pool of solutions to achieve a good compromise between intensification and diversification. Computational experiments show that the proposed approach is able to improve over a state-of-the-art metaheuristic for most of the performed tests. Furthermore, it converges much faster to low cost solutions and demonstrates a more robust performance in that it obtains smaller deviations from the best known solutions.

21
  • BRENNO DE MELLO ALENCAR
  • Aprendizado de Máquina para Redução do Tráfego de Dados e da Latência na Névoa das Coisas
  • Orientador : CASSIO VINICIUS SERAFIM PRAZERES
  • MEMBROS DA BANCA :
  • CASSIO VINICIUS SERAFIM PRAZERES
  • FLÁVIA COIMBRA DELICATO
  • MANOEL GOMES DE MENDONCA NETO
  • RICARDO ARAUJO RIOS
  • Data: 26/10/2020

  • Mostrar Resumo
  • A Internet of Things tem produzido infraestruturas/aplicações que geram grande volume de dados. Esses dados são geralmente fluxos de dados que têm a característica de serem contínuos e infinitos, e também apresentam a particularidade de modificar o seu comportamento ao longo do tempo. Devido a grande capacidade de armazenamento, processamento de dados e provisionamento de recursos, esses dados, em geral, são processados/analisados em ambientes de Cloud Computing. Embora a Cloud Computing forneça à infraestrutura IoT o tratamento adequado sob aspectos relacionados à escalabilidade e centralização dos recursos, a distância entre os dispositivos e a nuvem pode impor limitações para atingir baixa latência no tráfego de dados. Visando manter a escalabilidade, obter baixa latência e diminuir o tráfego de dados entre os dispositivos IoT e a Nuvem, a Fog Computing foi proposta. Apesar da Fog Computing estabelecer a disponibilização dos recursos na borda da rede, as tecnologias/técnicas utilizadas atualmente para processamento e análise de dados IoT podem não ser suficientes para suportar os fluxos contínuos e ilimitados de dados que as plataformas/aplicações IoT produzem. Além disso, as aplicações de fluxo de dados na Fog devem ser suportadas pelos dispositivos computacionalmente limitados empregados na Fog. Dessa forma, este trabalho apresenta uma abordagem para processamento e análise de fluxos de dados da Internet das Coisas em tempo real na Fog. Essa abordagem tem como objetivo principal reduzir a quantidade de dados transmitidos na infraestrutura de rede, o que permite, como consequência, realizar uma modelagem de dados online, detectando mudanças no comportamento do fluxo de dados e redução do uso da Internet. Por fim, avaliamos a proposta a partir da perspectiva de desempenho num cenário de objetos inteligentes na borda da rede.

  • Mostrar Abstract
  • The Internet of Things (IoT) has produced infrastructures/applications that generate large amounts of data. These data are usually data streams, that have the characteristic of being continuous and infinite and also have the peculiarity of modifying their behavior over time. Due to the large capacity of storage, data processing and provisioning of resources, this data is generally processed/analyzed in cloud computing environments. Although Cloud Computing provides the IoT infrastructure with adequate scalability and resource centric features, the distance between devices and the cloud can impose limitations to achieve low latency in data traffic. In order to maintain scalability, achieve low latency and reduce data traffic between the IoT devices and the Cloud, the Fog Computing was proposed. Although the Fog Computing paradigm establishes resource availability at the edge of the network, the technologies and techniques currently used for IoT data processing and analysis may not be sufficient to support the continuous and unlimited data stream that IoT platforms produce. In this way, this work presents an approach for processing and analyzing data stream from the Internet of Things in real time in Fog. The main advantage of using our approach is the possibility of reducing the amount of data transmitted on the network infrastructure, which allows, as a consequence, to perform an online data modeling, by detecting changes in data behavior, and a reduction of the Internet usage. In addition, the proposed platform does not require a constant Internet connection. Finally, we evaluate the proposal from the perspective of performance in a scenario of intelligent objects at the edge of the network.

22
  • JUNOT FREIRE DOS SANTOS NETO
  • Heurísticas e metaheurísticas para um problema restrito de corte bidimensional guilhotinado

  • Orientador : RAFAEL AUGUSTO DE MELO
  • MEMBROS DA BANCA :
  • BRUNO DE ATHAYDE PRATA
  • RAFAEL AUGUSTO DE MELO
  • TIAGO DE OLIVEIRA JANUARIO
  • Data: 27/11/2020

  • Mostrar Resumo
  • Problemas de corte bidimensional (2BP, do inglês 2-Dimensional bin packing problem) são problemas clássicos de otimização combinatória pertencentes à classe NP-Difícil e tem aplicações em diversos setores como a indústria têxtil, metalúrgica e de vidro. Estes problemas consistem em alocar um conjunto de itens retangulares em placas retangulares maiores com tamanho padronizado, a fim de minimizar o desperdício de matéria-prima. Nesta dissertação é estudado um problema restrito de corte bidimensional guilhotinado associado à produção de vidro considerado no ROADEF/EURO Challenge 2018, no qual existe a possibilidade de rotacionar itens em 90° e as placas retangulares de matéria-prima podem possuir defeitos como rachaduras e trincos. São propostas como técnicas para este problema duas heurísticas gulosas randomizadas e um método de aprimoramento de soluções baseado em uma modelagem de programação lógica por restrições combinada com uma heurística gulosa randomizada. As técnicas foram combinadas em metaheurísticas Multistart e GRASP (do inglês, Greedy Randomized Adaptive Search Procedure) a fim de se obterem melhores soluções. Os experimentos realizados mostram que o uso do método de aprimoramento de soluções é vantajoso, e que algumas combinações de técnicas se mostram mais eficazes para determinados tipos de instâncias. Uma versão preliminar deste trabalho foi qualificada para a etapa final do ROADEF/EURO Challenge 2018.




  • Mostrar Abstract
  • Two-Dimensional bin packing problems (2BP) are classic combinatorial optimization problems belonging to the NP-Hard class and have applications in several sectors such as the textile, metallurgical and glass industries. 2BP consists in allocating a set of rectangular items in larger rectangular plates with a standardized size in order to minimize the waste of raw material. In this dissertation, we approach a restricted version of the 2BP with guillotine cuts presented in the ROADEF/EURO Challenge 2018, in which there is a possibility to rotate items in 90° and soma itens have a order of precedence to be produced, and the rectangular plates may present defects in certain points. We propose two randomized greedy heuristics and a method for improving solutions based on a constraint programming model combined with a random greedy heuristic. The techniques are combined in Multistart and Greedy Randomized Adaptative Search Procedure (GRASP) metaheuristics in order to obtain better solutions. Computational experiments show that the use of the solution improvement method is advantageous, and that some combinations of the proposed techniques are more effective for certain types of instances. A preliminary version of this work was qualified for the final phase of the ROADEF/EURO Challenge 2018.

23
  • GRAZIENO BARBOSA PELLEGRINO RIBEIRO
  • OGUM: Um Framework para Cobertura de Área Utilizando um Conjunto Dinâmico de VANTs

  • Orientador : FLAVIO MORAIS DE ASSIS SILVA
  • MEMBROS DA BANCA :
  • ALLAN EDGARD SILVA FREITAS
  • DANIELA BARREIRO CLARO
  • FLAVIO MORAIS DE ASSIS SILVA
  • Data: 11/12/2020

  • Mostrar Resumo
  • A coordenação de Veículos Aéreos Não Tripulados (VANTs) cooperativos tornou-se uma área ativa de pesquisa. As abordagens para coordenar esses enxames geralmente incluem uma solução para uma classe de problemas chamada Cobertura de Área. Os problemas de Cobertura de Área consistem na obtenção de informações sobre uma determinada área de interesse (comumente um polígono ou um poliedro) por meio de um conjunto de VANTs, geralmente com coordenação descentralizada e mínima intervenção humana. Problemas de Cobertura de Área representam os requisitos de diferentes tipos de aplicações, como no caso de emergências e desastres, deteccção de vazamento de gás, resgate de pessoas perdidas, entre muitos outros. As soluções existentes para estes problemas normalmente consideram um conjunto fixo de VANTs. Nesta dissertação, descreve-se uma estratégia para coordenar conjuntos dinâmicos de VANTs para resolver um problema específico de Cobertura de Área. Em conjuntos dinâmicos, os VANTs podem entrar ou sair do conjunto. Para implementar a estratégia, um framework foi desenvolvido utilizando ROS e Gazebo. O framework Robotic Operating System (ROS) é um conjunto de bibliotecas e ferramentas para robôs. As missões de Cobertura de Área são reproduzidas no ambiente de simulação Gazebo. O framework facilita a implementação de diferentes estratégias para a coordenação de múltiplos VANTs. Como forma de avaliação da estratégia adotada, foram adotados mapas de calor que representam o movimento dos VANTs no plano.


  • Mostrar Abstract
  • The coordination of cooperative unmanned aerial vehicles (UAVs) has become an active area of research. Approaches to coordinating these swarms often include a solution to a class of problems called Area Coverage. Problems in this class consist of obtaining information about a specific area of interest (usually a polygon or polyhedron) through a set of UAVs, usually with decentralized coordination and minimal human intervention. Area coverage problems model the requirements of different types of applications, such as in the case of emergencies and disasters, gas leak detection, rescue of lost people, among many others. Existing solutions to these problems usually consider a fixed set of UAVs. In this dissertation, a strategy to coordinate dynamic sets of UAVs to solve a specific Area Coverage problem is described. In these dynamic sets, UAVs can enter or leave the set. To implement the strategy, a framework was developed using ROS and Gazebo. The framework ROS is a set of libraries and tools for robots. Area Coverage missions are executed in the Gazebo simulation environment. The framework facilitates the implementation of different strategies for coordinating multiple UAVs. We introduced heat maps to assess the quality of the adopted strategy. A heat map represents the movement of UAVs in the plan.

24
  • Carlos Fernando Silva Fernandes de Abreu Neto
  • MODELO DE AGRUPAMENTO DINÂMICO DE MÚLTIPLOS FLUXOS DE DADOS UTILIZANDO VER EM REDES ÓPTICAS TRANSLÚCIDAS

     

  • Orientador : GUSTAVO BITTENCOURT FIGUEIREDO
  • MEMBROS DA BANCA :
  • GUSTAVO BITTENCOURT FIGUEIREDO
  • HELDER MAY NUNES DA SILVA OLIVEIRA
  • JULIANA DE SANTI
  • Data: 15/12/2020

  • Mostrar Resumo
  • Com o grande crescimento da demanda de tráfego nas redes de computadores, as Redes Ópticas Elásticas surgiram como uma promissora evolução tecnológica das redes ópticas para o desenvolvimento de soluções com foco na utilização eficiente dos recursos de rede. Diferentemente das tradicionais redes WDM, que trabalham com alocação de recursos de grade fixa, nas EONs a largura de banda de um caminho óptico é escalável, podendo variar de acordo com a necessidade de cada conexão, adaptando-se dinamicamente a cada demanda de tráfego, garantindo o uso mais eficiente dos recursos espectrais. Neste contexto, o uso dos recursos torna-se cada vez mais equilibrado, possibilitando maior redução de custos em diversos fatores tecnológicos. No entanto, com a popularização da internet e a busca por atender uma maior gama de possibilidades tecnológicas com eficiência, pesquisadores vem concentrando seus esforços para uma utilização ainda mais estratégica destes recursos de rede. As Redes Ópticas Elásticas Translúcidas, através de estratégicas eficientes, utiliza fortemente o conceito de elasticidade e adaptabilidade com o uso de equipamentos de regeneração do sinal. Os Regeneradores Elásticos Virtualizados são equipamentos capazes de se adaptar dinamicamente de acordo com a demanda de tráfego, onde a medida que não são mais necessários, o VER é liberado para utilização de novas demandas. Desta forma é possível atender um número maior de conexões ópticas e atingir maiores distâncias com eficiência energética e redução de custo.
    Essas novas tecnologias de transmissão apresentam características complementarem, que as utilizando combinados a outros conceitos, trás grandes benefícios a empresas e usuários. O estabelecimento de conexões orientadas por prazo, pode ser adiado até o momento em que se tenha recursos disponíveis para atender ao prazo exigido. A possibilidade de programar uma requisição pode trazer benefícios tantos para usuários quanto para as empresas provedoras de serviços. Se não houver recursos disponíveis, o estabelecimento de uma nova conexão poderá ser adiado, desta forma é possível atender um maior número de requisições evitando aumento na taxa de bloqueios. Em conjunto com o provisionamento agendado das requisições, a criação de lotes de requisições, contribui para a flexibilização na hora de estabelecer novas conexões. Um lote é um conjunto de requisições que chegam em um determinado momento e que não são provisionadas de imediato, ou seja, cada requisição receberá um determinado deadline onde seu estabelecimento deverá ser atendido dentro deste prazo. Caso não haja recursos, ao final do deadline a conexão deverá ser bloqueada. O agendamento em lotes permitem maiores combinações aproveitando ao máximo os recursos disponíveis de rede, evitando assim aumento do consumo energético e redução do número de bloqueios das requisições.
    Diante disso, este trabalho apresenta uma nova metodologia para enfrentar o problema do aumento exponencial de tráfego na rede de comunicação, considerando a redução de custo naturalmente prioritária. Para atingir tais expectativas, a metodologia proposta consiste no desenvolvimento de um modelo de agrupamento e compartilhamento dinâmico de recursos de equipamentos de regeneração, além da combinação de tecnologias na criação de lotes de requisição com provisionamento agendado. 
    Os resultados obtidos através de simulações por software implementado pelo próprio autor, indicam que o modelo se mostrou eficaz, e foi capaz de reduzir consideravelmente a taxa de bloqueio, a quantidade de recursos com VER utilizado e consequentemente gerou maior eficiência energética, quando comparado aos mesmos métodos sem a utilização desta metodologia de agrupamento, criação de lotes de requisição e provisionamento agendado.


  • Mostrar Abstract
  • With the growth in the demand for traffic on computer networks, Elastic Optical Networks emerged as a promising technological evolution of optical networks for the development of solutions focused on the efficient use of network resources. Unlike traditional WDM networks, which work with allocation of fixed grid resources, in EONs the bandwidth of an optical path is scalable and can vary according to the need for each connection, adapting dynamically to each traffic demand, ensuring the most efficient use of spectral resources. In this context, the use of resources is becoming more and more balanced, enabling greater cost reduction in several technological factors. However, with the popularization of the internet and the search to serve a greater range of technological possibilities with efficiency, researchers have been focusing their efforts towards an even more strategic use of these network resources. Translucent Elastic Optical Networks, through efficient strategies, strongly use the concept of elasticity and adaptability with the use of signal regeneration equipment. The Virtualized Elastic Regenerators are devices capable of adapting dynamically according to the traffic demand, where as they are no longer needed, VER is released to use new demands. In this way it is possible to serve a greater number of optical connections and reach greater distances with energy efficiency and cost reduction. These new transmission technologies have complementary characteristics, which using them combined with other concepts, brings great benefits to companies and users. The establishment of term-oriented connections can be postponed until such time as resources are available to meet the required term. The possibility of scheduling a requisition can bring benefits to both users and service providers. If there are no resources available, the establishment of a new connection may be postponed, so it is possible to handle a greater number of requests, avoiding an increase in the blocking rate. In conjunction with the scheduled provisioning of requisitions, the creation of requisition batches contributes to flexibility when establishing new connections. A batch is a set of requests that arrive at a certain time and that are not immediately provisioned, that is, each request will receive a certain deadline where your establishment must be attended to within this period. If there are no resources, at the end of the deadline the connection must be blocked. Scheduling in batches allows for greater combinations, making the most of the available network resources, thus avoiding increased energy consumption and reducing the number of blocking requests. Therefore, this work presents a new methodology to face the problem of exponential increase in traffic on the communication network, considering cost reduction naturally a priority. In order to achieve these expectations, the proposed methodology consists of the development of a dynamic pooling and resource sharing model for regeneration equipment, in addition to the combination of technologies in the creation of requisition batches with scheduled provisioning. The results obtained through simulations by software implemented by the author himself, indicate that the model proved to be effective, and was able to considerably reduce the blocking rate, the amount of resources with VER used and consequently generated greater energy efficiency, when compared to them methods without using this grouping methodology, creating requisition batches and scheduled provisioning.

25
  • VIRGÍNIA DE SOUSA VENEGA
  • REQUISITOS DE SOFTWARE PARA

    ADAPTAÇÃO DE AMBIENTES MOOC PARA

    A ABORDAGEM CONECTIVISTA

  • Orientador : RITA SUZANA PITANGUEIRA MACIEL
  • MEMBROS DA BANCA :
  • PAULEANY SIMOES DE MORAIS
  • IVAN DO CARMO MACHADO
  • RITA SUZANA PITANGUEIRA MACIEL
  • Data: 16/12/2020

  • Mostrar Resumo
  • Massive Open Online Courses (MOOC) são cursos online abertos, em geral gratuitos, sem

    exigência de conhecimento pr evio para participa c~ao e quantidade inde nida de participantes.

    MOOC podem ser divididos em dois grupos: xMOOC e cMOOC. Os ambientes

    xMOOC são considerados extensões de ambientes de cursos online tradicionais pois preservam

    caracter  sticas pedag ogicas muito pr oximas, como o suporte assíncrono mínimo,

    avaliações gen ericas e foco em recrutamento contínuo. Essa modalidade de curso, apesar

    de ser o tipo mais comum de MOOC e possuir suporte ao desenvolvimento bem defi

    nido, enfrenta percalços, como as altas taxas de evasãoo dos estudantes e dificuldades no

    processo de avalia c~ao de aprendizagem. No caso dos ambientes cMOOC, MOOC sob a

    perspectiva da abordagem conectivista, ainda n~ao h a um consenso sobre os requisitos de

    software para este domínio. Considerando MOOC como um tipo de Software Educacional

    (SE), diversos estudos exploram a problem atica da construção de SE sob a perspectiva

    de teorias e abordagens pedagógicas especícas para direcionar o desenvolvimento do

    software. Essas teorias, m etodos e abordagens pedag ogicos podem auxiliar na compreens~

    ao dos processos de aprendizagem & avaliação, bem como na concepção de cursos e

    MOOC. Observa-se ent~ao, que s~ao raros os projetos de softwares que consideram teorias

    ou m etodos de aprendizagem espec   cas desde sua idealização. Nesse sentido este

    trabalho buscou identi car quais s~ao os requisitos de software necess arios para o desenvolvimento

    de ambientes cMOOC. Para alcan car este objetivo, surveys foram aplicados

    a estudantes de computação de diferentes cursos e a pro ssionais da  area de Inform atica

    e Educação a  m de capturar, os requisitos desej aveis para o desenvolvimento de MOOC

    conforme o conectivismo. Dois surveys foram realizados com estudantes e educadores.

    Como resultado, 853 potenciais requisitos foram inicialmente identi cados e ap os sucessivos

    ciclos de coding,  fltrados e sintetizados. Os requisitos identicados e catalogados

    foram alicer cados nas dimens~oes Abertura, Interatividade, Autonomia e Diversidade, balizadoras

    do conectivismo. Como resultado deste trabalho, um cat alogo de requisitos de

    software para o desenvolvimento de cMOOC foi concebido. Com isso espera-se poder

    apoiar o processo de engenharia de requisitos para domínios pedagógicos específicos e o

    desenvolvimento de cMOOC.


  • Mostrar Abstract
  • ABSTRACT

    Massive Open Online Course (MOOC) are open online courses, generally free, with

    no prior knowledge required for participation and an inde nite number of participants.

    MOOC can be divided into two groups: xMOOC and cMOOC. XMOOC environments

    are considered extensions of traditional online course environments as they preserve very

    similar pedagogical characteristics, such as minimal asynchronous support, generic assessments,

    and a focus on continuous recruitment. This course modality, despite being

    the most common type of MOOC and having well-de ned development support, faces

    problems, such as high student dropout rates and di culties in the learning assessment

    process. For cMOOC environments MOOCs from the perspective of the connectivist approach,

    there is still no consensus on the software requirements for this domain. Considering

    MOOC as a type of Educational Software (SE), several studies explore the problem

    of building SE under the perspective of speci c theories and pedagogical approaches to

    direct the development of the software. These theories, methods, and pedagogical approaches

    can help to understand the learning & evaluation processes as well as in the design

    of courses and MOOCs. It is observed, then, that few software projects consider speci c

    theories or learning methods since their conception. In this sense, this work aimed to

    identify what are the software requirements needed for the development of cMOOC environments.

    To achieve this objective, surveys were applied to computer students from

    di erent courses and professionals in the area of Informatics and Education to capture,

    the desirable requirements for the development of MOOC according to connectivism.

    Two surveys were carried out with students and educators. As a result, 853 potential

    requirements were initially identi ed and after successive coding cycles,  ltered and

    synthesized. The identified and cataloged requirements were based on the dimensions of

    Openness, Interactivity, Autonomy, and Diversity, beacons of connectivism. As a result

    of this work, a catalog of software requirements for the development of cMOOC was designed.

    With this expected to be able to support the requirements engineering process

    for speci c educational  elds and the development of cMOOC.

26
  • RAPHAEL ALVES DE JESUS LIMA
  • Comparando Técnicas de Extração de Valores Limiares para Métricas de Código Fonte: Um Estudo com Desenvolvedores Web

  • Orientador : CLAUDIO NOGUEIRA SANT ANNA
  • MEMBROS DA BANCA :
  • CLAUDIO NOGUEIRA SANT ANNA
  • EDUARDO MARTINS GUERRA
  • RODRIGO ROCHA GOMES E SOUZA
  • Data: 17/12/2020

  • Mostrar Resumo
  • Métricas de código fonte permitem medir diferentes atributos do software e têm potencial para apoiar a identificação de problemas de design que podem interferir na compreensibilidade e na manutenibilidade do software. A identificação de problemas de design pode revelar partes do código fonte que precisam ser monitoradas com mais atenção. No entanto, um dos principais desafios na utilização de métricas em atividades de monitoramento da qualidade do código fonte é a definição de valores limiares que sejam capazes de identificar partes do código que realmente sejam consideradas problemáticas pelos desenvolvedores. Embora exista uma série de técnicas de extração de valores limiares, percebe-se que os valores limiares obtidos por meio delas geram muitos falso-positivos. Isto é, existem muitos elementos de código (ex.: classes ou métodos) cujos valores de métricas ultrapassam os valores limiares, mas que, ao serem avaliados por desenvolvedores, não são considerados como problemáticos. Portanto, a participação de desenvolvedores é importante para avaliar a efetividade de valores limiares. Poucos estudos, no entanto, avaliam a efetividade de diferentes técnicas de extração de valores limiares com base na percepção de desenvolvedores. Esse trabalho tem como objetivo, portanto, investigar qual é a percepção de desenvolvedores sobre os problemas de design detectados com valores limiares obtidos por meio de cinco técnicas diferentes que extraem valores limiares a partir de benchmarks de sistemas. Diante deste cenário, realizamos dois estudos, um preliminar em que analisamos dois sistemas e dois desenvolvedores, e um outro estudo em que analisamos quatro sistemas e oito desenvolvedores. Os resultados indicam que técnicas de extração de valores limiares que levam em consideração alguma informação de contexto, como sistemas de referência ou papéis de design, tem potencial para reduzir o número de falso-positivos.  

  • Mostrar Abstract
  • Source code metrics quantify di erent software attributes and have the potential to support
    the identi cation of design problems that may a ect software comprehensibility and
    maintainability. Identifying design problems can reveal parts of the source code that
    need to be monitored more closely. However, one of the major challenges in using metrics
    in source code quality monitoring activities is the de nition of threshold values that are
    capable of identifying design problems that are actually considered problems according
    to developers' perceptions. Although there are a number of techniques for extracting
    threshold values, the threshold values obtained by means of them generate many false
    positives. That is, there are many of code elements (e.g., classes or methods) whose
    metric values exceed threshold values that, when evaluated by developers, are not considered
    to be problematic. Therefore, the participation of developers is important to
    analyze threshold value e ectiveness. Few studies evaluate the e ectiveness of di erent
    threshold extraction techniques based on the perception of developers. Therefore, the
    goal of this work was to conduct an experimental study to evaluate the perception of
    developers about design problems detected with threshold values obtained by means of
    ve di erent techniques that extract threshold values from system benchmarks. In this
    scenario, we conducted two studies, a preliminary one in which we analyzed two systems
    and two developers' perception, and a second study in which we analyzed four systems
    and eight developers. The results indicate that developers use design roles to assess
    whether or not design problems exist, and techniques that take into account some contextual
    information, such as reference systems or design papers to derive thresholds may
    reduce the number of false-positives.

27
  • ANDRE LUIZ ROMANO MADUREIRA
  • IOTP: On Supporting IoT Data Aggregation Through Programmable Data Planes

  • Orientador : LEOBINO NASCIMENTO SAMPAIO
  • MEMBROS DA BANCA :
  • CASSIO VINICIUS SERAFIM PRAZERES
  • LEOBINO NASCIMENTO SAMPAIO
  • RODOLFO DA SILVA VILLAÇA
  • Data: 23/12/2020

  • Mostrar Resumo
  • IoT devices generate large continuous data streams, which causes congestion that compromises the scalability of IoT systems. To face this problem, techniques for data aggregation propose to reduce recurring packet headers, through the assembly of packet data coming from different sources. Due to the energy constraints and limitation of computational resources of devices, most proposals adjust data aggregation according to their features following multilayered-based approaches or coupling the solution to a given network protocol, but overlooking the properties of the communication link. In this dissertation, we introduce the Internet of Things Protocol (IoTP). An L2 communication protocol for IoT programmable data planes that supports the implementation of data aggregation algorithms inside hardware switches, at the network level. Through these features, IoTP provides support for the design of efficient and adaptable aggregation schemes that can function according to network status and based on the different communication technologies used by IoT devices. We implemented IoTP using the P4 language and conducted emulation-based experiments through the Mininet environment. Our findings show that IoTP accomplishes a 78% improvement in network efficiency, as well as allowing control over the average delay generated by data aggregation techniques. Besides that, it was able to reduce the number of packets sent over the network, while also reducing the consumption of network devices computational resources.


  • Mostrar Abstract
  • IoT devices generate large continuous data streams, which causes congestion that compromises the scalability of IoT systems. To face this problem, techniques for data aggregation propose to reduce recurring packet headers, through the assembly of packet data coming from different sources. Due to the energy constraints and limitation of computational resources of devices, most proposals adjust data aggregation according to their features following multilayered-based approaches or coupling the solution to a given network protocol, but overlooking the properties of the communication link. In this dissertation, we introduce the Internet of Things Protocol (IoTP). An L2 communication protocol for IoT programmable data planes that supports the implementation of data aggregation algorithms inside hardware switches, at the network level. Through these features, IoTP provides support for the design of efficient and adaptable aggregation schemes that can function according to network status and based on the different communication technologies used by IoT devices. We implemented IoTP using the P4 language and conducted emulation-based experiments through the Mininet environment. Our findings show that IoTP accomplishes a 78% improvement in network efficiency, as well as allowing control over the average delay generated by data aggregation techniques. Besides that, it was able to reduce the number of packets sent over the network, while also reducing the consumption of network devices computational resources.

Teses
1
  • NICOLLI SOUZA RIOS ALVES
  • Organização De Um Conjunto De Descobertas Experimentais Sobre Causas E Efeitos Da Dívida Técnica Através De Uma Família De Surveys Globalmente Distribuída

  • Orientador : MANOEL GOMES DE MENDONCA NETO
  • MEMBROS DA BANCA :
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • CLAUDIO NOGUEIRA SANT ANNA
  • EMILIA MENDES
  • MANOEL GOMES DE MENDONCA NETO
  • TAYANA UCHÔA CONTE
  • Data: 26/05/2020

  • Mostrar Resumo
  • Contexto: O conceito de dívida técnica (DT) contextualiza o problema das tarefas de desenvolvimento 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 um projeto de software incorra em dívida durante o processo de desenvolvimento, no entanto, sua presença traz riscos para o projeto e dificulta sua gestão. Diferentes estratégias de gerenciamento da DT têm sido propostas, contudo, considerar ações que possam evitar sua inserção e monitorar seus efeitos ainda não é uma prática comum. Este é um ponto que merece ser melhor investigado por diferentes motivos: (i) conhecer as causas da DT pode auxiliar as equipes de desenvolvimento na definição de ações que possam ser tomadas para evitar sua ocorrência e (ii) conhecer os possíveis os efeitos da DT pode apoiar na realização de análises de impacto mais precisas e também na definição de ações corretivas para minimizar possíveis consequências negativas da dívida inserida. Dessa forma, enquanto o gerenciamento da DT é um tópico de pesquisa importante, também é necessário entender as causas que podem levar equipes de desenvolvimento a incorrer em diferentes tipos de dívida, bem como os efeitos de sua presença em projetos de software.
    Objetivo: O objetivo desta tese é investigar, através da replicação contínua e independente de surveys distribuídos globalmente, o estado da prática e tendências da indústria sobre DT incluindo causas que levam à sua ocorrência, efeitos de sua existência e como esses problemas se manifestam no processo de desenvolvimento de software. A partir da organização das causas e efeitos identificados, estruturar diagramas de causa e efeito probabilísticos que possam ser utilizados no apoio a atividades de gestão da DT.
    Método: As atividades realizadas nesta tese são fundamentadas no paradigma da engenharia de software experimental. Inicialmente, foi realizado um estudo terciário com o objetivo de investigar o estado atual da pesquisa sobre DT identificando quais tópicos de pesquisa têm sido considerados, organizando direcionamentos de pesquisa e conhecimentos práticos que já foram definidos, identificando os tipos conhecidos de DT, e mapeando quais atividades, estratégias e ferramentas têm sido propostas para apoiar o gerenciamento da DT. Em seguida, foi planejado InsighTD, uma família de surveys globalmente distribuída. InsighTD foi planejado de forma cooperativa com pesquisadores da área de DT de diferentes instituições ao redor do mundo. Trata-se do primeiro estudo em larga escala realizado na área. Ele busca organizar um conjunto aberto e generalizável de dados experimentais sobre causas e efeitos da DT em projetos de software. Por fim, os diagramas probabilísticos de causa e efeito da DT propostos foram avaliados através de estudo de caso executado na academia.
    Resultados: Esta tese apresenta os resultados do estudo terciário executado e as análises realizadas sobre a primeira execução de InsighTD no Brasil e sua primeira replicação nos Estados Unidos. Ao total, 107 profissionais da indústria brasileira e 99 da indústria estadunidense de software responderam ao questionário. Os resultados indicam que há uma ampla familiaridade com o conceito de DT. Prazos, planejamento inadequado, falta de conhecimento e falta de um processo bem definido estão entre as 10 causas mais citadas e mais prováveis de levar à ocorrência da DT em projetos de software. Por outro lado, baixa qualidade, atraso na entrega, baixa manutenibilidade, retrabalho e perdas financeiras estão entre os 10 efeitos mais citados e de maior impacto em um projeto com a presença da DT. Diagramas probabilísticos de causa e efeito da DT para os diferentes tipos de DT foram elaborados. Os resultados também indicaram que o tipo de modelo de processo (ágil, híbrido ou tradicional) impacta nos efeitos da DT sentidos por equipes de desenvolvimento.
    Conclusão: Com InsighTD, pretende-se reduzir o problema de investigações isoladas em DT que ainda não são representativas e, assim, construir um conjunto aberto e generalizável de dados experimentais para a compreensão de problemas práticos e desafios da área. Parte do conhecimento organizado será estruturado em diagramas probabilísticos de causa e efeito que permitem apoiar atividades de gestão da DT.


  • Mostrar Abstract
  • Contexto: O conceito de dívida técnica (DT) contextualiza o problema das tarefas de desenvolvimento 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 um projeto de software incorra em dívida durante o processo de desenvolvimento, no entanto, sua presença traz riscos para o projeto e dificulta sua gestão. Diferentes estratégias de gerenciamento da DT têm sido propostas, contudo, considerar ações que possam evitar sua inserção e monitorar seus efeitos ainda não é uma prática comum. Este é um ponto que merece ser melhor investigado por diferentes motivos: (i) conhecer as causas da DT pode auxiliar as equipes de desenvolvimento na definição de ações que possam ser tomadas para evitar sua ocorrência e (ii) conhecer os possíveis os efeitos da DT pode apoiar na realização de análises de impacto mais precisas e também na definição de ações corretivas para minimizar possíveis consequências negativas da dívida inserida. Dessa forma, enquanto o gerenciamento da DT é um tópico de pesquisa importante, também é necessário entender as causas que podem levar equipes de desenvolvimento a incorrer em diferentes tipos de dívida, bem como os efeitos de sua presença em projetos de software.
    Objetivo: O objetivo desta tese é investigar, através da replicação contínua e independente de surveys distribuídos globalmente, o estado da prática e tendências da indústria sobre DT incluindo causas que levam à sua ocorrência, efeitos de sua existência e como esses problemas se manifestam no processo de desenvolvimento de software. A partir da organização das causas e efeitos identificados, estruturar diagramas de causa e efeito probabilísticos que possam ser utilizados no apoio a atividades de gestão da DT.
    Método: As atividades realizadas nesta tese são fundamentadas no paradigma da engenharia de software experimental. Inicialmente, foi realizado um estudo terciário com o objetivo de investigar o estado atual da pesquisa sobre DT identificando quais tópicos de pesquisa têm sido considerados, organizando direcionamentos de pesquisa e conhecimentos práticos que já foram definidos, identificando os tipos conhecidos de DT, e mapeando quais atividades, estratégias e ferramentas têm sido propostas para apoiar o gerenciamento da DT. Em seguida, foi planejado InsighTD, uma família de surveys globalmente distribuída. InsighTD foi planejado de forma cooperativa com pesquisadores da área de DT de diferentes instituições ao redor do mundo. Trata-se do primeiro estudo em larga escala realizado na área. Ele busca organizar um conjunto aberto e generalizável de dados experimentais sobre causas e efeitos da DT em projetos de software. Por fim, os diagramas probabilísticos de causa e efeito da DT propostos foram avaliados através de estudo de caso executado na academia.
    Resultados: Esta tese apresenta os resultados do estudo terciário executado e as análises realizadas sobre a primeira execução de InsighTD no Brasil e sua primeira replicação nos Estados Unidos. Ao total, 107 profissionais da indústria brasileira e 99 da indústria estadunidense de software responderam ao questionário. Os resultados indicam que há uma ampla familiaridade com o conceito de DT. Prazos, planejamento inadequado, falta de conhecimento e falta de um processo bem definido estão entre as 10 causas mais citadas e mais prováveis de levar à ocorrência da DT em projetos de software. Por outro lado, baixa qualidade, atraso na entrega, baixa manutenibilidade, retrabalho e perdas financeiras estão entre os 10 efeitos mais citados e de maior impacto em um projeto com a presença da DT. Diagramas probabilísticos de causa e efeito da DT para os diferentes tipos de DT foram elaborados. Os resultados também indicaram que o tipo de modelo de processo (ágil, híbrido ou tradicional) impacta nos efeitos da DT sentidos por equipes de desenvolvimento.
    Conclusão: Com InsighTD, pretende-se reduzir o problema de investigações isoladas em DT que ainda não são representativas e, assim, construir um conjunto aberto e generalizável de dados experimentais para a compreensão de problemas práticos e desafios da área. Parte do conhecimento organizado será estruturado em diagramas probabilísticos de causa e efeito que permitem apoiar atividades de gestão da DT.

2
  • CLÍCIA DOS SANTOS PINTO
  • Explorando Técnicas de Computação Heterogênea para Suporte à Vinculação de Grandes Volumes de Dados

  • Orientador : MARCOS ENNES BARRETO
  • MEMBROS DA BANCA :
  • ESBEL TOMÁS VALERO ORELLANA
  • GEORGE MARCONI DE ARAUJO LIMA
  • MARCOS ENNES BARRETO
  • MAYCON LEONE MACIEL PEIXOTO
  • RODRIGO DA ROSA RIGHI
  • Data: 28/07/2020

  • Mostrar Resumo
  • Embora a computação heterogênea seja uma poderosa abordagem para a resolução de problemas computacionalmente intensivos, o seu desempenho e eficiência estão profundamente atrelados às propriedades da carga de trabalho a que são submetidos. O gerenciamento de grandes volumes de dados em ambientes heterogêneos implica na escolha de algoritmos dinâmicos de escalonamento e particionamento que minimizem o tempo de resposta e o volume de comunicação entre as unidades de processamento, ao mesmo tempo em que assegurem escalabilidade. Esta exigência tem se tornado mais urgente à medida que os dispositivos que compõem as plataformas heterogêneas se tornam mais numerosos e diversificados. Este trabalho apresenta uma metodologia para a exploração de técnicas de computação heterogênea em ambientes compostos por CPUs e GPUs para aplicações de vinculação probabilística de grandes volumes de dados, bem como propõe a integração deste método à ferramenta AtyImo, desenvolvida parcialmente durante esta pesquisa. A metodologia proposta permite uma distribuição de dados e tarefas adequada às aplicações que manipulam grandes conjuntos de dados, mais especificamente aplicações de vinculação de registros (data linkage). Como prova de conceito, a solução implementada foi utilizada para integrar dados socioeconômicos em larga escala (100 milhões de registros) com dados de saúde pública armazenados em diferentes fontes governamentais brasileiras. Através da metodologia proposta foi possível vincular 1x10ˆ12 pares de registros em um tempo total próximo a uma hora, o que pode ser considerado um resultado promissor em relação às ferramentas de vinculação de dados existentes. Estes resultados demonstram que a solução desenvolvida possui bom desempenho e se apresenta como alternativa viável para resolver problemas comuns de escalabilidade relacionados à vinculação de registros. A possibilidade de vinculação probabilística de grandes volumes de dados sobre arquiteturas híbridas, explorando a natureza heterogênea dos recursos disponíveis e com tempo de execução extremamente eficiente, constituem as principais contribuições deste trabalho. 


  • Mostrar Abstract
  • Although heterogeneous computing is a powerful approach to solve computationally intensive problems, its performance and efficiency highly depend on the workload to which they are exposed. Managing large volumes of data in heterogeneous environments involves choosing efficient scheduling and partitioning algorithms that minimize the response time and the volume of communication among processing units while ensuring scalability. This requirement has become more urgent as the devices composing such heterogeneous platforms become more numerous and diversified. This work presents a methodology for using heterogeneous computing techniques over hybrid CPU+GPU environments to allow for data and task distribution within big data linkage applications. This methodology was integrated into the AtyImo tool, which was partially developed during this research to provide probabilistic record linkage. As proof of concept, the implemented solution was used to integrate a large-scale (100 million records) socioeconomic database with public health data from disparate governmental sources. The proposed methodology is able to perform 1x10ˆ12 pairwise comparison in around one hour, which is a quite prominent result amongst existing data linkage tools. Observed results evidence that the developed solution achieves good performance and can be an alternative to solve scalability issues in data linkage contexts. The possibility of probabilistically linking massive datasets using hybrid architectures and exploring the heterogeneous nature of available resources with an efficient execution time are the main contributions of this work.

3
  • MICHELLE LARISSA LUCIANO CARVALHO
  • ToffA-DAS: An Approach to conduct Trade-off Analysis for Dynamically Adaptable Software

  • Orientador : EDUARDO SANTANA DE ALMEIDA
  • MEMBROS DA BANCA :
  • EDUARDO SANTANA DE ALMEIDA
  • RAFAEL AUGUSTO DE MELO
  • RITA SUZANA PITANGUEIRA MACIEL
  • CECILIA MARY FISCHER RUBIRA
  • PAULO CESAR MASIERO
  • ROSSANA MARIA DE CASTRO ANDRADE
  • Data: 24/09/2020

  • Mostrar Resumo
  • The Dynamic Software Product Lines (DSPL) engineering processes aim to design Dynamically Adaptable Software (DAS) by increasing the flexibility for the generation of a huge number of configurations. It results in a software configuration space explosion making the analysis more difficult and complicating the developer’s work. In this sense, software engineers need to find a combination of systems features that can simultaneously satisfy constraints specified in feature and context models, Non-functional Requirements (NFRs), and stakeholder’s preferences. It means that they have to measure many configurations until finding the optimal ones, characterizing the product configuration process in a complex optimization problem. Most of the existing studies do not focus on the interactions between contextual information and NFRs when dealing with feature selection to meet the desired quality objectives in DAS. In addition, such studies do not use any planning strategy to support the configuration selection process. Based on these research gaps, we propose an approach that (i) manages the system’s features and contexts; (ii) facilitates the understanding of how DSPL applications can behave from a certain context change, and (iii) enables to conduct trade-off analysis in order to find valid and optimal configurations, which meet the constraints and the interactions between contextual information and NFRs. Aiming to support the context variability modeling of DAS, we proposed the Extended Context-aware Feature Modeling (eCFM) technique to deal with constraints among contexts. Next, we defined the DAS Trade-off Analysis (ToffA-DAS) approach to deal with the configuration selection process embracing interactions between contextual information and NFRs. We also proposed a strategy to analyze context changes in order to define adaptation models for each prioritization of the system’s features, contexts, and NFRs. Finally, we evolved our approach and named it as DAS Trade-off Analysis PLUS (ToffA-DAS+). ToffA-DAS is based on the integer linear programming technique, whereas ToffA-DAS+ uses a genetic algorithm. We performed a set of empirical studies in order to evaluate the proposal for this thesis. First, we conducted a survey to evaluate eCFM from the viewpoint of expressiveness to model the context constraints and easiness of use. Indeed, the analysis was focused on the comprehensibility of contextual variability modeling. Next, we performed a study based on simulations to gather initial evidence about the feasibility of using ToffA-DAS. It is based on how to conduct trade-off analysis and define adaptation models from optimal configurations found in the analysis. We also conducted an exploratory study to evaluate how the configurations obtained by the execution of ToffA-DAS affect the overall satisfaction level of NFRs. Finally, we evaluated the evolution of our approach in comparison with the previous release. As a result of the first study, the eCFM was considered a technique with a great expressiveness to represent adaptation rules among contexts and system features, besides the easiness of use and organization with the grouping of contexts. Therefore, we argue that the software engineers may take into account the use of eCFM technique to model DAS. In the second study, ToffA-DAS presented consistent results in accordance with the real-world scenarios and satisfied the estimated utility values and model constraints. The third study showed that the set of configurations generated by ToffA-DAS execution provide high satisfaction levels of NFRs. In the last study, we collected evidence that ToffA-DAS+ suggests more solutions from then possible valid configurations of the model. Based on the aforementioned studies, we evidenced that our approach can be handy when software engineers need assistance in the understanding of how to design a variety of configurable options for DSPL applications. It is based on the principle that each configuration option must be optimal to meet certain contextual changes without losing service quality. With the usage of our approach, software engineers can exhaustively analyze and simulate a solution before implementing it.


  • Mostrar Abstract
  • The Dynamic Software Product Lines (DSPL) engineering processes aim to design Dynamically Adaptable Software (DAS) by increasing the flexibility for the generation of a huge number of configurations. It results in a software configuration space explosion making the analysis more difficult and complicating the developer’s work. In this sense, software engineers need to find a combination of systems features that can simultaneously satisfy constraints specified in feature and context models, Non-functional Requirements (NFRs), and stakeholder’s preferences. It means that they have to measure many configurations until finding the optimal ones, characterizing the product configuration process in a complex optimization problem. Most of the existing studies do not focus on the interactions between contextual information and NFRs when dealing with feature selection to meet the desired quality objectives in DAS. In addition, such studies do not use any planning strategy to support the configuration selection process. Based on these research gaps, we propose an approach that (i) manages the system’s features and contexts; (ii) facilitates the understanding of how DSPL applications can behave from a certain context change, and (iii) enables to conduct trade-off analysis in order to find valid and optimal configurations, which meet the constraints and the interactions between contextual information and NFRs. Aiming to support the context variability modeling of DAS, we proposed the Extended Context-aware Feature Modeling (eCFM) technique to deal with constraints among contexts. Next, we defined the DAS Trade-off Analysis (ToffA-DAS) approach to deal with the configuration selection process embracing interactions between contextual information and NFRs. We also proposed a strategy to analyze context changes in order to define adaptation models for each prioritization of the system’s features, contexts, and NFRs. Finally, we evolved our approach and named it as DAS Trade-off Analysis PLUS (ToffA-DAS+). ToffA-DAS is based on the integer linear programming technique, whereas ToffA-DAS+ uses a genetic algorithm. We performed a set of empirical studies in order to evaluate the proposal for this thesis. First, we conducted a survey to evaluate eCFM from the viewpoint of expressiveness to model the context constraints and easiness of use. Indeed, the analysis was focused on the comprehensibility of contextual variability modeling. Next, we performed a study based on simulations to gather initial evidence about the feasibility of using ToffA-DAS. It is based on how to conduct trade-off analysis and define adaptation models from optimal configurations found in the analysis. We also conducted an exploratory study to evaluate how the configurations obtained by the execution of ToffA-DAS affect the overall satisfaction level of NFRs. Finally, we evaluated the evolution of our approach in comparison with the previous release. As a result of the first study, the eCFM was considered a technique with a great expressiveness to represent adaptation rules among contexts and system features, besides the easiness of use and organization with the grouping of contexts. Therefore, we argue that the software engineers may take into account the use of eCFM technique to model DAS. In the second study, ToffA-DAS presented consistent results in accordance with the real-world scenarios and satisfied the estimated utility values and model constraints. The third study showed that the set of configurations generated by ToffA-DAS execution provide high satisfaction levels of NFRs. In the last study, we collected evidence that ToffA-DAS+ suggests more solutions from then possible valid configurations of the model. Based on the aforementioned studies, we evidenced that our approach can be handy when software engineers need assistance in the understanding of how to design a variety of configurable options for DSPL applications. It is based on the principle that each configuration option must be optimal to meet certain contextual changes without losing service quality. With the usage of our approach, software engineers can exhaustively analyze and simulate a solution before implementing it.

4
  • LUIS PAULO DA SILVA CARVALHO
  • Identificando e analisando interesses de software a partir de metadados de componentes de terceiros

  • Orientador : MANOEL GOMES DE MENDONCA NETO
  • MEMBROS DA BANCA :
  • CLAUDIO NOGUEIRA SANT ANNA
  • LAIS DO NASCIMENTO SALVADOR
  • MANOEL GOMES DE MENDONCA NETO
  • PAULO CAETANO DA SILVA
  • SÉRGIO CASTELO BRANCO SOARES
  • Data: 16/11/2020

  • Mostrar Resumo
  • Modularidade é um conceito chave no desenvolvimento de sistemas de software. Sistemas bem modularizados são mais fáceis de manter e evoluir. No entanto, não é fácil atingir uma boa modularidade em sistemas de software. Sistemas devem ser modularizados sob diversas perspectivas e, frequentemente, existem interesses importantes que ficam espalhados ou entrelaçados entre vários módulos, os chamados interesses transversais.
    Logging, Acesso a Banco de Dados e Automação de Testes são exemplos de interesses transversais. Apesar de serem importantes, eles geralmente não são centrais às regras de negócio e, por esta razão, não são foco de modularização.
    A análise de interesses transversais tende a se tornar trabalhosa e complexa quando realizada em larga escala. Os estudos sobre interesses frequentemente recorrem à identificação manual dos mesmos. Infelizmente, a identificação manual tende a ser subjetiva e imprecisa, além de exigir muito esforço. Documentos de Arquitetura de Software (SADs) podem ser usados como recursos auxiliares na análise de interesses, mas os SADs não são comuns. E, quando disponíveis, não há garantia de que contenham informações relevantes sobre os interesses sendo investigados. Como consequência, idealmente, os desenvolvedores precisam confiar na automação para identificar e processar informações sobre interesses transversais a partir de código fonte. Abordagens automáticas são essenciais quando a base de código é extensa e necessita-se analisar como estes interesses evoluiram ao longo do histórico do sistema. Nesse contexto, este trabalho utiliza a injeção de componentes em projetos de software para definir um método de localização de informações sobre interesses transversais em projetos de software.
    Em sistemas modernos, os desenvolvedores implementam módulos para lidar com as regras de negócios centrais, mas geralmente injetam componentes de terceiros na base de código para materializar interesses relacionados aos aspectos secundários do sistema. Por exemplo, os anteriormente citados, Logging, Acesso ao Banco de Dados e Automação de Testes são interesses que geralmente são implementadas com a ajuda de componentes
    externos. Por serem estes os tipos de interesse que mais se dispersam e se entrelaçaam nos módulos dos sistemas, vimos a oportunidade de propor um método para apoiar a sua identificação e análise através dos dados e meta-dados de sua injeção no sistema.
    Nosso método, primeiramente, identifica os interesses a partir dos metadados que os desenvolvedores usam para injetar componentes de terceiros em seus sistemas. Em seguida, ele avalia como estes interesses se espalham e evoluem ao longo do tempo na base de código. Desenvolvemos uma ferramenta chamada Architectural Knowledge Suite (AKS) para automatizar o metodo. Usamos essa ferramenta para conduzir um estudo de
    pesquisa-ação com a ajuda de especialistas em desenvolvimento de software para avaliar a confiabilidade de nosso método e refiná-lo. Também executamos três outros estudos processando o código-fonte de sistemas de informação reais para caracterizar e entender como os desenvolvedores implementam interesses no mundo real.
    Entre os resultados obtidos, destacamos que o método correspondeu moderadamente às expectativas dos especialistas. Notamos que é possível otimizar a captura de interesses a partir do código fonte de sistemas, se eles forem agrupados considerando similaridades entre seus contextos de uso. Percebemos que, durante a evolução dos sistemas, artefatos de código tendem a não se dedicar à implementação de interesses específicos. Identificamos oportunidades de adaptação do método para tornar possível sua aplicação sob diferentes cenários de utilização de tecnologias de desenvolvimento.


  • Mostrar Abstract
  • Modularity is a key concept in software development. Well-modularized systems are easier to maintain and evolve. However, it is difficult to achieve good modularity in software systems, because developers must keep systems modular with respect to several perspectives. Frequently, this involves dealing with concerns that scatter and tangle through several modules, the crosscutting concerns as they are called. Logging, Database Access, and Testing Automation are examples of crosscutting concerns. They are important, but many of them are not central to the systems' business rules. As a consequence, often, they are not subject to modularization. Additionally, the analysis of crosscutting concerns tends to be effort-intensive and rapidly grows in complexity in large systems.

    Studies on concerns often resort to manual identification of interests. Unfortunately, manual identification tends to be subjective, imprecise, and effort-intensive. Software Architecture Documents (SADs) can be used as auxiliary resources to identify and analyze concerns, but SADs are not common assets. And, when they are available, there is no guarantee that they contain relevant information about concerns of particular interest. As consequence, ideally, developers should rely on automation to identify and process information about concerns over the source code. Automatic approaches are a must have when the codebase is extensive and one wants to analyze how concerns evolve throughout the system's history. In this context, this work takes advantage of the injection of components in software projects to define a method for locating information about crosscutting concerns in software projects.

    On modern systems, developers implement modules to address central business rules, but they usually inject third-party components in the codebase to materialize concerns related to secondary aspects of the system. For instance, the previously mentioned, Logging, Database Access, and Tests Automation are concerns that are often implemented with the help of external components. As these are the type of concerns that most scatter and interrelate through systems' modules, we saw an opportunity to propose a method to identify and analyzed them using injection data and metadata.

    Our method first identifies concerns from the metadata that developers use to inject third-party components in their systems. Then, it evaluates how those concerns spreads, and evolve through time, over the codebase. We developed a tool named Architectural Knowledge Suite (AKS) to automate the method. We used this tool to conduct an action research study with the help of software development specialists to evaluate the reliability of our method and to refine it. We also ran three other studies using our method to process real information systems' source code, characterizing and analyzing how developers implement concerns in the real world.

    Among our findings, we highlight that our method met the expectations of the specialists to a moderate degree. We perceived that grouping software projects according to their contexts of use can optimize the identification and analyses of concerns. We noticed that developers tend to mix concerns by joining references to different components through the lines of source code artifacts, but we spotted some exceptional cases. We also saw opportunities to adapt our method to expand the identification of concerns toward varied contexts of adopted software development technologies.

5
  • ERASMO LEITE MONTEIRO
  • UMA PROPOSTA DE MODELO DE  MATURIDADE PARA A

    INTEROPERABILIDADE EM SISTEMAS: DO

    SINTATICO AO ORGANIZACIONAL

  • Orientador : RITA SUZANA PITANGUEIRA MACIEL
  • MEMBROS DA BANCA :
  • DANIELA BARREIRO CLARO
  • IVAN DO CARMO MACHADO
  • JOSÉ MARIA NAZAR DAVID
  • PAULO CESAR MASIERO
  • RITA SUZANA PITANGUEIRA MACIEL
  • Data: 04/12/2020

  • Mostrar Resumo
  • Interoperabilidade ´e a capacidade de sistemas heterogˆeneos de se comunicarem de forma transparente e pode ser alcan¸cada por meio de n´ıveis, tais como: (i) sint´atico, (ii) semˆantico, (iii) pragm´atico e (iv) organizacional. No entanto, h´a v´arios desafios para os sistemas fornecerem interoperabilidade, como quais requisitos s˜ao necess´arios para atingir a interoperabilidade desejada. V´arias propostas tˆem sido feitas para resolver aspectos de um determinado n´ıvel especifico de interoperabilidade ou para um determinado dom´ınio. Contudo, a interoperabilidade de um sistema ´e um aspecto que pode evoluir ao longo do seu ciclo de vida, sendo ent˜ao necess´ario apoio para auxiliar este processo. Os modelos de maturidade podem ajudar neste cen´ario pois tˆem sido usados em v´arios dom´ınios para avaliar a maturidade do sistema de acordo com aspectos espec´ıficos (interoperabilidade, por exemplo).Este trabalho apresenta o AMortisse (mAturity Model fOR inTeroperability In Software SystEms), um modelo de maturidade para avaliar a interoperabilidade em sistemas de software que se utiliza de uma metodologia previamente especificada para sua defini¸c˜ao. Esta metodologia visa auxiliar os desenvolvedores de modelos de maturidade, apresentando um ciclo de vida de desenvolvimento aplic´avel a diferentes dom´ınios. Nosso objetivo foi sistematizar as tarefas envolvidas no desenvolvimento destes modelos, como os requisitos de dom´ınio, relacionados em n´ıveis, dimens˜oes e o caminho para a maturidade, alavancando assim a qualidade de um modelo de maturidade produzido. Apesar de sua popularidade, os modelos de maturidade tˆem sido criticados devido `a falta de valida¸c˜ao emp´ırica e m´etodos eficazes para auxiliar em sua defini¸c˜ao. Uma valida¸c˜ao foi realizada por meio da aplica¸c˜ao em um sistema de uma organiza¸c˜ao para atestar a capacidade do Amortisse em indicar a maturidade do sistema.O Amortisse foi capaz de mensurar o n´ıvel de interoperabilidade dos sistemas e indicar quais requisitos devem ser alcan¸cados a fim de evoluir entre os n´ıveis de maturidade. Os resultados desta investiga¸c˜ao mostram que o Modelo de Maturidade Amor