Dissertations/Thesis

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

2021
Thesis
1
  • TIAGO OLIVEIRA MOTTA
  • A Study of Characterization of Architectural Changes in Free Software Projects

  • Advisor : RODRIGO ROCHA GOMES E SOUZA
  • COMMITTEE MEMBERS :
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • MANOEL GOMES DE MENDONCA NETO
  • PAULO CESAR MASIERO
  • PAULO ROBERTO MIRANDA MEIRELLES
  • RODRIGO ROCHA GOMES E SOUZA
  • Data: Apr 26, 2021


  • Show Abstract
  • The current literature points out that the scarcity of architectural documentation predominates in free software projects. In this sense, several techniques have been proposed to retrieve information about the architecture, and most of them focus on structural aspects from the source code, an element that accompanies the evolution of the software product.
    Problem. However, these techniques do not retrieve other information about the architecture (nor its evolution), such as the objectives, restrictions and motivations, non-functional requirements, data access or communication mechanisms used in the project.
    Objective. The purpose of this work is to characterize architectural changes in Free Software projects, presenting the impacts caused by them in the project's source code in comparison with other types of changes in which the architecture has not been modified. The hypotheses are that the commit messages record information about changes in the project architecture and this type of change impacts the project code differently compared to changes where the architecture has not been modified.
    Methodology. Initially, an empirical study was produced, from the mining of repositories, in which architectural traces were identified in records of information about changes contained in commit messages. From the data collected, an exploratory study was carried out that characterized such changes about when the project's evolution occurred, who are its authors, which architectural topics are modified, in addition to the characteristics of these messages and the group of modules affected by the change . After this study, a second empirical study was conducted, involving the extraction of metrics from source code of the versions of the project identified as having undergone modifications in their architecture. Finally, a study was carried out to evaluate the results obtained, considering the opinions of researchers in the field of Architecture and Software Engineering, as well as of developers regarding the characterization obtained in the face of architectural changes.
    Results. Among the discoveries made, it can be noted that periods of release of new versions are concentrators of architectural changes, the main collaborators of the project are also the collaborators who most modify the architecture and all the architectural topics of the project are subject to modifications, however in different scales. Other important aspects of architectural changes are that (i) the size of the code tends to increase; (ii) the complexity and cohesion of the code tends to remain; and (iii) the verified coupling increased to two metrics and in three others it was maintained, when compared to changes in the design where the architecture was not reached. Finally, during the third study of this thesis, developers and researchers confirmed the hypothesis that architectural documentation is scarce in Free Software projects, and the main way to retrieve information about architecture, until now, is by analyzing the source code of several shapes. Most research participants agree with the results obtained by this study in relation to the variation of code metrics, both as being generalizable and verifiable in the projects where they research and develop. Some developers showed slight disagreements as to the variations of metrics obtained. Regarding architectural features as sources of information about architecture, most developers and researchers claimed to be a promising source of information but made the reservation that an ideal scenario would be to combine them with other information from the project.

2019
Thesis
1
  • IURI SANTOS SOUZA
  • Understanding Variability-Aware Smells in Software Product Lines

  • Advisor : EDUARDO SANTANA DE ALMEIDA
  • COMMITTEE MEMBERS :
  • EDUARDO SANTANA DE ALMEIDA
  • MANOEL GOMES DE MENDONCA NETO
  • RODRIGO ROCHA GOMES E SOUZA
  • RODRIGO OLIVEIRA SPINOLA
  • JOSÉ AMÂNCIO MACEDO SANTOS
  • Data: Jun 28, 2019


  • Show Abstract
  •  Nowadays, there are several techniques and tools to deal with variability and they have been applied in the development of highly configurable systems such as Software Product Lines (SPL). This configurability can be achieved through variable code structures using techniques such as conditional compilation. 

    However, such code variability adds new dimensions of complexity, such as program comprehension and maintainability of code, and enables new possibilities for code smells. Code smells describe design flaws or decay in the source code. Nevertheless, most of the smells reported in the literature do not consider variability and fail to suitably characterize flaws of variable code structures.

    This Thesis proposal intends to investigate and characterize smells for highly configurable systems developed through Java language and feature modeling. We propose a set of six variability-aware smells and investigates smell instances as well as the negative impact of the proposed smells through a set of empirical studies to validate the gathered evidence and proposal of these smells.

    The conducted empirical studies reported a set of evidence that confirmed five of six proposed variability-aware smells. In addition, developer interviews improved the body of knowledge of the proposed smells pointing out some possible reasons for their presence. 

