{"title":"Understanding and Analyzing Factors that Affect Merge Conflicts from the Perspective of Software Developers","authors":"Bárbara Beato Ribeiro, Catarina Costa, R. Santos","doi":"10.5753/jserd.2022.2576","DOIUrl":"https://doi.org/10.5753/jserd.2022.2576","url":null,"abstract":"Merge conflicts are very common in collaborative software development, which is supported mainly by the use of branches that can be potentially merged. In this context, several studies have proposed mechanisms to avoid conflicts whenever possible and some identified factors that lead to conflicts. In this article, we report on an investigation of factors that can lead to conflicts or that can somehow reduce the chances of conflict from the developers’ perspective. To do so, based on related work, we conducted two empirical studies with Brazilian software developers to both understand and analyze factors that affect merge conflicts. Firstly, we conducted survey research with 109 software developers to understand how they use branches, the occurrence of conflicts and the resolution process, and factors that can lead to or avoid conflicts. Results showed that the use of branches is very common and mostly has the purpose of creating a new feature or fixing a bug. According to the participants, in most projects, developers have the autonomy to create new branches and sometimes conflicts happen. The main factors that can lead to conflicts are “the time a branch is isolated” and “lack of communication”. On the other hand, the factors cited as good practices to avoid conflicts were “improve team communication” and “less branching duration”. Secondly, we conducted a field study based on interviews with 15 software developers to analyze those factors to understand better what leads to or avoids conflicts in a merge. Finally, this work allowed us to conclude that communication with the team, checking code updates, shorter branch duration, and management are important for software developers, especially when they think about what increases and decreases merge conflicts.","PeriodicalId":189472,"journal":{"name":"J. Softw. Eng. Res. Dev.","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133553130","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
F. Kamei, I. Wiese, Gustavo Pinto, Waldemar Ferreira, Márcio Ribeiro, Renata Souza, S. Soares
{"title":"Assessing the Credibility of Grey Literature - A Study with Brazilian Software Engineering Researchers","authors":"F. Kamei, I. Wiese, Gustavo Pinto, Waldemar Ferreira, Márcio Ribeiro, Renata Souza, S. Soares","doi":"10.5753/jserd.2022.1897","DOIUrl":"https://doi.org/10.5753/jserd.2022.1897","url":null,"abstract":"In recent years, the use and investigations about Grey Literature (GL) increased, in particular, in Software Engineering (SE) research. However, its understanding is still scarce and sometimes controversial, such as interpreting GL types and assessing their credibility. This study aimed to understand the credibility aspects that SE researchers consider in assessing GL and its types. To achieve this goal, we surveyed 53 SE researchers (who answered that they have used GL in our previous investigation), receiving a total of 34 valid responses. Our main findings show that: 1) GL source produced or cited by a renowned source is the main credibility criteria used to assess GL, 2) most of the GL types tend to have a Low to Moderate level of Control and Expertise, 3) there is a positive statistical correlation between the level of Control and Expertise for most GL types, and 4) the different respondent profiles shared similar opinions about the credibility criteria. Our investigation contributes to helping future SE researchers that intend to use GL with more credibility. Additionally, shows the need for future studies to better understand the GL types in SE research.","PeriodicalId":189472,"journal":{"name":"J. Softw. Eng. Res. Dev.","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114635850","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A survey on the practices of software testing: a look into Brazilian companies","authors":"S. Melo, Ítalo Santos, P. S. Souza, S. Souza","doi":"10.5753/jserd.2022.786","DOIUrl":"https://doi.org/10.5753/jserd.2022.786","url":null,"abstract":"[Context:] Software testing is essential for all software development, and techniques and criteria have been proposed to ensure its quality in different application domains. [Objective:] This survey aims at the identification of software testing practices in Brazilian industries, towards an overview of the latest testing techniques, selection processes, challenges faced, tools and metrics used by testers. [Methodology:] Survey questions were carefully designed for providing relevant information to both industry and academy and evaluated by testers for improving the quality of the survey. [Results and Conclusions:] Our study provides insights into the current software testing practices in Brazilian software companies. The results show testers select a testing technique according to the project scope under development; however, most companies have shown a lack of importance and priority regarding to the testing activity. Some challenges raised will foster new research topics, outlined by the needs faced by testers in practice.","PeriodicalId":189472,"journal":{"name":"J. Softw. Eng. Res. Dev.","volume":"171 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123542045","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
T. Kudo, R. Bulcão-Neto, A. Vincenzi, É. Souza, K. Felizardo
{"title":"Using evidence from systematic studies to guide a PhD research in Requirements Engineering - an experience report","authors":"T. Kudo, R. Bulcão-Neto, A. Vincenzi, É. Souza, K. Felizardo","doi":"10.5753/jserd.2021.1978","DOIUrl":"https://doi.org/10.5753/jserd.2021.1978","url":null,"abstract":"Conducting systematic studies during a postgraduate program, such as systematic review, systematic mapping, and tertiary review, can benefit the project’s success. They provide an overview of the literature considering currently available research findings, establish baselines for other research activities, and support decisions made throughout the research project. However, there is a shortage of research that presents systematic studies experiences in supporting academic projects. This paper’s main contribution is reporting our experience on how the evidence found in tertiary and secondary studies positively influenced a PhD project’s decisions. Initially, a tertiary study was conducted, followed by a systematic mapping. The evidence returned by the tertiary study led to the definition of the PhD research proposal in the Requirement Engineering field. Moreover, a systematic mapping contributed to the definition of the PhD research problem. From this experience in undertaking systematic studies to support a PhD project, the paper also presents lessons learned and recommendations to guide PhD students’ decisions.","PeriodicalId":189472,"journal":{"name":"J. Softw. Eng. Res. Dev.","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121750539","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Tiago Tadeu Madrigar, T. Colanzi, W. Oizumi, Luiz Fernando Okada, Alessandro F. Garcia
{"title":"OPLA-Tool-ASP: a Tool to Prevent Architectural Smells in Search-based Product Line Architecture Design","authors":"Tiago Tadeu Madrigar, T. Colanzi, W. Oizumi, Luiz Fernando Okada, Alessandro F. Garcia","doi":"10.5753/jserd.2021.1903","DOIUrl":"https://doi.org/10.5753/jserd.2021.1903","url":null,"abstract":"Search-based algorithms have been successfully employed in Product Line Architecture (PLA) design in the seminal approach named Multi-Objective Approach for Product-Line Architecture Design (MOA4PLA). This approach generates a set of alternative PLA designs, which optimize different architectural properties. In addition to these properties, the alternative PLA designs should have as few architectural smells as possible. Architectural smells can negatively impact PLA variability, PLA extensibility, SPL maintainability, and other non-functional attributes. However, one of the main findings of a previous study is that the tool that automates the application of MOA4PLA adversely introduces architectural smells in the automatically generated solutions. In this work, we present OPLA-Tool-ASP, which is a tool that implements guidelines to detect and prevent the architectural smells Unused Interface, Unused Brick, Concern Overload, and Link Overload in the context of MOA4PLA. An empirical study was carried out to assess the effectiveness of OPLA-Tool-ASP in preventing the aforementioned smells in the resulting PLA designs. The obtained results pointed out that the proposed tool is effective in both preventing the smells and improving the architectural properties selected for optimization.","PeriodicalId":189472,"journal":{"name":"J. Softw. Eng. Res. Dev.","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134556206","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
R. Parizi, Marina Moreira da Silva, Igor Couto, S. Marczak, T. Conte
{"title":"A Tool Proposal for Recommending Design Thinking Techniques in Software Development","authors":"R. Parizi, Marina Moreira da Silva, Igor Couto, S. Marczak, T. Conte","doi":"10.5753/jserd.2021.1931","DOIUrl":"https://doi.org/10.5753/jserd.2021.1931","url":null,"abstract":"Design Thinking (DT) has been incorporated into software processes by teams from startups to large companies, used in problem exploration fostering innovative solutions, and integrated into agile methods to satisfy the real stakeholders’ needs. DT places the customer needs up-front and helps to empathize with users, examining their behaviors, and producing outcomes focused on users’ demand. A set of techniques, like personas and user journey, can be used to support this human-centered approach. Selecting which technique to use might be challenging since factors such as the application scenario, stakeholder engagement level and previous knowledge of the problem-to-be-solved may vary from case to case. In our previous work we presented a DT session conducted to better understand the need for a recommendation tool, followed by a requirements elicitation activity in which we defined how the tool should work, and an early evaluation of the initial tool low-fidelity prototypes. Inspired by the Design Science Research method, in this article we extend our previous work by furthering what we performed in the tool’s definition process. We included in this work a requirements refining activity through high-level fidelity prototypes, and a requirements validation activity through a questionnaire-based feedback collection with professionals who have experience on the use of DT in software development. Our results show that our proposal offers an useful and easy to use tool to recommend DT techniques with the potential to support those professionals who apply DT in requirements engineering by suggesting techniques that are the best fit to the declared context.","PeriodicalId":189472,"journal":{"name":"J. Softw. Eng. Res. Dev.","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-03-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114249253","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
B. Lebtag, Paulo Gabriel Teixeira, R. Santos, Davi Viana, V. V. G. Neto
{"title":"Strategies to Evolve ExM Notations Extracted from a Survey with Software Engineering Professionals Perspective","authors":"B. Lebtag, Paulo Gabriel Teixeira, R. Santos, Davi Viana, V. V. G. Neto","doi":"10.5753/jserd.2021.1939","DOIUrl":"https://doi.org/10.5753/jserd.2021.1939","url":null,"abstract":"Contemporary complex systems often exhibit dynamic structures and behaviors, several components/systems involved, and multiple interoperability links. Those systems have been exposed to fragilities of traditional software specification languages (e.g. UML and SySML), since such languages were designed to document single (not multiple interoperating) systems. Those limitations can potentially further compromise the quality of the final software product. In this context, Executable Models (ExM) technology, such as simulation models, models@runtime and executable UML, satisfy the aforementioned requirements by supporting engineers with visualization of the system structures (still at design-time) and the ability to exercise their behaviors and interactions. In our prior study, we presented the results of an exploratory study on the perceptions of those professionals (from both industry and academia) regarding the use of ExM to solve problems in their current practice. We exposed 58 professionals (researchers and practitioners) to situations to solve problems using a specific type of ExM (DEVS simulation models), based on survey research. Responses were quantitatively and qualitatively analyzed. In this article, we extended the obtained results by analyzing and compiling a list of strategies to improve ExM notations to better address the needs of software engineering professionals. Later, we assessed those strategies with software engineering researchers to confirm the importance of the proposed strategies. Results revealed that executable languages still require advances to bring them even closer to the current software engineering practice and towards a more significant adoption in the future. The proposed strategies focus on improvements on the robustness of the ExM notations, visual representation of the models, the usability of the models, and user support.","PeriodicalId":189472,"journal":{"name":"J. Softw. Eng. Res. Dev.","volume":"183 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-01-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131398659","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Nelson G. de Sá Leitão Júnior, I. Júnior, H. Moura, S. Marczak
{"title":"On a Preliminary Theory of Communication in Distributed Software Development: A Grounded Theory-Based Research","authors":"Nelson G. de Sá Leitão Júnior, I. Júnior, H. Moura, S. Marczak","doi":"10.5753/jserd.2021.804","DOIUrl":"https://doi.org/10.5753/jserd.2021.804","url":null,"abstract":"Communication is one of the leading challenges faced by teams working in a distributed setting; yet, little has been theorized about how communication occurs in such context. Our long-term research goal is to construct a Communication Theory in Distributed Software Development, aiming to propose a theoretical foundation for future academic studies on the topic of communication and a reference for industry practitioners. To achieve this goal, we are using Grounded Theory, including an Exploratory Literature Review before the theory construction, to confirm the research gap. In this paper, we present a further preliminary version of the Communication Theory comprising six theoretical categories and 31 subcategories. The theory brings, up to know, a consolidated body of knowledge and points out the main concepts that define what communication is in distributed software teams.","PeriodicalId":189472,"journal":{"name":"J. Softw. Eng. Res. Dev.","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129304653","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Regina Albuquerque, Gleison Santos, A. Malucelli, S. Reinehr
{"title":"Software process improvement programs: What are the pitfalls that lead to abandonment?","authors":"Regina Albuquerque, Gleison Santos, A. Malucelli, S. Reinehr","doi":"10.5753/jserd.2021.1944","DOIUrl":"https://doi.org/10.5753/jserd.2021.1944","url":null,"abstract":"While many organizations successfully embrace and experience software process improvement (SPI) benefits, others abandon the effort before realizing the total potential result of an SPI initiative. Therefore, researchers' interest in understanding the reasons why software organizations that have a successful start in adopting SPI abandon improvement initiatives after evaluation has increased. Thus, this work aims to investigate how the abandonment of SPI programs based on maturity models occurs after the evaluation. The multiple case study method was used with eight organizations. Data were analyzed using Grounded Theory open and axial coding procedures. The results show that SPI initiatives failed because of internal factors (people, SPI project management, organizational aspects, and processes) and external factors to the organizational context (country economic crisis, outsourcing, governmental political influence, and external pressure from the client). As a contribution, we highlight the identification of these factors that organizations can use to learn about their initiatives and avoid pitfalls that can lead to the abandonment of SPI.","PeriodicalId":189472,"journal":{"name":"J. Softw. Eng. Res. Dev.","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122711174","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Adriana Lopes Damian, E. Canedo, C. D. Souza, T. Conte
{"title":"Towards to Transfer the Directives of Communicability to Software Projects: Qualitative Studies","authors":"Adriana Lopes Damian, E. Canedo, C. D. Souza, T. Conte","doi":"10.5753/jserd.2021.1942","DOIUrl":"https://doi.org/10.5753/jserd.2021.1942","url":null,"abstract":"The software artifacts developed in the early stages of the development process describe the proposed solutions for the software. For this reason, these artifacts are commonly used to support communication among members of the development team. Miscommunication through software artifacts occurs because practitioners typically focus on their modeling, without reflecting on how other software development team members interpret them. In this context, we proposed the Directives of Communicability (DCs) to support practitioners analyzing characteristics that affect the artifact’s content on communication via artifact. We conducted preliminary studies in a controlled environment with our proposal. However, we noticed that new studies are necessary to evaluate the DCs concerning practitioners’ perceptions before transferring them to the industry. In this paper, we present two studies performed aiming to transfer the DCs to the software industry. In the first study, we evaluated the practitioners’ perception about the DCs. In the second study, we evaluated the feasibility of the DCs in a software development team. The studies’ results indicated that DCs have the potential to support improvements in artifacts’ content to reduce miscommunication via artifact. To facilitate the use of our proposal in the software industry, we created procedures that support the adoption of the DCs and checklists for the application of each directive in the software artifacts. We noticed positive perceptions of practitioners about the application of DCs in software artifacts. We hope that our contribution support software development teams that use artifacts in your projects.","PeriodicalId":189472,"journal":{"name":"J. Softw. Eng. Res. Dev.","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-11-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122564949","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}