Papers by Danyllo Albuquerque
Managing Technical Debt Using Intelligent Techniques - A Systematic Mapping Study
IEEE Transactions on Software Engineering

Revista Principia - Divulgação Científica e Tecnológica do IFPB
As soft skills ou habilidades interpessoais são uma gama de traços de personalidade, comunicação,... more As soft skills ou habilidades interpessoais são uma gama de traços de personalidade, comunicação, linguagem, hábitos pessoais que caracterizam nossos relacionamentos com outras pessoas. Essas habilidades são imprescindíveis na vida dos profissionais das diversas áreas, sendo estes conceitos difundidos e procurados cada dia mais pelo mercado de trabalho. No contexto dos profissionais da área de informática existe uma demanda prioritária para o desenvolvimento de diversas competências técnicas (e.g., linguagens de programação, bancos de dados entre outras tecnologias). Contudo, existe também uma necessidade crescente de desenvolvimento de competências não-técnicas por parte desse tipo de profissional. Assim, compreender quais soft skills são mais relevantes no contexto destes profissionais é de suma importância para o desenvolvimento de suas atividades. Esta pesquisa tem por objetivo analisar como profissionais de informática enxergam a importância do desenvolvimento das soft skills e...

Anais do II Workshop Brasileiro de Engenharia de Software Inteligente (ISE 2022)
Technical Debt (TD) is a consequence of decision-making in the development process that can negat... more Technical Debt (TD) is a consequence of decision-making in the development process that can negatively impact Software Quality Attributes (SQA) in the long term. Technical Debt Management (TDM) is a complex task to minimize TD that relies on a decision process based on multiple and heterogeneous data that are not straightforward to synthesize. Recent studies show that Intelligent Techniques can be a promising opportunity to support TDM activities since they explore data for knowledge discovery, reasoning, learning, or supporting decision-making. Although these techniques can improve TDM activities, there is a need to identify and analyze solutions based on Intelligent Techniques to support TDM activities and their impact on SQA. For doing so, a Systematic Mapping Study was performed, covering publications between 2010 and 2020. From 2276 extracted studies, we selected 111 unique studies. We found a positive trend in applying Intelligent Techniques to support TDM activities being Mac...
Anais do II Workshop Brasileiro de Engenharia de Software Inteligente (ISE 2022)
O aprendizado profundo (do inglês, Deep Learning) representa uma técnica poderosa para resolver p... more O aprendizado profundo (do inglês, Deep Learning) representa uma técnica poderosa para resolver problemas complexos de aprendizado. Com o crescimento dos dispositivos integrados combinado com uma demanda por baixa latência e melhoramento continuo, os modelos treinados precisam cada vez mais ser executados de forma eficiente. A fim de atender essas demandadas, bem como manter o baixo custo de energia, neste artigo é apresentada a experiência do desenvolvimento de uma Unidade de Processamento Neural baseado em uma arquitetura de acelerador escalável para redes de aprendizado profundo em larga escala usando o Field-Programmable Gate Array (FPGA) como o protótipo de hardware.
Empirical Assessment on Interactive Detection of Code Smells
2022 International Conference on Software, Telecommunications and Computer Networks (SoftCOM)