2
  • RAFAEL FREITAS REALE

  • Cognitive and dynamic resource allocation for MPLS / DSTE networks

  • Advisor : JOBERTO SERGIO BARBOSA MARTINS
  • COMMITTEE MEMBERS :
  • JOBERTO SERGIO BARBOSA MARTINS
  • LEOBINO NASCIMENTO SAMPAIO
  • ALLAN EDGARD SILVA FREITAS
  • ANILTON SALLES GARCIA
  • LISANDRO ZAMBENEDETTI GRANVILLE
  • Data: Jul 19, 2019


  • Show Abstract

  • Competition for network resources needs to be arbitrated according to the characteristics of each application or service to provide a satisfactory, transparent and cost-effective manner for users. Meeting resource requests dynamically, that is, without prior allocation (scheduling) of resources for applications and services can allow sharing of them for better use of the network. Due to the heterogeneity of user profiles, applications and services, dynamic response to resource requests tends to generate dynamic competition for resources across networks as a whole. Bandwidth allocation models have the attributes that allow you to define application classes and control the distribution of resources between classes intuitively. These models can be changed and / or reconfigured to optimize resource utilization to evolve their behaviors in line with the traffic profile and communication and network quality requirements. Defining behavior in resource arbitration that reflects better efficiency of network quality and communication requirements defined in a given traffic profile is a complex task. This complexity can make human intervention a point of failure. Generally speaking, cognitive management systems are designed to handle complex tasks where human intervention can be a point of failure. These systems are able to autonomously configure themselves in response to changes or failures in accordance with business policies specified by administrators. This thesis proposes the cognitive and dynamic orchestration of BAM-based resource allocation (bandwidth) for MPLS / DSTE networks. To this end, they propose a new GBAM band allocation model that generalizes the behaviors of classic models and allows new strategy combinations to be configurable at runtime; and a cognitive framework (Cognitive BAM) that dynamically learns and orchestrates GBAM behavior in line with the traffic profile and communication and quality requirements set for the network.

3
  • FLÁVIO GALVÃO CALHAU
  • A Cognitive Power Grid Recovery Strategy in the Smart Grid Context

  • Advisor : JOBERTO SERGIO BARBOSA MARTINS
  • COMMITTEE MEMBERS :
  • EDUARDO CAMBRUZZ
  • JOBERTO SERGIO BARBOSA MARTINS
  • JOSÉ ANTONIO GOMES DE LIMA
  • KLEBER FREIRE DA SILVA
  • NATALIA CASTRO FERNANDES
  • Data: Aug 2, 2019


  • Show Abstract
  • The reconfiguration of electricity distribution networks has become quite attractive due to the process of automation and incorporation of electronic devices, which enable remote maneuvers. The reconfiguration process consists of changing the distribution network topology by closing or opening the interconnect switches. The distribution network reconfiguration process aims to support decision-making, planning and / or real-time control of grid operation aiming at minimizing active losses, load balancing and fault isolation and improving voltage levels. . The task of managing and making decisions to change the power grid topology is a very complex task due to the diversity of configuration possibilities. In this context, Autonomic Management Systems (AMS) are being investigated as a workable solution to the power grid reconfiguration problem. Thus, it is expected that human intervention in management can be replaced by autonomously generated solutions, preferably dynamically. This thesis proposes the use of Case-Based Reasoning (CBR) coupled with the HATSGA algorithm for the rapid reconfiguration of large power distribution networks. The suitability and scalability of the CBR-based reconfiguration strategy using the HATSGA algorithm are evaluated. Performance evaluation indicates that the HATSGA algorithm calculates new reconfiguration topologies with viable computational time for large network topologies. The CBR strategy looks for acceptable management reconfiguration solutions in the CBR database and, as such, contributes to reducing the required number of reconfiguration calculations using HATSGA. This suggests that CBR can be applied with a quick reconfiguration algorithm, resulting in a more efficient, dynamic and cognitive network recovery strategy.

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

  • Advisor : JOSE AUGUSTO SURUAGY MONTEIRO
  • COMMITTEE MEMBERS :
  • EDMUNDO ROBERTO MAURO MADEIRA
  • FRANCISCO VILAR BRASILEIRO
  • JOBERTO SERGIO BARBOSA MARTINS
  • JOSE AUGUSTO SURUAGY MONTEIRO
  • MAYCON LEONE MACIEL PEIXOTO
  • Data: May 10, 2018


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

