Change search
Refine search result
1 - 45 of 45
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Rows per page
  • 5
  • 10
  • 20
  • 50
  • 100
  • 250
Sort
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
Select
The maximal number of hits you can export is 250. When you want to export more records please use the Create feeds function.
  • 1.
    Avritzer, Alberto A.
    et al.
    ESulab Solutions, USA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Trubiani, Catia
    Gran Sasso Science Institute, ITA.
    Russo, Barbara
    Free University of Bozen-Bolzano, ITA.
    Janes, Andrea
    Free University of Bozen-Bolzano, ITA.
    Camilli, Matteo
    Free University of Bozen-Bolzano, ITA.
    Van Hoorn, André V.
    University of Stuttgart, DEU.
    Heinrich, Robert
    Karlsruhe Institute of Technology, DEU.
    Rapp, Martina
    FZI Forschungszentrum Informatik, DEU.
    Henß, Jörg
    FZI Forschungszentrum Informatik, DEU.
    A Multivariate Characterization and Detection of Software Performance Antipatterns2021In: ICPE 2021 - Proceedings of the ACM/SPEC International Conference on Performance Engineering, Association for Computing Machinery, Inc , 2021, p. 61-72Conference paper (Refereed)
    Abstract [en]

    Context. Software Performance Antipatterns (SPAs) research has focused on algorithms for the characterization, detection, and solution of antipatterns. However, existing algorithms are based on the analysis of runtime behavior to detect trends on several monitored variables (e.g., response time, CPU utilization, and number of threads) using pre-defined thresholds. Objective. In this paper, we introduce a new approach for SPA characterization and detection designed to support continuous integration/delivery/deployment (CI/CDD) pipelines, with the goal of addressing the lack of computationally efficient algorithms. Method. Our approach includes SPA statistical characterization using a multivariate analysis approach of load testing experimental results to identify the services that have the largest impact on system scalability. More specifically, we introduce a layered decomposition approach that implements statistical analysis based on response time to characterize load testing experimental results. A distance function is used to match experimental results to SPAs. Results. We have instantiated the introduced methodology by applying it to a large complex telecom system. We were able to automatically identify the top five services that are scalability choke points. In addition, we were able to automatically identify one SPA. We have validated the engineering aspects of our methodology and the expected benefits by means of a domain experts' survey. Conclusion. We contribute to the state-of-The-Art by introducing a novel approach to support computationally efficient SPA characterization and detection in large complex systems using performance testing results. We have compared the computational efficiency of the proposed approach with state-of-The-Art heuristics. We have found that the approach introduced in this paper grows linearly, which is a significant improvement over existing techniques. © 2021 ACM.

    Download full text (pdf)
    fulltext
  • 2.
    Avritzer, Alberto A.
    et al.
    ESulab Solutions, USA.
    Camilli, Matteo
    Free University of Bozen-Bolzano, ITA.
    Janes, Andrea
    Free University of Bozen-Bolzano, ITA.
    Russo, Barbara
    Free University of Bozen-Bolzano, ITA.
    Jahic, Jasmin
    University of Cambridge, GBR.
    Hoorn, André Van
    University of Stuttgart, DEU.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Trubiani, Catia
    Gran Sasso Science Institute, ITA.
    PPTAMλ: What, Where, and How of Cross-domain Scalability Assessment2021In: Proceedings - 2021 IEEE 18th International Conference on Software Architecture Companion, ICSA-C 2021, Institute of Electrical and Electronics Engineers Inc. , 2021, p. 62-69Conference paper (Refereed)
    Abstract [en]

    Software development ecosystems vary significantly among different industrial domains. Therefore, it is challenging to establish quality assurance processes that can be deployed seamlessly to multiple domains. In this paper, we extend our previous work on performance and scalability assessment by identifying the architecture variability points in our PPTAM tooling infrastructure. The goal is to design a modifiable software architecture that enables low cost deployment of our performance and scalability assessment approach. We present the scalability assessment context, architecture modifiability, and lessons learned that were derived from our experience with scalability assessment in several business domains. Specifically, we describe our experience with the application of the proposed approach to a large complex telecom system at Ericsson. © 2021 IEEE.

  • 3. Avritzer, Alberto
    et al.
    Beecham, Sarah
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Kroll, Josiane
    Menaché, Daniel
    Noll, John
    Paasivaara, Maria
    Extending Survivability Models for Global Software Development with Media Synchronicity Theory2015In: Proceeding of the IEEE 10th International Conference on Global Software Engineering, IEEE Communications Society, 2015, p. 23-32Conference paper (Refereed)
    Abstract [en]

    In this paper we propose a new framework to assess survivability of software projects accounting for media capability details as introduced in Media Synchronicity Theory (MST). Specifically, we add to our global engineering framework the assessment of the impact of inadequate conveyance and convergence available in the communication infrastructure selected to be used by the project, on the system ability to recover from project disasters. We propose an analytical model to assess how the project recovers from project disasters related to process and communication failures. Our model is based on media synchronicity theory to account for how information exchange impacts recovery. Then, using the proposed model we evaluate how different interventions impact communication effectiveness. Finally, we parameterize and instantiate the proposed survivability model based on a data gathering campaign comprising thirty surveys collected from senior global software development experts at ICGSE'2014 and GSD'2015.

  • 4.
    Avritzer, Alberto
    et al.
    eSulab Solutions, USA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Trubiani, Catia
    Gran Sasso Science Institute, ITA.
    Camilli, Matteo
    Free University of Bozen-Bolzano, ITA.
    Janes, Andrea
    Free University of Bozen-Bolzano, ITA.
    Russo, Barbara
    Free University of Bozen-Bolzano, ITA.
    van Hoorn, André
    University of Hamburg, DEU.
    Heinrich, Robert
    Karlsruhe Institute of Technology, DEU.
    Rapp, Martina
    FZI Forschungszentrum Informatik, DEU.
    Henß, Jörg
    FZI Forschungszentrum Informatik, DEU.
    Chalawadi, Ram Kishan
    Ericsson AB, SWE.
    Scalability testing automation using multivariate characterization and detection of software performance antipatterns2022In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 193, article id 111446Article in journal (Refereed)
    Abstract [en]

    Context: Software Performance Antipatterns (SPAs) research has focused on algorithms for their characterization, detection, and solution. Existing algorithms are based on the analysis of runtime behavior to detect trends on several monitored variables, such as system response time and CPU utilization. However, the lack of computationally efficient methods currently limits their integration into modern agile practices to detect SPAs in large scale systems. Objective: In this paper, we extended our previously proposed approach for the automated SPA characterization and detection designed to support continuous integration/delivery/deployment (CI/CDD) pipelines, with the goal of addressing the lack of computationally efficient algorithms. Method: We introduce a machine learning-based approach to improve the detection of SPA and interpretation of approach's results. The approach is complemented with a simulation-based methodology to analyze different architectural alternatives and measure the precision and recall of our approach. Our approach includes SPA statistical characterization using a multivariate analysis of load testing experimental results to identify the services that have the largest impact on system scalability. Results: To show the effectiveness of our approach, we have applied it to a large complex telecom system at Ericsson. We have built a simulation model of the Ericsson system and we have evaluated the introduced methodology by using simulation-based SPA injection. For this system, we are able to automatically identify the top five services that represent scalability choke points. We applied two machine learning algorithms for the automated detection of SPA. Conclusion: We contributed to the state-of-the-art by introducing a novel approach to support computationally efficient SPA characterization and detection that has been applied to a large complex system using performance testing data. We have compared the computational efficiency of the proposed approach with state-of-the-art heuristics. We have found that the approach introduced in this paper grows linearly, which is a significant improvement over existing techniques. © 2022 Elsevier Inc.

  • 5.
    Badampudi, Deepika
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Unterkalmsteiner, Michael
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Modern code reviews: Preliminary results of a systematic mapping study2019In: PROCEEDINGS OF EASE 2019 - EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING, Association for Computing Machinery , 2019, p. 340-345Conference paper (Refereed)
    Abstract [en]

    Reviewing source code is a common practice in a modern and collaborative coding environment. In the past few years, the research on modern code reviews has gained interest among practitioners and researchers. The objective of our investigation is to observe the evolution of research related to modern code reviews, identify research gaps and serve as a basis for future research. We use a systematic mapping approach to identify and classify 177 research papers. As preliminary result of our investigation, we present in this paper a classification scheme of the main contributions of modern code review research between 2005 and 2018. © 2019 Association for Computing Machinery.

  • 6.
    Badampudi, Deepika
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Unterkalmsteiner, Michael
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Modern Code Reviews - Survey of Literature and Practice2023In: ACM Transactions on Software Engineering and Methodology, ISSN 1049-331X, E-ISSN 1557-7392, Vol. 32, no 4, article id 107Article, review/survey (Refereed)
    Abstract [en]

    Background: Modern Code Review (MCR) is a lightweight alternative to traditional code inspections. While secondary studies on MCR exist, it is uanknown whether the research community has targeted themes that practitioners consider important.Objectives: The objectives are to provide an overview of MCR research, analyze the practitioners' opinions on the importance of MCR research, investigate the alignment between research and practice, and propose future MCR research avenues.Method: We conducted a systematic mapping study to survey state of the art until and including 2021, employed the Q-Methodology to analyze the practitioners' perception of the relevance of MCR research, and analyzed the primary studies' research impact.Results: We analyzed 244 primary studies, resulting in five themes. As a result of the 1,300 survey data points, we found that the respondents are positive about research investigating the impact of MCR on product quality and MCR process properties. In contrast, they are negative about human factor- and support systems-related research.Conclusion: These results indicate a misalignment between the state of the art and the themes deemed important by most survey respondents. Researchers should focus on solutions that can improve the state of MCR practice. We provide an MCR research agenda that can potentially increase the impact of MCR research. © 2023 Copyright held by the owner/author(s).

    Download full text (pdf)
    fulltext
  • 7.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Knowledge Classification for Supporting Effort Estimation in Global Software Engineering Projects2015Licentiate thesis, comprehensive summary (Other academic)
    Abstract [en]

    Background: Global Software Engineering (GSE) has become a widely applied operational model for the development of software systems; it can increase profits and decrease time-to-market. However, there are many challenges associated with development of software in a globally distributed fashion. There is evidence that these challenges affect many process related to software development, such as effort estimation. To the best of our knowledge, there are no empirical studies to gather evidence on effort estimation in the GSE context. In addition, there is no common terminology for classifying GSE scenarios focusing on effort estimation.

    Objective: The main objective of this thesis is to support effort estimation in the GSE context by providing a taxonomy to classify the existing knowledge in this field.

    Method: Systematic literature review (to identify and analyze the state of the art), survey (to identify and analyze the state of the practice), systematic mapping (to identify practices to design software engineering taxonomies), and literature survey (to complement the states of the art and practice) were the methods employed in this thesis.

    Results: The results on the states of the art and practice show that the effort estimation techniques employed in the GSE context are the same techniques used in the collocated context. It was also identified that global aspects, e.g. time, geographical and social-cultural distances, are accounted for as cost drivers, although it is not clear how they are measured. As a result of the conducted mapping study, we reported a method that can be used to design new SE taxonomies. The aforementioned results were combined to extend and specialize an existing GSE taxonomy, for suitability for effort estimation. The usage of the specialized GSE effort estimation taxonomy was illustrated by classifying 8 finished GSE projects. The results show that the specialized taxonomy proposed in this thesis is comprehensive enough to classify GSE projects focusing on effort estimation.

    Conclusions: The taxonomy presented in this thesis will help researchers and practitioners to report new research on effort estimation in the GSE context; researchers and practitioners will be able to gather evidence, com- pare new studies and find new gaps in an easier way. The findings from this thesis show that more research must be conducted on effort estimation in the GSE context. For example, the way the cost drivers are measured should be further investigated. It is also necessary to conduct further research to clarify the role and impact of sourcing strategies on the effort estimates’ accuracies. Finally, we believe that it is possible to design an instrument based on the specialized GSE effort estimation taxonomy that helps practitioners to perform the effort estimation process in a way tailored for the specific needs of the GSE context.

    Download full text (pdf)
    fulltext
  • 8.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Cruzes, Daniella
    SINTEF Digital, NOR.
    Šmite, Darja
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Šāblis, Aivars
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Onboarding Software Developers and Teams in Three Globally Distributed Legacy Projects: A Multi-Case Study2018In: Journal of Software: Evolution and Process, ISSN 2047-7473, E-ISSN 2047-7481, Vol. 30, no 4, article id e1921Article in journal (Refereed)
    Abstract [en]

    Onboarding is the process of supporting new employees regarding their social and performance adjustment to their new job. Software companies have faced challenges with recruitment and onboarding of new team members and there is no study that investigates it in a holistic way. In this paper, we conducted a multi-case study to investigate the onboarding of software developers/teams, associated challenges, and areas for further improvement in three globally distributed legacy projects. We employed Bauer's model for onboarding to identify the current state of the onboarding strategies employed in each case. We learned that the employed strategies are semi-formalized. Besides, in projects with multiple sites, some functions are executed locally and the onboarding outcomes may be hard to control. We also learned that onboarding in legacy projects is especially challenging and that decisions to distribute such projects across multiple locations shall be approached carefully. In our cases, the challenges to learn legacy code were further amplified by the project scale and the distance to the original sources of knowledge. Finally, we identified practices that can be used by companies to increase the chances of being successful when onboarding software developers and teams in globally distributed legacy projects.

  • 9.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Freitas, Vitor
    Mendes, Emilia
    Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science and Engineering.
    Usman, Muhammad
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Effort Estimation in Global Software Development: A systematic Literature Review2014In: Proceedings of the 2014 9th IEEE International Conference on Global Software Engineering, 2014, p. 135-144Conference paper (Refereed)
    Abstract [en]

    Nowadays, software systems are a key factor in the success of many organizations as in most cases they play a central role helping them attain a competitive advantage. However, despite their importance, software systems may be quite costly to develop, so substantially decreasing companies’ profits. In order to tackle this challenge, many organizations look for ways to decrease costs and increase profits by applying new software development approaches, like Global Software Development (GSD). Some aspects of the software project like communication, cooperation and coordination are more chal- lenging in globally distributed than in co-located projects, since language, cultural and time zone differences are factors which can increase the required effort to globally perform a software project. Communication, coordination and cooperation aspects affect directly the effort estimation of a project, which is one of the critical tasks related to the management of a software development project. There are many studies related to effort estimation methods/techniques for co-located projects. However, there are evidences that the co-located approaches do not fit to GSD. So, this paper presents the results of a systematic literature review of effort estimation in the context of GSD, which aimed at help both researchers and practitioners to have a holistic view about the current state of the art regarding effort estimation in the context of GSD. The results suggest that there is room to improve the current state of the art on effort estimation in GSD. 

    Download full text (pdf)
    fulltext
  • 10.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Mendes, Emilia
    Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science and Engineering.
    Börstler, Jürgen
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    An Empirical Investigation on Effort Estimation in Agile Global Software Development2015In: Proceedings of the 2015 IEEE 10th International Conference on Global Software Engineering, 2015, p. 38-45Conference paper (Refereed)
    Abstract [en]

    Effort estimation is a project management activity that is mandatory for the execution of softwareprojects. Despite its importance, there have been just a few studies published on such activities within the Agile Global Software Development (AGSD) context. Their aggregated results were recently published as part of a secondary study that reported the state of the art on effort estimationin AGSD. This study aims to complement the above-mentioned secondary study by means of anempirical investigation on the state of the practice on effort estimation in AGSD. To do so, a survey was carried out using as instrument an on-line questionnaire and a sample comprising softwarepractitioners experienced in effort estimation within the AGSD context. Results show that the effortestimation techniques used within the AGSD and collocated contexts remained unchanged, with planning poker being the one employed the most. Sourcing strategies were found to have no or a small influence upon the choice of estimation techniques. With regard to effort predictors, globalchallenges such as cultural and time zone differences were reported, in addition to factors that are commonly considered in the collocated context, such as team experience. Finally, many challenges that impact the accuracy of the effort estimates were reported by the respondents, such as problems with the software requirements and the fact that the communication effort between sites is not properly accounted.

    Download full text (pdf)
    fulltext
  • 11.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Mendes, Emilia
    Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science and Engineering.
    Wohlin, Claes
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    A Specialized Global Software Engineering Taxonomy for Effort Estimation2016In: International Conference on Global Software Engineering, IEEE Computer Society, 2016, p. 154-163Conference paper (Refereed)
    Abstract [en]

    To facilitate the sharing and combination of knowledge by Global Software Engineering (GSE) researchers and practitioners, the need for a common terminology and knowledge classification scheme has been identified, and as a consequence, a taxonomy and an extension were proposed. In addition, one systematic literature review and a survey on respectively the state of the art and practice of effort estimation in GSE were conducted, showing that despite its importance in practice, the GSE effort estimation literature is rare and reported in an ad-hoc way. Therefore, this paper proposes a specialized GSE taxonomy for effort estimation, which was built on the recently proposed general GSE taxonomy (including the extension) and was also based on the findings from two empirical studies and expert knowledge. The specialized taxonomy was validated using data from eight finished GSE projects. Our effort estimation taxonomy for GSE can help both researchers and practitioners by supporting the reporting of new GSE effort estimation studies, i.e. new studies are to be easier to identify, compare, aggregate and synthesize. Further, it can also help practitioners by providing them with an initial set of factors that can be considered when estimating effort for GSE projects.

  • 12.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Usman, Muhammad
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Bloom's taxonomy in software engineering education: A systematic mapping study2015In: Frontiers in Education Conference (FIE), 2015, IEEE Communications Society, 2015, p. 392-399Conference paper (Refereed)
    Abstract [en]

    Designing and assessing learning outcomes could be a challenging activity for any SoftwareEngineering (SE) educator. To support the process of designing and assessing SE courses, educators have been applied the cognitive domain of Bloom's taxonomy. However, to the best of our knowledge, the evidence on the usage of Bloom's taxonomy in SE higher education has not yet been systematically aggregated or reviewed. Therefore, in this paper we report the state of the art on the usage of Bloom's taxonomy in SE education, identified by conducted a systematic mapping study. As a result of the performed systematic mapping study, 26 studies were deemed as relevant. The main findings from these studies are: i) Bloom's taxonomy has mostly been applied at undergraduate level for both design and assessment of software engineering courses; ii) software construction is the leading SE subarea in which Bloom's taxonomy has been applied. The results clearly point out the usefulness of Bloom's taxonomy in the SE education context. We intend to use the results from this systematic mapping study to develop a set of guidelines to support the usage of Bloom's taxonomycognitive levels to design and assess SE courses.

  • 13.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Usman, Muhammad
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Mendes, Emilia
    Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science and Engineering.
    Effort Estimation in Agile Global Software Development Context2014In: Agile Methods. Large-Scale Development, Refactoring, Testing, and Estimation: XP 2014 International Workshops, Rome, Italy, May 26-30, 2014, Revised Selected Papers, Springer, 2014, Vol. 199, p. 182-192Conference paper (Refereed)
    Abstract [en]

    Both Agile Software Development (ASD) and Global Software Development (GSD) are 21st century trends in the software industry. Many studies are reported in the literature wherein software companies have applied an agile method or practice GSD. Given that effort estimation plays a remarkable role in software project management, how do companies perform effort estimation when they use agile method in a GSD context? Based on two effort estimation Systematic Literature Reviews (SLR) - one in within the ASD context and the other in a GSD context, this paper reports a study in which we combined the results of these SLRs to report the state of the art of effort estimation in agile global software development (ASD) context.

    Download full text (pdf)
    fulltext
  • 14.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Wohlin, Claes
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Mendes, Emilia
    Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science and Engineering.
    An Extended Global Software Engineering Taxonomy2016In: Journal of Software Engineering Research and Development, ISSN 2195-1721, Vol. 4, no 3Article in journal (Refereed)
    Abstract [en]

    In Global Software Engineering (GSE), the need for a common terminology and knowledge classification has been identified to facilitate the sharing and combination of knowledge by GSE researchers and practitioners. A GSE taxonomy was recently proposed to address such a need, focusing on a core set of dimensions; however its dimensions do not represent an exhaustive list of relevant GSE factors. Therefore, this study extends the existing taxonomy, incorporating new GSE dimensions that were identified by means of two empirical studies conducted recently.

    Download full text (pdf)
    fulltext
  • 15.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB.
    Šmite, Darja
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Damm, Lars Ola
    Ericsson AB.
    Börstler, Jürgen
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Evaluating and strategizing the onboarding of software developers in large-scale globally distributed projects2020In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 169, article id 110699Article in journal (Refereed)
    Abstract [en]

    The combination of scale and distribution in software projects makes the onboarding of new developers problematic. To the best of our knowledge, there is no research on the relationship between onboarding strategies and the performance evolution of newcomers in large-scale, globally distributed projects. Furthermore, there are no approaches to support the development of strategies to systematically onboard developers. In this paper, we address these gaps by means of an industrial case study. We identified that the following aspects seem to be related to the observed onboarding results: the distance to mentors, the formal training approach used, the allocation of large and distributed tasks in the early stages of the onboarding process, and team instability. We conclude that onboarding must be planned well ahead and should consider avoiding the aspects mentioned above. Based on the results of this investigation, we propose a process to strategize and evaluate onboarding. To develop the process, we used business process modeling. We conducted a static validation of the proposed process utilizing interviews with experts. The static validation of the process indicates that it can help companies to deal with the challenges associated with the onboarding of newcomers through more systematic, effective, and repeatable onboarding strategies. © 2020 Elsevier Inc.

  • 16.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Šmite, Darja
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Damm, Lars-Ola
    Ericsson, SWE.
    Software Architects in Large-Scale Distributed Projects: An Ericsson Case Study2016In: IEEE Software, ISSN 0740-7459, E-ISSN 1937-4194, Vol. 33, no 6, p. 48-55, article id 7725230Article in journal (Refereed)
    Abstract [en]

    Software architects are key assets for successful development projects. However, not much research has investigated the challenges they face in large-scale distributed projects. So, researchers investigated how architects at Ericsson were organized, their roles and responsibilities, and the effort they spent guarding and governing a large-scale legacy product developed by teams at multiple locations. Despite recent trends such as microservices and agile development, Ericsson had to follow a more centralized approach to deal with the challenges of scale, distribution, and monolithic architecture of a legacy software product. So, the architectural decisions were centralized to a team of architects. The team extensively used code reviews to not only check the code's state but also reveal defects that could turn into maintainability problems. The study results also suggest that the effort architects spend designing architecture, guarding its integrity and evolvability, and mentoring development teams is directly related to team maturity. In addition, significant investment is needed whenever new teams and locations are onboarded.

  • 17.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Šmite, Darja
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Damm, Lars-Ola
    Ericsson, SWE.
    Börstler, Jürgen
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Performance Evolution of Newcomers in Large-Scale Distributed Software Projects: An Industrial Case Study2019In: Proceedings - 2019 ACM/IEEE 14th International Conference on Global Software Engineering, ICGSE 2019, Institute of Electrical and Electronics Engineers Inc. , 2019, p. 1-11, article id 8807643Conference paper (Refereed)
    Abstract [en]

    Large-scale distributed software projects with long life cycles often involve a considerable amount of complex legacy code. The combination of scale and distribution challenges and the difficulty in acquiring knowledge about massive amounts of complex legacy code may make the onboarding of new developers/teams problematic. These problems may lead to extended periods of low performance. The primary objective of this paper is to investigate the performance evolution of offshore newcomers onboarded in a large-scale globally distributed project and how it relates to the employed onboarding strategy. To achieve our objective, we conducted a case study in Ericsson. We identified that the following aspects in the onboarding strategy employed in the investigated case seem to be related to the unexpectedly low performance evolution: i) the distance to mentors; ii) the used formal training approach, which did not fit the sociocultural background of the newcomers; iii) allocation of large and distributed tasks in the early stages of the onboarding process; and iv) team instability. We conclude that the onboarding of newcomers in globally distributed projects must be planned well ahead and should consider avoiding the aspects mentioned above. © 2019 IEEE.

  • 18.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Blekinge Institute of Technology.
    Šmite, Darja
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Lars-Ola, Damm
    Ericsson, SWE.
    Experiences from Measuring Learning and Performance in Large-Scale Distributed Software Development2016In: Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ACM Digital Library, 2016, article id 17Conference paper (Refereed)
    Abstract [en]

    Background: Developers and development teams in large-scale software development are often required to learn continuously. Organizations also face the need to train and support new developers and teams on-boarded in ongoing projects. Although learning is associated with performance improvements, experience shows that training and learning does not always result in a better performance or significant improvements might take too long.

    Aims: In this paper, we report our experiences from establishing an approach to measure learning results and associated performance impact for developers and teams in Ericsson.

    Method: Experiences reported herein are a part of an exploratory case study of an on-going large-scale distributed project in Ericsson. The data collected for our measurements included archival data and expert knowledge acquired through both unstructured and semi-structured interviews. While performing the measurements, we faced a number of challenges, documented in the form of lessons learned.

    Results: We aggregated our experience in eight lessons learned related to collection, preparation and analysis of data for further measurement of learning potential and performance in large-scale distributed software development.

    Conclusions: Measuring learning and performance is a challenging task. Major problems were related to data inconsistencies caused by, among other factors, distributed nature of the project. We believe that the documented experiences shared herein can help other researchers and practitioners to perform similar measurements and overcome the challenges of large-scale distributed software projects, as well as proactively address these challenges when establishing project measurement programs.

    Download full text (pdf)
    fulltext
  • 19.
    Britto, Ricardo
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Šmite, Darja
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Lars-Ola, Damm
    Ericsson, SWE.
    Börstler, Jürgen
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Learning and Performance Evolution of Immature Remote Teams in Large-ScaleSoftware Projects: An Industrial Case StudyManuscript (preprint) (Other academic)
    Abstract [en]

    Context: Large-scale distributed software projects with long life cycles often involve a considerable amount ofcomplex legacy code. The combination of scale and distribution challenges, and the diculty to acquire knowledgeabout large amounts of complex legacy code may make the onboarding of new developers/teams problematic. Thismay lead to extended periods of low performance.Objective: The main objective of this paper is to analyze the learning processes and performance evolutions (teamproductivity and team autonomy) of remote software development teams added late to a large-scale legacy softwareproduct development, and to propose recommendations to support the learning of remote teams.Method: We conducted a case study in Ericsson, collecting data through archival research, semi-structured interviews,and workshops. We analyzed the collected data using descriptive, inferential and graphical statistics and softqualitative analysis.Results: The results show that the productivity and autonomy of immature remote teams are on average 3.67 and2.27 times lower than the ones of mature teams, respectively. Furthermore, their performance had a steady increaseduring almost the entire first year and dropped (productivity) or got stagnated (autonomy) for a great part of the secondyear. In addition to these results, we also identified four challenges that aected the learning process and performanceevolution of immature remote teams: complexity of the product and technology stack, distance to the main source ofproduct knowledge, lack of team stability, and training expectation misalignment.Conclusion: The results indicate that scale, distribution and complex legacy code may make learning more dicultand demand a long period to achieve high performance. To support the learning of remote teams, we put forward fiverecommendations. We believe that our quantitative analysis, as well as the identified factors and recommendationscan help other companies to onboard new remote teams in large-scale legacy product development projects.

  • 20.
    Cury, Otávio
    et al.
    Federal University of Piauí, BRA.
    Avelino, Guilherme
    Federal University of Piauí, BRA.
    Neto, Pedro Santos
    Federal University of Piauí, BRA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Valente, Marco Túlio
    Federal University of Minas Gerais, BRA.
    Identifying Source Code File Experts2022In: ESEM '22: Proceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement / [ed] Madeiral F., Lassenius C., Conte T., Mannisto T., IEEE Computer Society, 2022, p. 125-136Conference paper (Refereed)
    Abstract [en]

    Background: In software development, the identification of source code file experts is an important task. Identifying these experts helps to improve software maintenance and evolution activities, such as developing new features, code reviews, and bug fixes. Although some studies have proposed repository-mining techniques to automatically identify source code experts, there are still gaps in this area that can be explored. For example, investigating new variables related to source code knowledge and applying machine learning aiming to improve the performance of techniques to identify source code experts. Aim: The goal of this study is to investigate opportunities to improve the performance of existing techniques to recommend source code files experts. Method: We built an oracle by collecting data from the development history and surveying developers of 113 software projects. Then, we use this oracle to: (i) analyze the correlation between measures extracted from the development history and the developers' source code knowledge and (ii) investigate the use of machine learning classifiers by evaluating their performance in identifying source code files experts. Results: First Authorship and Recency of Modification are the variables with the highest positive and negative correlations with source code knowledge, respectively. Machine learning classifiers outperformed the linear techniques (F-Measure = 71% to 73%) in the public dataset, but this advantage is not clear in the private dataset, with F-Measure ranging from 55% to 68% for the linear techniques and 58% to 67% for ML techniques. Conclusion: Overall, the linear techniques and the machine learning classifiers achieved similar performance, particularly if we analyze F-Measure. However, machine learning classifiers usually get higher precision while linear techniques obtained the highest recall values. Therefore, the choice of the best technique depends on the user's tolerance to false positives and false negatives. © 2022 Association for Computing Machinery.

  • 21.
    Cury, Otávio
    et al.
    Federal University of Piauí, Brazil.
    Avelino, Guilherme
    Federal University of Piauí, Brazil.
    Neto, Pedro Santos
    Federal University of Piauí, Brazil.
    Valente, Marco Túlio
    Federal University of Minas Gerais, Brazil.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Source code expert identification: Models and application2024In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 170, article id 107445Article, review/survey (Refereed)
    Abstract [en]

    Context: Identifying source code expertise is useful in several situations. Activities like bug fixing and helping newcomers are best performed by knowledgeable developers. Some studies have proposed repository-mining techniques to identify source code experts. However, there is a gap in understanding which variables are most related to code knowledge and how they can be used for identifying expertise. Objective: This study explores models of expertise identification and how these models can be used to improve a Truck Factor algorithm. Methods: First, we built an oracle with the knowledge of developers from software projects. Then, we use this oracle to analyze the correlation between measures from the development history and source code knowledge. We investigate the use of linear and machine-learning models to identify file experts. Finally, we use the proposed models to improve a Truck Factor algorithm and analyze their performance using data from public and private repositories. Results: First Authorship and Recency of Modification have the highest positive and negative correlations with source code knowledge, respectively. Machine learning classifiers outperformed the linear techniques (F-Score = 71% to 73%) in the largest analyzed dataset, but this advantage is unclear in the smallest one. The Truck Factor algorithm using the proposed models could handle developers missed by the previous expertise model with the best average F-Score of 74%. It was perceived as more accurate in computing the Truck Factor of an industrial project. Conclusion: If we analyze F-Score, the studied models have similar performance. However, machine learning classifiers get higher Precision while linear models obtained the highest Recall. Therefore, choosing the best technique depends on the user's tolerance to false positives and negatives. Additionally, the proposed models significantly improved the accuracy of a Truck Factor algorithm, affirming their effectiveness in precisely identifying the key developers within software projects. © 2024 Elsevier B.V.

  • 22.
    dos Santos Neto, Pedro de Alcântara
    et al.
    Federal University of Piauí, BRA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Rabêlo, Ricardo de Andrade Lira
    Federal University of Piauí, BRA.
    Cruz, Jonathas Jivago de Almeida
    Federal University of Piauí, BRA.
    Lira, Lira
    Federal University of Piauí, BRA.
    A hybrid approach to suggest software product line portfolios2016In: Applied Soft Computing, ISSN 1568-4946, E-ISSN 1872-9681, Vol. 49, p. 1243-1255Article in journal (Refereed)
    Abstract [en]

    Software product line (SPL) development is a new approach to software engineering which aims at the development of a whole range of products. However, as long as SPL can be useful, there are many challenges regarding the use of that approach. One of the main problems which hinders the adoption of software product line (SPL) is the complexity regarding product management. In that context, we can remark the scoping problem. One of the existent ways to deal with scoping is the product portfolio scoping (PPS). PPS aims to define the products that should be developed as well as their key features. In general, that approach is driven by marketing aspects, like cost of the product and customer satisfaction. Defining a product portfolio by using the many different available aspects is a NP-hard problem. This work presents an improved hybrid approach to solve the feature model selection problem, aiming at supporting product portfolio scoping. The proposal is based in a hybrid approach not dependent on any particular algorithm/technology. We have evaluated the usefulness and scalability of our approach using one real SPL (ArgoUML-SPL) and synthetic SPLs. As per the evaluation results, our approach is both useful from a practitioner's perspective and scalable. © 2016 Elsevier B.V.

  • 23.
    Filho, Juarez
    et al.
    Universidade Federal do Ceara, BRA.
    Rocha, Lincoln Souza
    Universidade Federal do Ceara, BRA.
    Andrade, Rossana
    Universidade Federal do Ceara, BRA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Preventing erosion in exception handling design using static-architecture conformance checking2017In: Lecture Notes Computer Science / [ed] Rogerio de Lemos R.,Lopes A., Springer Verlag , 2017, Vol. 10475, p. 67-83Conference paper (Refereed)
    Abstract [en]

    Exception handling is a common error recovery technique employed to improve software robustness. However, studies have reported that exception handling is commonly neglected by developers and is the least understood and documented part of a software project. The lack of documentation and difficulty in understanding the exception handling design can lead developers to violate important design decisions, triggering an erosion process in the exception handling design. Architectural conformance checking provides means to control the architectural erosion by periodically checking if the actual architecture is consistent with the planned one. Nevertheless, available approaches do not provide a proper support for exception handling conformance checking. To fulfill this gap, we propose ArCatch: an architectural conformance checking solution to deal with the exception handling design erosion. ArCatch provides: (i) a declarative language for expressing design constraints regarding exception handling; and (ii) a design rule checker to automatically verify the exception handling conformance. To evaluate the usefulness and effectiveness of our approach, we conducted a case study, in which we evaluated an evolution scenario composed by 10 versions of an existing web-based Java system. Each version was checked against the same set of exception handling design rules. Based on the results and the feedback given by the system’s architect, the ArCatch proved useful and effective in the identification of existing exception handling erosion problems and locating its causes in the source code. © 2017, Springer International Publishing AG.

  • 24.
    Ibiapina, Irvayne Matheus De Sousa
    et al.
    Universidade Federal do Piauí, BRA.
    Neto, Pedro Santos
    Universidade Federal do Piauí, BRA.
    Avelino, Guilherme
    Universidade Federal do Piauí, BRA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB.
    MiD: Enabling integration between web systems2020In: ACM International Conference Proceeding Series / [ed] dos Santos D.V.,de Avila e Silva S.,Magdaleno A.M.,Horita R.E.A.,Kamienski C.A.,Rivero L.,Fantinato D.,Boscarioli C.,de Barros Paes C.E.,Maciel R.S.P.,Fantinato M.,Rocha F.G.,Covoes T.F.,Azevedo G.,Rocha V.,Neto V.V.G.,de Camargo F.E.,Araujo R.,Oikawa M.,Venero M., Association for Computing Machinery , 2020, article id 3411652Conference paper (Refereed)
    Abstract [en]

    Technological solutions are increasingly present in everyday corporate environments. These solutions assist in a variety of activities that are of paramount importance to your employees, customers and partners. However, as demands grow, the complexity of business needs increases, and as a result, technology systems need to evolve to maintain the standard of service quality. In this sense, the integration between systems is an alternative to help in this evolutionary scenario, enabling the sharing of resources between different systems, contemplating interoperability, reducing unwanted redundancies and eliminating bottlenecks and incompatibilities. However, despite the advantages and benefits, there are some inherent difficulties to achieve integration, which are: the effort spent on development, the integration process with Legacy Systems, the risks associated with software modifications and the integration with software developed by third parties. Because of this, we propose an approach and a tool, called MiD, to overcome such difficulties inherent in building Web Services. MiD simplifies the development of Web Services for integration between Web systems, enabling integration without the need for access to target system source code and low cost development and maintenance. An evaluation was performed to verify the advantages of using MiD in a real integration project. Preliminary results show that for the context used in the assessment environment, MiD has the potential to reduce effort in developing Web Services for integration. © 2020 ACM.

  • 25.
    Irshad, Mohsin
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB, Sweden.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Petersen, Kai
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Adapting Behavior Driven Development (BDD) for large-scale software systems2021In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 177, article id 110944Article in journal (Refereed)
    Abstract [en]

    Context: Large-scale software projects require interaction between many stakeholders. Behavior-driven development (BDD) facilitates collaboration between stakeholders, and an adapted BDD process can help improve cooperation in a large-scale project. Objective: The objective of this study is to propose and empirically evaluate a BDD based process adapted for large-scale projects. Method: A technology transfer model was used to propose a BDD based process for large-scale projects. We conducted six workshop sessions to understand the challenges and benefits of BDD. Later, an industrial evaluation was performed for the process with the help of practitioners. Results: From our investigations, understanding of a business aspect of requirements, their improved quality, a guide to system-level use-cases, reuse of artifacts, and help for test organization are found as benefits of BDD. Practitioners identified the following challenges: specification and ownership of behaviors, adoption of new tools, the software projects’ scale, and versioning of behaviors. We proposed a process to address these challenges and evaluated the process with the help of practitioners. Conclusion: The evaluation proved that BDD could be adapted and used to facilitate interaction in large-scale software projects in the software industry. The feedback from the practitioners helped in improving the proposed process. © 2021 The Author(s)

    Download full text (pdf)
    fulltext
  • 26.
    Josyula, Jitendra
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Panamgipalli, Sarat
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Usman, Muhammad
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Ali, Nauman bin
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Software Practitioners' Information Needs and Sources: A Survey Study2018In: Proceedings - 2018 9th International Workshop on Empirical Software Engineering in Practice, IWESEP 2018, IEEE , 2018, p. 1-6Conference paper (Refereed)
    Abstract [en]

    Software engineering practitioners have information needs to support strategic, tactical and operational decision-making. However, there is scarce research on understanding which information needs exist and how they are currently fulfilled in practice. This study aims to identify the information needs, the frequency of their occurrence, the sources of information used to satisfy the needs, and the perception of practitioners regarding the usefulness of the sources currently used. For this purpose, a literature review was conducted to aggregate the current state of understanding in this area. We built on the results of the literature review and developed further insights through in-depth interviews with 17 practitioners. We further triangulated the findings from these two investigations by conducting a web-based survey (with 83 completed responses). Based on the results, we infer that information regarding product design, product architecture and requirements gathering are the most frequently faced needs. Software practitioners mostly use blogs, community forums, product documentation, and discussion with colleagues to address their information needs.

  • 27.
    Limaylla Lunarejo, María Isabel
    et al.
    Universidade Federal do Piauí, BRA.
    Santos Neto, Pedro De Alcântara Dos
    Universidade Federal do Piauí, BRA.
    Avelino, Guilherme
    Universidade Federal do Piauí, BRA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB.
    Automatic detection of usability smells in web applications running in mobile devices2020In: ACM International Conference Proceeding Series / [ed] dos Santos D.V.,de Avila e Silva S.,Magdaleno A.M.,Horita R.E.A.,Kamienski C.A.,Rivero L.,Fantinato D.,Boscarioli C.,de Barros Paes C.E.,Maciel R.S.P.,Fantinato M.,Rocha F.G.,Covoes T.F.,Azevedo G.,Rocha V.,Neto V.V.G.,de Camargo F.E.,Araujo R.,Oikawa M.,Venero M., Association for Computing Machinery , 2020, article id 3411653Conference paper (Refereed)
    Abstract [en]

    Currently, the use of mobile devices, mainly smartphones, has been gradually increasing due to the increasing development of mobile technologies. However, it is often the case that web applications are not tested on mobile devices which has led to, among others, usability errors. Therefore, the importance of usability testing in mobile devices has been increasing, but it is costly and time-consuming; the use of these devices in many cases cannot be replicated solely in a laboratory, but it should be replicated in the field which is more complex to implement. In addition to these usability testing and to reduce the time and complexity of testing in these devices, we proposed an automatic approach to identify indicators of usability problems (Usability Smells). To do so, we implemented a process of pattern matching in the tool UseSkill and proposed Usability Smells and their corresponding patterns for this context. This tool uses the data from the interactions of the user with a Mobile Web Application, discovering Usability Smells. This new process was experimented in two study cases with two applications where it collected data of participants who used it on a mobile device (smartphone). The results obtained were promising in identifying usability smells in relation to usability problems. © 2020 ACM.

  • 28.
    Oliveira, Pedro Almir
    et al.
    Federal Institute of Maranhão (IFMA), BRA.
    Santos Neto, Pedro
    Universidade Federal do Piaui, BRA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Rabêlo, Ricardo De Andrade Lira
    Universidade Federal do Piaui, BRA.
    Braga, Ronyerison
    Universidade Federal do Piaui, BRA.
    Souza, Matheus
    Universidade Federal do Piaui, BRA.
    CIaaS: computational intelligence as a service with Athena2018In: Computer languages, systems & structures, ISSN 1477-8424, E-ISSN 1873-6866, Vol. 54, p. 95-118Article in journal (Refereed)
    Abstract [en]

    Computational Intelligence (CI) is a sub-branch of Artificial Intelligence (AI) that focus on studying adaptive mechanisms to enable intelligent behavior in complex environments. CI techniques have been successful in solving complex problems in many different knowledge areas. However, despite their usefulness, developing solutions based on CI techniques is not a trivial activity, since it involves the codification/adaptation of algorithms to specific context and problems. In this paper, we present and validate through a quasi-experiment a new paradigm to develop CI-based solutions using a more mature version of Athena (2.0): Computational Intelligence as a Service (CIaaS). Using this tool, both researchers and practitioners can design and evaluate CI-based solutions by dragging and dropping components in a visual environment, in a cloud-based platform. The results of the quasi-experiment suggest that our approach can help researchers to design and evaluate CI-based systems in a simple, reliable and fast way. © 2018 Elsevier Ltd

  • 29. Oliveira, Pedro
    et al.
    Souza, Matheus
    Braga, Ronyerison
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Santos Neto, Pedro
    Rabêlo, Ricardo
    Athena: A Visual Tool to Support the Development of Computational Intelligence Systems2014In: Proceedings-International Conference on Tools With Artificial Intelligence, IEEE Communications Society, 2014, p. 950-957Conference paper (Refereed)
    Abstract [en]

    Computational Intelligence (CI) embraces techniques designed to address complex real-world problems in which traditional approaches are ineffective or infeasible. Some of these techniques are being used to solve several complex problems, such as the team allocation, building products portfolios in a software product line and test case selection/prioritization. However, despite the usefulness of these applications, the development of solutions based in CI techniques is not a trivial activity, since it involves the implementation/adaptation of algorithms to specific context and problems. This work presents Athena, a visual tool developed aiming at offering a simple approachto develop CI-based software systems. In order to do this, we proposed a drag-and-drop approach, which we called CI as a Service (CIaaS). Based on a preliminary study, we can state that Athenacan help researchers to save time during the development of computational intelligence approaches.

  • 30.
    Saini, Nishrith
    et al.
    Ericsson, SWE.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson /Blekinge Institute of Technology.
    Using Machine Intelligence to Prioritise Code Review Requests2021In: Proceedings of the 2021 International Conference on Software Engineering (ICSE'21), IEEE Computer Society, 2021, p. 11-20Conference paper (Refereed)
    Abstract [en]

    Modern Code Review (MCR) is the process of reviewing new code changes that need to be merged with an existing codebase. As a developer, one may receive many code review requests every day, i.e., the review requests need to be prioritised. Manually prioritising review requests is a challenging and time-consuming process. To address the above problem, we conductedan industrial case study at Ericsson aiming at developing a toolcalled Pineapple, which uses a Bayesian Network to prioritise code review requests. To validate our approach/tool, we deployed it in a live software development project at Ericsson, wherein more than 150 developers develop a telecommunication product.We focused on evaluating the predictive performance, feasibility, and usefulness of our approach. The results indicate that Pineapple has competent predictive performance (RMSE = 0.21 and MAE = 0.15). Furthermore, around 82.6% of Pineapple’s users believe the tool can support code review request prioritisation by providing reliable results, and around 56.5% of the users believe it helps reducing code review lead time. As future work, we plan to evaluate Pineapple’s predictive performance, usefulness, and feasibility through a longitudinal investigation. Index Terms—Modern Code Review, Prioritisation,

    Download full text (pdf)
    Pineapple_ICSE_2021
  • 31.
    Santos, Fabio
    et al.
    Northern Arizona Unversity, United States.
    Vargovich, Joseph
    Northern Arizona Unversity, United States.
    Trinkenreich, Bianca
    Northern Arizona Unversity, United States.
    Santos, Italo
    Northern Arizona Unversity, United States.
    Penney, Jacob
    Northern Arizona Unversity, United States.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Pimentel, João Felipe
    Northern Arizona Unversity, United States.
    Wiese, Igor
    Universidade Tecnológica Federal do Paraná, Brazil.
    Steinmacher, Igor
    Northern Arizona Unversity, United States.
    Sarma, Anita
    Oregon State University, United States.
    Gerosa, Marco A.
    Northern Arizona Unversity, United States.
    Tag that issue: applying API-domain labels in issue tracking systems2023In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 28, no 5, article id 116Article in journal (Refereed)
    Abstract [en]

    Labeling issues with the skills required to complete them can help contributors to choose tasks in Open Source Software projects. However, manually labeling issues is time-consuming and error-prone, and current automated approaches are mostly limited to classifying issues as bugs/non-bugs. We investigate the feasibility and relevance of automatically labeling issues with what we call “API-domains,” which are high-level categories of APIs. Therefore, we posit that the APIs used in the source code affected by an issue can be a proxy for the type of skills (e.g., DB, security, UI) needed to work on the issue. We ran a user study (n=74) to assess API-domain labels’ relevancy to potential contributors, leveraged the issues’ descriptions and the project history to build prediction models, and validated the predictions with contributors (n=20) of the projects. Our results show that (i) newcomers to the project consider API-domain labels useful in choosing tasks, (ii) labels can be predicted with a precision of 84% and a recall of 78.6% on average, (iii) the results of the predictions reached up to 71.3% in precision and 52.5% in recall when training with a project and testing in another (transfer learning), and (iv) project contributors consider most of the predictions helpful in identifying needed skills. These findings suggest our approach can be applied in practice to automatically label issues, assisting developers in finding tasks that better match their skills. © 2023, The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature.

  • 32.
    Silva, Dennis
    et al.
    Universidade Federal do Piaui, BRA.
    Rabelo, Ricardo
    Universidade Federal do Piaui, BRA.
    Campanha, Matheus
    Universidade Federal do Piaui, BRA.
    Neto, Pedro Santos
    Universidade Federal do Piaui, BRA.
    Oliveira, Pedro Almir
    Instituto Federal do Maranhão, BRA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    A hybrid approach for test case prioritization and selection2016In: 2016 IEEE Congress on Evolutionary Computation, CEC 2016, IEEE, 2016, p. 4508-4515Conference paper (Refereed)
    Abstract [en]

    Software testing consists in the dynamic verification of the behavior of a program on a set of test cases. When a program is modified, it must be tested to verify if the changes did not imply undesirable effects on its functionality. The rerunning of all test cases can be impossible, due to cost, time and resource constraints. So, it is required the creation of a test cases subset before the test execution. This is a hard problem and the use of standard Software Engineering techniques could not be suitable. This work presents an approach for test case prioritization and selection, based in relevant inputs obtained from a software development environment. The approach uses Software Quality Function Deployment (SQFD) to deploy the features relevance among the system components, Mamdani fuzzy inference systems to infer the criticality of each class and Ant Colony Optimization to select test cases. An evaluation of the approach is presented, using data from simulations with different number of tests.

  • 33.
    Silva, Dennis Savio
    et al.
    Federal University of Piauí, BRA.
    Rabelo, Ricardo De Andrade Lira
    Federal University of Piauí, BRA.
    Neto, Pedro Santos
    Federal University of Piauí, BRA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Oliveira, Pedro Almir
    Federal Institute of Maranhao, BRA.
    A test case prioritization approach based on software component metrics2019In: IEEE International Conference on Systems Man and Cybernetics Conference Proceedings, Institute of Electrical and Electronics Engineers Inc. , 2019, p. 2939-2945Conference paper (Refereed)
    Abstract [en]

    The most common way of performing regression testing is by executing all test cases associated with a software system. However, this approach is not scalable since time and cost to execute the test cases increase together with the system's size. A way to address this consists of prioritizing the existing test cases, aiming to maximize a test suite's fault detection rate. To address the limitations of existing approaches, in this paper we propose a new approach to maximize the rate of fault detection of test suites. Our proposal has three steps: I) infer code components' criticality values using a fuzzy inference system; ii) calculate test cases' criticality; iii) prioritize the test cases using ant colony optimization. The test cases are prioritized considering criticality, execution time and history of faults, and the resulting test suites are evaluated according to their fault detection rate. The evaluation was performed in eight programs, and the results show that the fault detection rate of the solutions was higher than in the non-ordered test suites and ones obtained using a greedy approach, reaching the optimal value when possible to verify. A sanity check was performed, comparing the obtained results to the results of a random search. The approach performed better at significant levels of statistic and practical difference, evidencing its true applicability to the prioritization of test cases. © 2019 IEEE.

  • 34.
    Sousa, Armando
    et al.
    Federal University of Ceará, BRA.
    Rocha, Lincoln Souza
    Federal University of Ceará, BRA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Gong, Zhixiong
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. student.
    Lyu, Feng
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. student.
    Technical Debt in Large-Scale Distributed Projects: An Industrial Case Study2021In: Proceedings - 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2021, Institute of Electrical and Electronics Engineers Inc. , 2021, p. 590-594Conference paper (Refereed)
    Abstract [en]

    Technical debt (TD) is a metaphor that reflects the technical compromises that sacrifice the long-term health of a software product to achieve short term benefit. It is important to manage TD to avoid software degradation. In large-scale distributed projects, technical debt management (TDM) becomes more complex and challenging. There is a lack of empirical studies on the TD accumulation in large-scale distributed projects. Then, to address this gap, we conducted a case study in Ericsson (a European Telecom Company) to identify the relationship between TD accumulation and factors such as task complexity, lead time, total of developers, and task scaling. We used data from 33 projects extracted from managerial documents to conduct a regression analysis. We also conducted interviews with seniors developers of the team to interpret the results. We found out that Task Complexity has a strong relationship (p-value = 5.69 × 10-5) with Technical Debt, while Global Distance was mentioned by the interviewees as a relevant factor for TD accumulation (although not statistically significant in our regression analysis). Practitioners should consider avoiding complex/big tasks, breaking down big tasks into small ones (if possible). We also plan to analyze other projects in this company to confirm our findings further. © 2021 IEEE.

    Download full text (pdf)
    fulltext
  • 35.
    Steinmacher, Igor
    et al.
    Northern Arizona University, USA.
    Clarke, Paul
    Dublin City University, Ireland.
    Tuzun, Eray
    LERO, Ireland.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Editorial: Best papers of the 14th International Conference on Software and System Processes (ICSSP 2020) and 15th International Conference on Global Software Engineering (ICGSE 2020)2023In: Journal of Software: Evolution and Process, ISSN 2047-7473, E-ISSN 2047-7481, Vol. 35, no 5, article id e2544Article in journal (Other academic)
    Abstract [en]

    Today's software industry is global, virtual, and depending more than ever on strong and reliable processes. Stakeholders and infrastructure are distributed across the globe, posing challenges that go beyond those with co-located teams and servers. Software Engineering continues to be a complex undertaking, with projects challenged to meet expectations, especially regarding costs. We know that Software Engineering is an ever-changing discipline, with the result that firms and their employees must regularly embrace new methods, tools, technologies, and processes. In 2020, the International Conference on Global Software Engineering (ICGSE) and the International Conference on Systems and Software Processes (ICSSP) joined forces aiming to create a holistic understanding of the software landscape both from the perspective of human and infrastructure distribution and also the processes to support software development. Unfortunately, these challenges have become even more personal to many more in 2020 due to the disruption introduced by the COVID-19 pandemic, which forced both conferences to be held virtually. As an outcome of the joint event, we selected a set of the best papers from the two conferences, which were invited to submit extended versions to this Special Issue in the Journal of Software: Maintenance and Evolution. Dedicated committees were established to identify the best papers. Eight papers were invited and ultimately, seven of these invited papers have made it into this Special Issue. © 2023 John Wiley & Sons, Ltd.

  • 36.
    Steinmacher, Igor
    et al.
    Northern Arizona University, USA.
    Clarke, Paul
    Dublin City University, Ireland.
    Tuzun, Eray
    LERO, Ireland.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Editorial: Machine learning, software process, and global software engineering2023In: Journal of Software: Evolution and Process, ISSN 2047-7473, E-ISSN 2047-7481, Vol. 35, no 6, article id e2545Article in journal (Other academic)
    Abstract [en]

    On June 26–28, 2020, the International Conference on Software and Systems Processes (ICSSP 2020) and the International Conference on Global Software Engineering (ICGSE 2020) were held in virtual settings during the first year of the COVID pandemic. Several submissions to the joint event have been selected for inclusion in this special issue, focusing on impactful and timely contributions to machine learning (ML). At present, many in our field are enthusiastic about the potential of ML, yet some risks should not be casually overlooked or summarily dismissed. Each ML implementation is subtly different from any other implementation, and the risk profile varies greatly based on the approach adopted and the implementation context. The ICSSP/ICGSE 2020 Program Committees have encouraged submissions that explore the risks and benefits associated with ML so that the important discussion regarding ML efficacy and advocacy can be further elaborated. Four contributions have been included in this special issue. © 2023 John Wiley & Sons, Ltd.

  • 37.
    Strand, Anton
    et al.
    Ericsson AB, SWE.
    Gunnarson, Markus
    Ericsson AB, SWE.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB, SWE.
    Usman, Muhammad
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Using a context-aware approach to recommend code reviewers: findings from an industrial case study2020In: Proceedings - International Conference on Software Engineering, IEEE Computer Society, 2020, p. 1-10, article id 3381365Conference paper (Refereed)
    Abstract [en]

    Code review is a commonly used practice in software development. It refers to the process of reviewing new code changes before they are merged with the code base. However, to perform the review, developers are mostly assigned manually to code changes. This may lead to problems such as: a time-consuming selection process, limited pool of known candidates and risk of over-allocation of a few reviewers. To address the above problems, we developed Carrot, a machine learning-based tool to recommend code reviewers. We conducted an improvement case study at Ericsson. We evaluated Carrot using a mixed approach. we evaluated the prediction accuracy using historical data and the metrical Mean Reciprocal Rank (MRR). Furthermore, we deployed the tool in one Ericsson project and evaluated how adequate the recommendations were from the point of view of the tool users and the recommended reviewers.We also asked the opinion of senior developers about the usefulness of the tool. The results show that Carrot can help identify relevant non-obvious reviewers and be of great assistance to new developers. However, there were mixed opinions on Carrot's ability to assist with workload balancing and the decrease code review lead time. © 2020 IEEE Computer Society. All rights reserved.

    Download full text (pdf)
    fulltext
  • 38.
    Tell, Paolo
    et al.
    IT University of Copenhagen, DNK.
    Steinmacher, Igor Fabio
    Northern Arizona University, USA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Message from the General Chair and Program Co-Chairs2020In: Proceedings - 2020 ACM/IEEE 15th International Conference on Global Software Engineering, ICGSE 2020, Association for Computing Machinery, Inc , 2020, p. IX-XConference paper (Other academic)
  • 39.
    Trinkenreich, Bianca
    et al.
    Northern of Arizona University, USA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Gerosa, Marco A.
    Northern of Arizona University, USA.
    Steinmacher, Igor
    Univ. Tecnológica Federal Do Paraná, BRA.
    An Empirical Investigation on the Challenges Faced by Women in the Software Industry: A Case Study2022In: Proceedings - International Conference on Software Engineering, IEEE Computer Society, 2022, p. 24-35Conference paper (Refereed)
    Abstract [en]

    Context: Addressing women's under-representation in the soft-ware industry, a widely recognized concern, requires attracting as well as retaining more women. Hearing from women practitioners, particularly those positioned in multi-cultural settings, about their challenges and and adopting their lived experienced solutions can support the design of programs to resolve the under-representation issue. Goal: We investigated the challenges women face in global software development teams, particularly what motivates women to leave their company; how those challenges might break down according to demographics; and strategies to mitigate the identified challenges. Method: To achieve this goal, we conducted an ex-ploratory case study in Ericsson, a global technology company. We surveyed 94 women and employed mixed-methods to analyze the data. Results: Our findings reveal that women face socio-cultural challenges, including work-life balance issues, benevolent and hos-tile sexism, lack of recognition and peer parity, impostor syndrome, glass ceiling bias effects, the prove-it-again phenomenon, and the maternal wall. The participants of our research provided different suggestions to address/mitigate the reported challenges, including sabbatical policies, flexibility of location and time, parenthood support, soft skills training for managers, equality of payment and opportunities between genders, mentoring and role models to sup-port career growth, directives to hire more women, inclusive groups and events, women's empowerment, and recognition for women's success. The framework of challenges and suggestions can inspire further initiatives both in academia and industry to onboard and retain women. Women represent less than 24% of employees in software development industry and experience various types of prejudice and bias. Even in companies that care about Diversity & Inclusion, 'untying the mooring ropes' of socio-cultural problems is hard. Hearing from women, especially those working in a multi-cultural organization, about their challenges and adopting their suggestions can be vital to design programs and resolve the under-representation issue. In this work we work closely with a large software development or-ganization which invests and believes in diversity and inclusion. We listened to women and the challenges they face in global soft-ware development teams of this company and what these women suggest reduce the problems and increase retention. Our research showed that women face work-life balance issues and encounter invisible barriers that prevent them from rising to top positions. They also suffer micro-aggression and sexism, need to show com-petence constantly, be supervised in essential tasks, and receive less work after becoming mothers. Moreover, women miss having more female colleagues, lack self-confidence and recognition. The women from the company suggested sabbatical policies, the flexibil-ity of location and time, parenthood support, soft skills training for managers, equality of opportunities, role models to support career growth, directives to hire more women, support groups, and more interaction between women, inclusive groups and events, women's empowerment by publishing their success stories in media and recognizing their achievements. Our results had been shared with the company Human Resources department and management and they considered the diagnosis helpful and will work on actions to mitigate the challenges that women still perceive. © 2022 IEEE.

  • 40.
    Unver, Burak
    et al.
    Ericsson AB, Sweden.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB, Sweden.
    Automatic Detection of Security Deficiencies and Refactoring Advises for Microservices2023In: Proceedings - 2023 IEEE/ACM International Conference on Software and System Processes, ICSSP 2023, Institute of Electrical and Electronics Engineers (IEEE), 2023, p. 25-34Conference paper (Refereed)
    Abstract [en]

    The microservice architecture enables organizations to shorten development cycles and deliver cloud-native applications rapidly. However, it also brings security concerns that need to be addressed by developers. Therefore, security testing in microservices becomes even more critical. Recent research papers indicate that security testing of microservices is often neglected for reasons such as lack of time, lack of experience in the security domain, and absence of automated test environments. Even though several security scanning tools exist to detect container, containerized workload management (Kubernetes), and network issues, none individually is sufficient to cover all security problems in microservices. Using multiple scanning tools increases the complexity of analyzing findings and mitigating security vulnerabilities. This paper presents a fully automated test tool suite that can help developers address security issues in microservices and resolve them. It targets to reduce time and effort in security activities by encapsulating open-source scanning tools into one suite and providing improved feedback. The developed security scanning suite is named Pomegranate. To develop Pomegranate, we employed Design Science and conducted our investigation in Ericsson. We have evaluated our tool using a static approach. The evaluation results indicate that the Pomegranate could be helpful to developers by providing simplified and classified outputs for security vulnerabilities in microservices. More than half of the practitioners who give us feedback found Pomegranate helpful in detecting and mitigating security problems in microservices. We conclude that a fully automated test tool suite can help developers to address most security issues in microservices. Based on the findings in this paper, the direction for future work is to conduct a dynamic validation of Pomegranate in a live project. © 2023 IEEE.

    Download full text (pdf)
    fulltext
  • 41.
    Usman, Muhammad
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Börstler, Jürgen
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Mendes, Emilia
    Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science and Engineering. Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Taxonomies in software engineering: A Systematic mapping study and a revised taxonomy development method2017In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 85, p. 43-59Article in journal (Refereed)
    Abstract [en]

    Context: Software Engineering (SE) is an evolving discipline with new subareas being continuously developed and added. To structure and better understand the SE body of knowledge, taxonomies have been proposed in all SE knowledge areas. Objective: The objective of this paper is to characterize the state-of-the-art research on SE taxonomies. Method: A systematic mapping study was conducted, based on 270 primary studies. Results: An increasing number of SE taxonomies have been published since 2000 in a broad range of venues, including the top SE journals and conferences. The majority of taxonomies can be grouped into the following SWEBOI(knowledge areas: construction (19.55%), design (19.55%), requirements (15.50%) and maintenance (11.81%). Illustration (45.76%) is the most frequently used approach for taxonomy validation. Hierarchy (53.14%) and faceted analysis (39.48%) are the most frequently used classification structures. Most taxonomies rely on qualitative procedures to classify subject matter instances, but in most cases (86.53%) these procedures are not described in sufficient detail. The majority of the taxonomies (97%) target unique subject matters and many taxonomy-papers are cited frequently. Most SE taxonomies are designed in an ad-hoc way. To address this issue, we have revised an existing method for developing taxonomies in a more systematic way. Conclusion: There is a strong interest in taxonomies in SE, but few taxonomies are extended or revised. Taxonomy design decisions regarding the used classification structures, procedures and descriptive bases are usually not well described and motivated. (C) 2017 The Authors. Published by Elsevier B.V.

  • 42.
    Usman, Muhammad
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Damm, Lars-Ola
    Ericsson, SWE.
    Börstler, Jürgen
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Effort Estimation in Large-Scale Software Development: An Industrial Case Study2018In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 99, p. 21-40Article in journal (Refereed)
    Abstract [en]

    Context: Software projects frequently incur schedule and budget overruns. Planning and estimation are particularlychallenging in large and globally distributed projects. While software engineering researchers have beeninvestigating effort estimation for many years to help practitioners to improve their estimation processes, there is littleresearch about effort estimation in large-scale distributed agile projects.Objective: The main objective of this paper is three-fold: i) to identify how effort estimation is carried out in largescaledistributed agile projects; ii) to analyze the accuracy of the effort estimation processes in large-scale distributedagile projects; and iii) to identify the factors that impact the accuracy of effort estimates in large-scale distributed agileprojects.Method: We performed an exploratory longitudinal case study. The data collection was operationalized througharchival research and semi-structured interviews.Results: The main findings of this study are: 1) underestimation is the dominant trend in the studied case, 2) reestimationat the analysis stage improves the accuracy of the effort estimates, 3) requirements with large size/scopeincur larger effort overruns, 4) immature teams incur larger effort overruns, 5) requirements developed in multi-sitesettings incur larger effort overruns as compared to requirements developed in a collocated setting, and 6) requirementspriorities impact the accuracy of the effort estimates.Conclusion: Effort estimation is carried out at quotation and analysis stages in the studied case. It is a challengingtask involving coordination amongst many different stakeholders. Furthermore, lack of details and changes in requirements,immaturity of the newly on-boarded teams and the challenges associated with the large-scale add complexitiesin the effort estimation process.

    Download full text (pdf)
    fulltext
  • 43.
    Usman, Muhammad
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Mendes, Emilia
    Blekinge Institute of Technology, Faculty of Computing, Department of Computer Science and Engineering.
    Weidt, Francila
    Federal University of Juiz de Fora, Brazil.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Effort estimation in agile software development: a systematic literature review2014In: Proceedings of the 10th International Conference on Predictive Models in Software Engineering, ACM Digital Library, 2014, p. 82-91Conference paper (Refereed)
    Abstract [en]

    Context: Ever since the emergence of agile methodologies in 2001, many software companies have shifted to Agile Software Development (ASD), and since then many studies have been conducted to investigate effort estimation within such context; however to date there is no single study that presents a detailed overview of the state of the art in effort estimation for ASD. Objectives: The aim of this study is to provide a detailed overview of the state of the art in the area of effort estimation in ASD. Method: To report the state of the art, we conducted a systematic literature review in accordance with the guidelines proposed in the evidence-based software engineering literature.Results: A total of 25 primary studies were selected; the main findings are: i) Subjective estimation techniques (e.g. expert judgment, planning poker, use case points estimation method) are the most frequently applied in an agile context; ii) Use case points and story points are the most frequently used size metrics respectively; iii) MMRE (Mean Magnitude of Relative Error) and MRE (Magnitude of Relative Error) are the most frequently used accuracy metrics; iv) team skills, prior experience and task size are cited as the three important cost drivers for effort estimation in ASD; and v) Extreme Programming (XP) and SCRUM are the only two agile methods that are identified in the primary studies. Conclusion: Subjective estimation techniques, e.g. expert judgment-based techniques, planning poker or the use case points method, are the one used the most in agile effort estimation studies. As for the size metrics, the ones that were used the most in the primary studies were story points and use case points. Several research gaps were identified, relating to the agile methods, size metrics and cost drivers, thus suggesting numerous possible avenues for future work.

    Download full text (pdf)
    fulltext
  • 44.
    Vieira, Renan
    et al.
    Federal University of Ceará Fortaleza, BRA.
    Mesquita, Diego
    Getulio Vargas Foundation Rio de Janeiro, BRA.
    Mattos, César Lincoln
    Federal University of Ceará Fortaleza, BRA.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Rocha, Lincoln
    Federal University of Ceará Fortaleza, BRA.
    Gomes, João
    Federal University of Ceará Fortaleza, BRA.
    Bayesian Analysis of Bug-Fixing Time using Report Data2022In: International Symposium on Empirical Software Engineering and Measurement / [ed] Madeiral F., Lassenius C., Conte T., Mannisto T., IEEE Computer Society, 2022, p. 57-68Conference paper (Refereed)
    Abstract [en]

    Background: Bug-fixing is the crux of software maintenance. It entails tending to heaps of bug reports using limited resources. Using historical data, we can ask questions that contribute to betterinformed allocation heuristics. The caveat here is that often there is not enough data to provide a sound response. This issue is especially prominent for young projects. Also, answers may vary from project to project. Consequently, it is impossible to generalize results without assuming a notion of relatedness between projects.

    Aims: Evaluate the independent impact of three report features in the bug-fixing time (BFT), generalizing results from many projects: bug priority, code-churn size in bug fixing commits, and existence of links to other reports (e.g., depends on or blocks other bug reports).

    Method: We analyze 55 projects from the Apache ecosystem using Bayesian statistics. Similar to standard random effects methodology, we assume each project's average BFT is a dispersed version of a global average BFT that we want to assess. We split the data based on feature values/range (e.g., with or without links). For each split, we compute a posterior distribution over its respective global BFT. Finally, we compare the posteriors to establish the feature's effect on the BFT. We run independent analyses for each feature.

    Results: Our results show that the existence of links and higher code-churn values lead to BFTs that are at least twice as long. On the other hand, considering three levels of priority (low, medium, and high), we observe no difference in the BFT.

    Conclusion: To the best of our knowledge, this is the first study using hierarchical Bayes to extrapolate results from multiple projects and assess the global effect of different attributes on the BFT. We use this methodology to gain insight on how links, priority, and code-churn size impact the BFT. On top of that, our posteriors can be used as a prior to analyze novel projects, potentially young and scarce on data. We also believe our methodology can be reused for other generalization studies in empirical software engineering. © 2022 Association for Computing Machinery.

    Download full text (pdf)
    fulltext
  • 45.
    Šmite, Darja
    et al.
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Britto, Ricardo
    Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
    Van Solingen, Rini
    Delft University of Technology, NLD.
    Calculating the extra costs and the bottom-line hourly cost of offshoring2017In: Proceedings - 2017 IEEE 12th International Conference on Global Software Engineering, ICGSE 2017, Institute of Electrical and Electronics Engineers Inc. , 2017, p. 96-105Conference paper (Refereed)
    Abstract [en]

    Offshoring software development activities to a remote site in another country continues to be one of the key strategies to save development cost. However, the assumed economic benefits of offshoring are often questionable, due to a large number of hidden costs and too simple cost calculations. This study is a continuation of our work on calculating the true hourly cost that includes the extra direct and indirect costs on top of the salary-based hourly rates. We collected data from an empirical case study conducted in a large international corporation. This corporation develops software-intensive systems and has offshored its ongoing product development from Sweden to a recently on-boarded captive company site in India. In this paper, we report a number of extra costs and their impact on the resulting hourly cost as well as the bottom-line cost per work unit. Our analysis includes quantitative data from corporate archives, and expert-based estimates gathered through focus groups and workshops with company representatives from both the onshore and the offshore sites. Our findings show that there is additional cost that can be directly or at least strongly attributed to the transfer of work, working on a distance, and immaturity of the offshore site. Consideration of extra costs increases the hourly cost several times, while the performance gaps between the mature sites and the immature site leads to an even higher difference. As a result, two years after on-boarding of the offshore teams, the mature teams in high-cost locations continue to be 'cheaper' despite the big salary differences, and the most positive hypothetical scenario, in which the company could break even, is unrealistic. The implications of our findings are twofold. First, offshoring of complex ongoing products does not seem to lead to short-term bottom-line economic gains, and may not even reach breakeven within five years. Second, offshoring in the studied case can be justified but merely when initiated for other reasons than cost. © 2017 IEEE.

1 - 45 of 45
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf