Journal of Software Engineering Research and Development https://journals-sol.sbc.org.br/index.php/jserd <p>The aim of the Journal of Software Engineering and Research Development (JSERD), a fully open access journal, is to inform the readers about state of the art of software engineering by publishing high quality papers that represent results of consolidated research and innovations in software engineering and related areas. Follow us on <a href="https://twitter.com/jserd_official">Twitter</a> to get our updates!</p> Brazilian Computing Society (SBC) en-US Journal of Software Engineering Research and Development 2195-1721 A Preliminary Panoramic View of Continuous Software Engineering Adoption in Brazilian Organizations https://journals-sol.sbc.org.br/index.php/jserd/article/view/3807 <p>Context: Software organizations have faced several challenges, such as the need for faster deliveries, frequent changes in requirements, lower tolerance to failures, and the need to adapt to contemporary business models. Agile practices have allowed organizations to shorten development cycles and increase customer collaboration. However, this has not been enough. Organizations should evolve to continuous and data-driven development in a continuous software engineering approach. Continuous Software Engineering (CSE) consists of a set of practices and tools that support a holistic view of software development with the purpose of making it faster, iterative, integrated, continuous, and aligned with business. Implementing CSE requires changes in the organization’s culture, practices and structure, which may not be easy. Objective: We aim to provide a preliminary picture of CSE adoption in Brazilian organizations. Method: We adapted and used Zeppelin, a diagnostic instrument of CSE adoption based on the Stairway to Heaven Model (StH), to perform a survey with 28 Brazilian organizations aiming at investigating the adoption of CSE practices. After conducting the survey, we interviewed five of the participants to complement the obtained results and better understand how CSE has been performed in their organizations. Results: The survey results indicate that organizations have better addressed agile and continuous deployment practices compared to continuous integration and continuous experimentation practices. However, this scenario varies slightly depending on the type of organization. They also show that CSE adoption has been heterogeneous, but there are patterns in the adoption of some practices. The interview results showed that although the five interviewed organizations have distinct CSE scenarios and perform different practices, some practices are common in all of them (particularly agile practices) and some difficulties are faced by all of them (e.g., automated tests). Conclusion: Although the StH model proposes a sequential and evolutionary path for CSE adoption, organizations have not always followed it systematically. There are indeed CSE practices that depend on others and thus contribute to sequential implementation. However, organizations tend to adopt the practices gradually, covering different stages, and evolving according to the organization’s needs. Moreover, different organizations perform CSE practices in different ways.</p> Paulo Sérgio dos Santos Júnior Fabiano B. Ruy Moisés S. Omêna Monalessa Perini Barcellos Copyright (c) 2025 Paulo Santos Júnior, Fabiano B. Ruy, Moisés S. Omêna, Monalessa P. Barcellos http://creativecommons.org/licenses/by/4.0 2025-02-17 2025-02-17 13 1 13:89 13: 113 10.5753/jserd.2025.3807 On the “fairness” of search-based software engineering: Investigating the capability of a scalarizing-based function to control the software metrics’ influence on optimization process https://journals-sol.sbc.org.br/index.php/jserd/article/view/3906 <p>Search-Based Software Engineering (SBSE) aims to transform Software Engineering (SE) problems into search problems by defining a fitness function that guides the search for an optimal or sub-optimal solution. However, designing a fitness function that provides equitable relevance (or weight) to every SE metric associated with an SBSE problem is an assumption that may be challenging. This issue derives from the several properties related to SE metric value domains that can induce the search process to privilege specific metrics over others, misleading to suboptimal outcomes. To deal with this problem, this work proposes a mathematical model based on the scalarization function concept to better control each metric’s relevance in the search process. Our empirical study comprises two computational experiments. The first experiment aimed to evaluate the proposed scalarizing-based approach’s control capability over the SE metrics in a scenario where all metrics should have the same relevance, while the second experiment covers the scenario where metrics do not necessarily should have the same relevance. The results demonstrate the importance of properly considering the impact, nature, and value range of SE metrics in the search process and the effectiveness of the proposed model in controlling SE metric relevance in different scenarios. This research makes three significant contributions. Firstly, we empirically highlight the importance of properly considering the relevance of individual SE metrics in the search process. Secondly, we propose a generic mathematical model based on scalarizing functions to cope with the normalization process and can be applied to a wide range of SBSE problems. Finally, we show that the our scalarizing approach is capable of guiding search-based process not only in the scenario where all metrics relevance must be equal, but also in the variation of the relevance alongside the optimization process, which is quite important for the design of fitness functions in SBSE.</p> Italo Yeltsin Allysson Allex Araújo Altino Dantas Pamella Soares Raphael Saraiva Jerffeson Souza Copyright (c) 2025 Italo Yeltsin, Allysson Allex Araújo, Altino Dantas, Pamella Soares, Raphael Saraiva, Jerffeson Souza http://creativecommons.org/licenses/by/4.0 2025-03-06 2025-03-06 13 1 13:150 13:168 10.5753/jserd.2025.3906 ADoTe: Approach to teaching and learning functional testing technique criteria supported by Testing Dojo https://journals-sol.sbc.org.br/index.php/jserd/article/view/4103 <p><strong>Context:</strong> Students of computer science and related courses (including those who have already graduated) often have knowledge gaps on software testing and low levels of motivation and interest in learning this subject. Functional testing technique criteria, for example, are usually required and used in industry, but their teaching still needs support. Faced with the problems caused by such gaps and a historical shortage of qualified testing professionals, improvements in testing education are demanded by the industry for the academy. Dojos may contribute in this context since positive results are usually reported regarding their impact on the motivation and perception of learning of students. However, their use is still little explored in the testing area. <strong>Objective:</strong> In this study we aimed to define and evaluate an approach supported by testing dojo to teaching and learning functional testing technique criteria in higher education. <strong>Methods:</strong> We defined the approach (named ADoTe) iteratively, supported by literature data and by quali-quantitative analysis of the results of two executions of a controlled experiment that evaluated the impact of ADoTe (compared to a traditional teaching approach) on the learning (measured by knowledge tests) and motivation (measured by a questionnaire named Intrinsic Motivation Inventory (IMI)) of students. <strong>Results:</strong> From the analysis of data collected from 44 participants we noticed that, although the averages for learning and general motivation of the groups submitted to ADoTe were greater than those of the groups submitted to a traditional teaching approach, it was not possible to state that, for these variables, there was a statistically significant difference between the approaches evaluated. However, the results of the IMI subscale related to intrinsic motivation were statistically significant, indicating that students feel more interest/enjoyment in learning functional testing technique criteria through ADoTe (the averages of the groups submitted to ADoTe were 15.80% and 19.71% higher than those of the control groups). Additionally, the results of thematic analyses carried out on the answers to a retrospective questionnaire showed that ADoTe was well accepted by students and reinforced the importance of its steps and guidelines. <strong>Conclusion:</strong> ADoTe positively impacts the learning and motivation of students and, compared to traditional teaching, tends to lead to greater levels of interest/enjoyment in learning functional testing technique criteria.</p> Vladimir Belinski Adolfo G. Serra Seca Neto Maria Claudia Emer Copyright (c) 2025 Vladimir Belinski, Adolfo Gustavo Serra Seca Neto, Maria Claudia Emer http://creativecommons.org/licenses/by/4.0 2025-02-11 2025-02-11 13 1 13:26 13:60 10.5753/jserd.2025.4103 Characterizating the Participation of the LGBTQIA+ Community on GitHub https://journals-sol.sbc.org.br/index.php/jserd/article/view/4142 <p>Representation and inclusion are ongoing concerns in Software Engineering. To address this issue, previous studies present data and discuss strategies to mitigate inequality in team assembly. However, it is still unclear how these concerns enable the inclusion of developers belonging to minority groups in open-source projects. In particular, little is known about the participation of people from the LGBTQIA+ community in the development of popular GitHub projects. Therefore, this study aims to characterize the participation of this community, based on the collection of 4K user profiles and almost 58K repositories. We also seek to understand the behavior and the interaction of these users within this context, as well as to shed light on the creation of strategies that promote greater inclusion. As a result, it was observed that the technical profile of the users is far from that of the general developer community, despite their active participation in popular JavaScript and Python repositories. The social profile is isolated, with few user interactions, although there is a concentration in specific areas on the platform's map.</p> Erick Paiva Guilherme Carvalho João Pedro Mayrink Maria Clara Maruch Pedro Felix Gabriel Pacheco Laerte Xavier Copyright (c) 2025 Erick Vinicius Oliveira de Paiva, Guilherme Luiz Carvalho Pinto, João Pedro Mayrink de Jesus, Maria Clara Sales Jabali Maruch, Pedro Vítor Felix da Costa, Gabriel de Oliveira Campos Pacheco, Jose Laerte Pires Xavier Junior http://creativecommons.org/licenses/by/4.0 2025-02-11 2025-02-11 13 1 13:61 13:72 10.5753/jserd.2025.4142 Strategies to Mitigate Configuration Differences in Software Development: A Rapid Review of Grey Literature https://journals-sol.sbc.org.br/index.php/jserd/article/view/4378 <p>Context: Configuration differences between development and production environments can lead to system failures, data loss, and security vulnerabilities. Practitioners have acknowledged the need to handle these differences. This study aims to provide insights and best practices for mitigating configuration differences between development and production environments in software development through a rapid review (RR) of Grey Literature (GL). Methods: The research method for data collection involves a Rapid Review of the GL. It also employs a thematic analysis to understand the collected data. Results: The study identified nine strategies that help practitioners to mitigate configuration differences between development and production environments, including credentials of access. Examples of these strategies include Automated Deployment Pipeline, Configuration Management Plan (CMP), and PaaS Deployment. We also provide insights into how these strategies contribute to reducing the risk of configuration-related issues and ensuring the smooth and reliable operation of software systems. Additionally, it suggests potential cost-saving methods for mitigating configuration differences. Conclusions: This study emphasizes the importance of understanding the strategies employed to mitigate the risks associated with managing configuration differences in software development projects. By delivering practical guidance and insights, this study has the potential to help IT operations and software development projects to have a deeper comprehension of software configuration management strategies and best practices.</p> Marcos Nazário Rodrigo Bonifácio Cleidson de Souza Fernando Kamei Gustavo Pinto Copyright (c) 2025 Marcos Nazário, Rodrigo Bonifácio, Cleidson R. B. de Souza, Fernando Kenji Kamei, Gustavo Pinto http://creativecommons.org/licenses/by/4.0 2025-02-20 2025-02-20 13 1 13:114 13:131 10.5753/jserd.2025.4378 What Leads to the Success of Agile Transformation Initiatives? A Study on Critical Success Factors https://journals-sol.sbc.org.br/index.php/jserd/article/view/4502 <p>Background: Agile methods and practices have been consistently adopted in recent years as alternatives to traditional software development processes to address the ever-changing needs of IT organizations. In previous research, we identified twelve critical success factors of agile transformations from a project management perspective and evaluated their relevance with practitioners. In this research, we also identified other factors suggested by the study’s participants. Objective: In this article, we extend our investigation of how practitioners perceive the relevance of these factors and whether other factors should be considered. In addition, we investigate the relevance of the effects these factors have on agile transformations. Method: We conducted a survey involving project managers from several organizations undergoing agile transformations. We analysed the data quantitative and qualitatively. Results: The participants’ perceptions provided valuable insights into the relevance of the critical success factors. Additionally, we identified four new critical success factors: capacity building and continuous learning, improving processes to meet business needs, organizational change management, and focusing on product quality. These newly identified factors foster the understanding of organizations’ challenges during an agile transformation and contribute to a more comprehensive depiction of the challenges involved with such endeavour. Based on the results and the literature, we present three propositions representing recommendations capable of promoting agile transformations. Conclusions: The evidence gathered in this article indicates that the factors and effects investigated are highly relevant. Moreover, organizations should consider them to enhance the chances of success of agile transformation initiatives.</p> Gleison Santos Eliezer Dutra Claudio Saraiva Mattos Alessandra Fortuna Rodrigo Pereira dos Santos Luiz Felipe Ramos Álan Júnior da Cruz Andrade Copyright (c) 2025 Gleison Santos, Eliezer Dutra, Claudio Saraiva Mattos, Alessandra Fortuna, Rodrigo Pereira dos Santos, Luiz Felipe Ramos, Álan Júnior da Cruz Andrade http://creativecommons.org/licenses/by/4.0 2025-02-11 2025-02-11 13 1 13:1 13:25 10.5753/jserd.2025.4502 Bridging Blockchain Technology to Electronic Patient Record Engineering: A Sociotechnical and User-centered Analysis https://journals-sol.sbc.org.br/index.php/jserd/article/view/4624 <p>Blockchain-based Electronic Patient Records (EPRs) are transforming clinical information management by enabling secure, transparent, and decentralized data storage. However, sociotechnical studies on the adoption and impact of collaborative work in healthcare with blockchain-based EPRs are scarce despite their influence on the engineering of these relevant systems. In this context, we conducted a sociotechnical and user-centered analysis to understand the perspective of healthcare professionals and patients on using a blockchain-based EPR and the role of this technology in meeting their requirements. To this end, we developed a Proof of Concept (PoC) of blockchain-based EPR, including its software architecture, and evaluated it through Focus Groups using real-world scenarios and user tests. Our study delivers a practical contribution to the software engineering of blockchain-based EPRs, including findings on the current use of EPR, collaborative aspects, practical adoption, lessons learned, and opportunities for improvement.</p> Pamella Soares Allysson Allex Araújo Raphael Saraiva Jerffeson Souza Copyright (c) 2025 Pamella Soares, Allysson Allex Araújo, Raphael Saraiva, Jerffeson Souza http://creativecommons.org/licenses/by/4.0 2025-02-27 2025-02-27 13 1 13:132 13:149 10.5753/jserd.2025.4624 Software testing for peer-to-peer systems: Challenges and the state-of-the-art https://journals-sol.sbc.org.br/index.php/jserd/article/view/4917 <p>Peer-to-peer (P2P) systems, characterized by their decentralized architecture, have become crucial to various applications such as file sharing, content distribution, and blockchain technologies. Due to their dynamic and heterogeneous nature, ensuring their reliability and robustness presents challenges. Such an issue has motivated researchers to develop testing techniques for these systems. Despite advances in research about software testing for distributed systems, there is a lack of data about their applicability and which features from P2P systems are highlighted by the proposed testing approaches. This paper provides a comprehensive overview of the state-of-the-art software testing for P2P systems. We systematically examine the inherent challenges and situations. Our findings show that some aspects of P2P systems can make the software testing activity difficult, such as validation of global properties and consensus, peer churn, a large volume of data, malformed data, reproducibility, and non-determinism. Several testing techniques have been used in this context, such as model-based testing, fault injection, fuzzing, stress testing, differential testing, conformance testing, and concurrency testing. We highlight fuzzing for testing malformed data, global properties, parallel events, and model-based testing as a powerful technique to abstract the complexities and varieties of P2P applications during the testing activities. Moreover, blockchain applications are the most addressed P2P application explored by the studies, where most papers were published in 2023, highlighting the theme’s relevance.</p> Bruno E. R. Garcia Simone R. S. Souza Copyright (c) 2025 Bruno Garcia, Simone do Rocio Senger de Souza http://creativecommons.org/licenses/by/4.0 2025-02-14 2025-02-14 13 1 13:73 13:88 10.5753/jserd.2025.4917