Proceedings of the International Conference on Technical Debt
Technical Debt (TD) refers to the consequences of taking shortcuts when developing software. Tech... more Technical Debt (TD) refers to the consequences of taking shortcuts when developing software. Technical Debt Management (TDM) becomes complex since it relies on a decision process based on multiple and heterogeneous data, which are not straightforward to be synthesized. In this context, there is a promising opportunity to use Intelligent Techniques to support TDM activities since these techniques explore data for knowledge discovery, reasoning, learning, or supporting decision-making. Although these techniques can be used for improving TDM activities, there is no empirical study exploring this research area. This study aims to identify and analyze solutions based on Intelligent Techniques employed to support TDM activities. A Systematic Mapping Study was performed, covering publications between 2010 and 2020. From 2276 extracted studies, we selected 111 unique studies. We found a positive trend in applying Intelligent Techniques to support TDM activities, being Machine Learning, Reasoning Under Uncertainty, and Natural Language Processing the most recurrent ones. Identification, measurement, and monitoring were the more recurrent TDM activities, whereas Design, Code, and Architectural were the most frequently investigated TD types. Although the research area is up-and-coming, it is still in its infancy, and this study provides a baseline for future research.
Anais do IX Encontro Nacional de Computação dos Institutos Federais (EnCompIF 2022)
A pandemia ocasionada em virtude da COVID-19 proporcionou mudanças abruptas nas mais diversas esf... more A pandemia ocasionada em virtude da COVID-19 proporcionou mudanças abruptas nas mais diversas esferas sociais, incluindo a educação. O objetivo deste trabalho é analisar impactos da pandemia sob a ótica dos discentes em diferentes aspectos. Para isso, conduzimos um survey com alunos de diversos cursos do IFPB-CG por meio de um formulário eletrônico. Mediante análise de 303 respostas válidas, conclui-se que os discentes foram impactados pela pandemia em termos de processo de ensino-aprendizagem e aspectos relacionados à saúde física e mental. Identificar e refletir criticamente sobre essas questões é fundamental para contribuir nas estratégias adotadas durante a pandemia, bem como pós-pandemia.
Managing Technical Debt Using Intelligent Techniques - A Systematic Literature Review [TSE]
Supplementary material of Managing Technical Debt Using Intelligent Techniques - A Systematic Lit... more Supplementary material of Managing Technical Debt Using Intelligent Techniques - A Systematic Literature Review
Intents4Bot - A Flexible Architecture to Capture User Intentions from Dialogue Systems
2022 IEEE International Conference on Consumer Electronics (ICCE), 2022
The capture of user intentions is a cutting-edge technique that can significantly contribute to i... more The capture of user intentions is a cutting-edge technique that can significantly contribute to improving the user experience in dialog systems. However, the construction of solutions to capture user intent comes up against a plethora of techniques and frameworks with different purposes and levels of effectiveness. This makes building user intent capture solutions a challenging task. To deal with this problem, this work aims to present a flexible architecture for the development of solutions for capturing user intentions in the context of dialog systems.

An Extensible and Secure Architecture based on Microservices
2022 IEEE International Conference on Consumer Electronics (ICCE), 2022
In the Internet of Things (IoT) scenario, the distributed cross-domain nature of microservices ne... more In the Internet of Things (IoT) scenario, the distributed cross-domain nature of microservices needs secure token service (STS), key management and encryption services for authentication and authorization, and secure communication protocols. Similarly, the nature of clustered containers (in which microservices are implemented) calls for secure service discovery. The availability requirement calls for: (a) resiliency techniques, such as load balancing, circuit breaking, and throttling, and (b) continuous monitoring (for the health of the service). The service mesh is the best-known approach that can facilitate the specification of these requirements at a level of abstraction such that it can be uniformly and consistently defined while also being effectively implemented without making changes to individual microservice code. The purpose of this work is to provide deployment guidance for a robust security infrastructure for supporting microservices-based applications.
Supplementary Material - A Systematic Literature Review on Applying Intelligent Techniques to Manage Technical Debt
Supplementary Material - A Systematic Literature Review on Applying Intelligent Techniques to Man... more Supplementary Material - A Systematic Literature Review on Applying Intelligent Techniques to Manage Technical Debt
Supplementary Material - SLR on application of IT on TDM activities
Supplementary Material of the paper "A Systematic Literature Review on Application of Intell... more Supplementary Material of the paper "A Systematic Literature Review on Application of Intelligent Techniques in Technical Debt Management Activities"