2
  • THIAGO SOUTO MENDES
  • IDENTIFICATION AND INTERACTIVE MONITORING OF TECHNICAL DEBT THROUGH THE COMBINATION OF SOFTWARE METRICS AND SOURCE CODE COMMENTS
  • Advisor : MANOEL GOMES DE MENDONCA NETO
  • COMMITTEE MEMBERS :
  • CHRISTINA VON FLACH GARCIA CHAVEZ
  • CLAUDIO NOGUEIRA SANT ANNA
  • JOSÉ AMÂNCIO MACEDO SANTOS
  • MANOEL GOMES DE MENDONCA NETO
  • MARCOS KALINOWSKI
  • Data: May 11, 2018


  • Show Abstract
  • The concept of technical debt contextualizes the problem of outstanding maintenance tasks as a kind of debt that brings a short-term benefit to the project but which may have to be paid with interest later in the development process. It is common for software projects to incur debt during the development process since small amounts of debt can increase productivity in the short term. However, their presence brings risks and difficulties to the management of software projects. Software metrics have been used in automatic identification of technical debt. However, this use is not a trivial task, since it requires specific tooling and depends on knowledge of the domain, context, and baselines and own models to determine threshold values of the metrics that indicate a technical debt. These models, many of them based on the detection of code smells, generate high rates of false positives. In recent years, studies have also been conducted using analyzes of source code comments as another alternative for automatic identification of technical debt. In this scenario, the present work aims to investigate the existing correlations in the combination of metrics and comments information in the technical debt identification process. In pursuit of this objective, the following activities were carried out: (i) a systematic mapping of the literature to identify the main types of technical debt, their respective indicators, and strategies for their management; (ii) studies to understand problems caused by different types of debt, especially the debts of code, project and documentation; (iii) studies to define a technical debt identification strategy by combining metrics and code comments; and (iv) development of two tools: the first to mine software repositories, calculate metrics, detect code smells, identify technical debt through the combination of different indicators, and the second that uses visual techniques to support evolution identification and monitoring technical debt based on the results of the studies that were carried out; and (v) an exploratory study with three software to verify the relationship between metrics and comments in the identification of technical debt. The results of the studies show that the comments can be used with a complementation of the information generated from the metrics, to assist the project managers in the identification and prioritization of the debts to be paid.
3
  • TASSIO FERREIRA VALE
  • Trace2vary: A New Algorithm to Recover SPL Feature-Code Traces

  • Advisor : EDUARDO SANTANA DE ALMEIDA
  • COMMITTEE MEMBERS :
  • CLAUDIO NOGUEIRA SANT ANNA
  • EDUARDO SANTANA DE ALMEIDA
  • TATIANE NOGUEIRA RIOS
  • PAULO HENRIQUE MONTEIRO BORBA
  • ALTIGRAN SOARES DA SILVA
  • Data: Oct 19, 2018


  • Show Abstract
  • Traceability in Software Product Lines (SPL) refers to the interrelation of software artifacts through required links to answer specific questions about families of products and their underlying development processes. Traceability becomes even more complex in SPLs if compared to single system development due to additional issues posed by the need for variability management in all development stages. Such variability should be systematically traced to cope with a consistent product line evolution. This thesis initially generated a systematic mapping study evidence by analyzing 62 SPL traceability primary studies. A set of aspects for such research field were investigated: main goals, strategies, application domains, research intensity, challenges, research rigor, and industrial relevance. The mapping study findings indicated a set of research gaps as the one addressed by this work, the lack of SPL traceability recovery (semi-) automatic techniques. Although there is a set of studies that perform traceability recovery using information retrieval methods in a single system development setting, none of them have targeted the SPL application domain. Thus, another contribution of this work concerned the evaluation of IR-based proposals as traceability recovery instruments since they represent a successful alternative for single system scenarios. The evaluation performed in a controlled-experiment fashion applied five different IR methods (namely classic vector, extended boolean, latent semantic indexing, neural network and BM25) into 41 SPL projects aiming at recovering feature-to-code trace links. The experimental results identified limitations of IR proposals related to low recovery precision rates and the inability to collect information related to variability. Considering the limitations of current research, this thesis proposes trace2vary, a traceability recovery algorithm that creates relevant feature-code trace links with embodied variability information. The evaluation results from the application of the proposal in 16 real-world projects with a total of, approximately, 61 million lines of code, indicate that trace2vary presents improvements in the traces recovery precision and the ability to provide variability knowledge at both feature and source code levels.

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