Problem Statement: Several research efforts have been targeted to support Requirements Engineerin... more Problem Statement: Several research efforts have been targeted to support Requirements Engineering (RE) in general software systems for the last two decades. However, to the extent of our knowledge, there is no framework to support RE in robotic systems domain. Goal: We aimed to systematically identify and analyze the existing research progress and directions that influence the elicitation, analysis and negotiation, specification, validation and management of requirements in robotic systems domain. Method: We used Systematic Mapping Study (SMS) method for identifying and analyzing 38 peer-reviewed studies. Our review has (i) taxonomically classified and (ii) systematically mapped the methods, modelling styles and process which support some RE phases. Results and Conclusions: According to the selected studies, we realize that all RE phases are addressed by one or more methods, modelling styles and process. In general, the elicitation and specification phases received greater attention from the academic community whereas validation, analysis/negotiation and management phases still require more attention. Furthermore, we note that only two studies mention all phases of the ER process but such studies do not describe in detail how RE phases should be performed.

DOI reference number: 10.18293/SEKE2020-157 Abstract—Intelligent Software Engineering (ISE) is cu... more DOI reference number: 10.18293/SEKE2020-157 Abstract—Intelligent Software Engineering (ISE) is currently a hot topic in research. Besides being a promising field, it brings many challenges. Therefore, there is a need for guidelines to help researchers to build an ISE solution. The goal of this study is to identify patterns in developing ISE solutions. For this purpose, we analyzed 42 studies, using a thematic analysis approach, to understand how they reused knowledge and applied it to solve a SE task. As a result, we developed a thematic network composed of the main concepts related to knowledge reuse for ISE. Further, we identified that researchers use external and internal knowledge sources, and mostly rely on structured data to develop ISE solutions. Despite this, there are alternatives such as eliciting data from humans and literature to identify metrics or build knowledge-based systems. Overall, we concluded that there many research opportunities to guide the construction of IS...

DOI reference number: 10.18293/SEKE2020-158 Abstract—The software industry is increasingly adopti... more DOI reference number: 10.18293/SEKE2020-158 Abstract—The software industry is increasingly adopting agile software development (ASD). A characteristic of ASD is of focusing on people over processes. Given this, the literature presents models to evaluate teamwork quality for agile teams. Another perspective is to predict the team’s behavior, given the members’ personality. This study aims to evaluate the effect of the personality of a team on its teamwork quality. For this purpose, we executed an empirical study collecting data from 38 subjects from five software teams, using a psychometric and a teamwork quality instrument presented in the literature. We triangulated the data from both instruments to check their agreement through correlation analysis. As a result, the soft skills expected given the psychometric instrument were observed given the metrics presented in the teamwork quality instrument, evidencing the impact of the team’s personality on its efficiency. Moreover, we obser...

Problem Statement: Several research efforts have been targeted to support Requirements Engineerin... more Problem Statement: Several research efforts have been targeted to support Requirements Engineering (RE) in general software systems for the last two decades. However, to the extent of our knowledge, there is no framework to support RE in robotic systems domain. Goal: We aimed to systematically identify and analyze the existing research progress and directions that influence the elicitation, analysis and negotiation, specification, validation and management of requirements in robotic systems domain. Method: We used Systematic Mapping Study (SMS) method for identifying and analyzing 38 peer-reviewed studies. Our review has (i) taxonomically classified and (ii) systematically mapped the methods, modelling styles and process which support some RE phases. Results and Conclusions: According to the selected studies, we realize that all RE phases are addressed by one or more methods, modelling styles and process. In general, the elicitation and specification phases received greater attentio...

A Comparative Analysis of Agile Teamwork Quality Models
2021 International Conference on Software, Telecommunications and Computer Networks (SoftCOM), 2021
[Background] The literature reports multiple models (or instruments) for measuring Teamwork Quali... more [Background] The literature reports multiple models (or instruments) for measuring Teamwork Quality (TWQ) for Agile Software Development However, these models have different constructs and measures, and there is a lack of empirical evidence comparing them. [Goal] This study fills this gap by analyzing if two agile TWQ models yields equivalent results. [Method] First, we mapped the models’ variables given their definitions. Then, we collected data using both a BN model (Baysean Network model), TWQ-BN, and Structural Equation Modeling, TWQ-SEM, by interviewing 162 team members from two software development companies. We analyzed the collected data by applying the Bland-Altman method. [Results] We obtained enough evidence to conclude that the results for Communication, Coordination, Cohesion and Mutual Support are not equivalent. Conversely, we did not have enough evidence to claim that the models do not agree for measuring Effort and Balance of member contribution. [Conclusions] The results of this study detail how two state-of-the-art agile TWQ compare in terms of their measures as well as potential research areas for further investigation.

Proceedings of the 36th Annual ACM Symposium on Applied Computing, 2021
Background:The literature presents distinct models to assess the Teamwork Quality (TWQ) for agile... more Background:The literature presents distinct models to assess the Teamwork Quality (TWQ) for agile teams. These models have different constructs and, consequently, measures. Unfortunately, there are no results of empirical studies contrasting the existing models. Goal: To fill this gap, this study aims to provide a deep insight into how two state-of-the-art TWQ models (i.e., instruments) compare to each other with respect to the calculated results for practical use. Method: We performed an empirical study to compare both models in terms of their constructs and measures. For comparing their constructs, we ranked the variables from both models, given their relative impact on teamwork quality, and compared the ranks. For comparing their measures, we collected data using both instruments by interviewing 158 team members from two software development companies. First, we theoretically mapped the variables from both models, given their definition. Afterward, from the collected data, we calculated each of the models' variables using the procedures proposed by their creators. Then, we analyzed the level of agreement between the models for each variable, using the Mean Relative Error (MRE). Results: In terms of the constructs, for practical purposes, both models are equivalent, except for including a variable for Team Autonomy. For the measures, the instruments produced similar results for five variables (i.e., Communication, Coordination, Balance of Member Contribution, Effort, and Cohesion). For the sixth variable (Mutual Support), we presented evidence that the results are similar in the models. Still, we believe that more research is needed to analyze it. Conclusions: We believe that we

Disciplined Teams vs. Agile Teams
Advances in Systems Analysis, Software Engineering, and High Performance Computing, 2021
Software development has been considered a socio-technical activity over the past decades. Partic... more Software development has been considered a socio-technical activity over the past decades. Particularly, in the case of software engineering, the necessity to communicate effectively with stakeholders and team members has been progressively emphasized. Human resources play a critical role in the success of software projects. Many techniques, methods, tools, models, and methodologies have been proposed, applied, and improved in order to help and ease the management of the software development process. Regardless of the software development methodology adopted, delivering a quality product in a predictable, efficient, and responsive manner is the objective for every team. Disciplined and Agile teams have different characteristics, but also share common aspects when working to accomplish their goals. The main motivation of this chapter is to present the differences and similarities of both teams in the context of software development.

Disciplined or Agile?
Advances in Systems Analysis, Software Engineering, and High Performance Computing, 2021
Software requirements changes become necessary due to changes in customer requirements and change... more Software requirements changes become necessary due to changes in customer requirements and changes in business rules and operating environments; hence, requirements development, which includes requirements changes, is a part of a software process. Previous studies have shown that failing to manage software requirements changes well is a main contributor to project failure. Given the importance of the subject, there is a plethora of efforts in academia and industry that discuss the management of requirements change in various directions, ways, and means. This chapter provided information about the current state-of-the-art approaches (i.e., Disciplined or Agile) for RCM and the research gaps in existing work. Benefits, risks, and difficulties associated with RCM are also made available to software practitioners who will be in a position of making better decisions on activities related to RCM. Better decisions can lead to better planning, which will increase the chance of project success.
Uploads
Papers by Danyllo Albuquerque