EDBT 2026 Demo / reviewers in the wild / expert
Ricardo Britto 0001
dblp:117/4593 · also Ricardo S. Britto 0001, Ricardo de Sousa Britto
· DBLP profile ↗
39ranked-venue papers
11as first author
14since 2021 · last 2025
0000-0002-7220-9570ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 33 · 9 first-author · 14 since 2021Artificial intelligence and machine learning · 5 · 1 first-authorHuman-computer interaction and ubiquitous computing · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Automated Code Review Using Large Language Models at Ericsson: An Experience ReportabstractCode review is one of the primary means of assuring the quality of released software along with testing and static analysis. However, code review requires experienced developers who may not always have the time to perform an in-depth review of code. Thus, automating code review can help alleviate the cognitive burden on experienced software developers allowing them to focus on their primary activities of writing code to add new features and fix bugs. In this paper, we describe our experience in using Large Language Models towards automating the code review process in Ericsson. We describe the development of a lightweight tool using LLMs and static program analysis. We then describe our preliminary experiments with experienced developers in evaluating our code review tool and the encouraging results. Shweta Ramesh, Joy Bose, Hamender Singh, A K. Raghavan, Sujoy Roychowdhury, Giriprasad Sridhara, Nishrith Saini, Ricardo Britto 0001 |
ICSME | 8 |
| 2024 | Icing on the Cake: Automatic Code Summarization at EricssonabstractThis paper presents our findings on the automatic summarization of Java methods within Ericsson, a global telecommunications company. We evaluate the performance of an approach called Automatic Semantic Augmentation of Prompts (ASAP), which uses a Large Language Model (LLM) to generate leading summary comments (Javadocs) for Java methods. ASAP enhances the LLM's prompt context by integrating static program analysis and information retrieval techniques to identify similar exemplar methods along with their developer-written Javadocs, and serves as the baseline in our study. In contrast, we explore and compare the performance of four simpler approaches that do not require static program analysis, information retrieval, or the presence of exemplars as in the ASAP method. Our methods rely solely on the Java method body as input, making them lightweight and more suitable for rapid deployment in commercial software development environments. We conducted experiments on an Ericsson software project and replicated the study using two widely-used open-source Java projects, Guava and Elasticsearch, to ensure the reliability of our results. Performance was measured across eight metrics that capture various aspects of similarity. Notably, one of our simpler approaches performed as well as or better than the ASAP method on both the Ericsson project and the open-source projects. Additionally, we performed an ablation study to examine the impact of method names on Javadoc summary generation across our four proposed approaches and the ASAP method. By masking the method names and observing the generated summaries, we found that our approaches were statistically significantly less influenced by the absence of method names compared to the baseline. This suggests that our methods are more robust to variations in method names and may derive summaries more comprehensively from the method body than the ASAP approach. Giriprasad Sridhara, Sujoy Roychowdhury, Sumit Soman, Ranjani Hosakere Gireesha, Ricardo Britto 0001 |
ICSME | 5 |
| 2024 | Source code expert identification: Models and application
Otávio Cury, Guilherme Avelino 0001, Pedro de Alcântara dos Santos Neto, Marco Túlio Valente, Ricardo Britto 0001 |
Inf. Softw. Technol. | 5 |
| 2023 | Automatic Detection of Security Deficiencies and Refactoring Advises for MicroservicesabstractThe 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. Burak Ünver, Ricardo Britto 0001 |
ICSSP | 2 |
| 2023 | Tag that issue: applying API-domain labels in issue tracking systems
Fabio Santos, Joseph Vargovich, Bianca Trinkenreich, Ítalo Santos, Jacob Penney, Ricardo Britto 0001, João Felipe Pimentel, Igor Scaliante Wiese, Igor Steinmacher, Anita Sarma, Marco Aurélio Gerosa |
Empir. Softw. Eng. | 6 |
| 2023 | 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)abstractAbstract 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. Igor Steinmacher, Paul M. Clarke, Eray Tüzün, Ricardo Britto 0001 |
J. Softw. Evol. Process. | 4 |
| 2023 | Editorial: Machine learning, software process, and global software engineeringabstractAbstract 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. Igor Steinmacher, Paul M. Clarke, Eray Tüzün, Ricardo Britto 0001 |
J. Softw. Evol. Process. | 4 |
| 2023 | Modern Code Reviews - Survey of Literature and PracticeabstractBackground: Modern Code Review (MCR) is a lightweight alternative to traditional code inspections. While secondary studies on MCR exist, it is u a nknown 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. Deepika Badampudi, Michael Unterkalmsteiner, Ricardo Britto 0001 |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 2022 | Identifying Source Code File ExpertsabstractBackground: 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. Otávio Cury, Guilherme Avelino 0001, Pedro de Alcântara dos Santos Neto, Ricardo Britto 0001, Marco Túlio Valente |
ESEM | 4 |
| 2022 | Bayesian Analysis of Bug-Fixing Time using Report DataabstractBackground: 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 better-informed 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. Renan Gomes Vieira, Diego Mesquita, César Lincoln C. Mattos, Ricardo Britto 0001, Lincoln S. Rocha, João Paulo Pordeus Gomes |
ESEM | 4 |
| 2022 | Scalability testing automation using multivariate characterization and detection of software performance antipatterns
Alberto Avritzer, Ricardo Britto 0001, Catia Trubiani, Matteo Camilli, Andrea Janes, Barbara Russo, André van Hoorn, Robert Heinrich, Martina Rapp, Jörg Henß, Ram Kishan Chalawadi |
J. Syst. Softw. | 2 |
| 2021 | Technical Debt in Large-Scale Distributed Projects: An Industrial Case StudyabstractTechnical 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. Armando Sousa, Lincoln S. Rocha, Ricardo Britto 0001, Zhixiong Gong, Feng Lyu 0004 |
SANER | 3 |
| 2021 | A Multivariate Characterization and Detection of Software Performance AntipatternsabstractContext. 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. Alberto Avritzer, Ricardo Britto 0001, Catia Trubiani, Barbara Russo, Andrea Janes, Matteo Camilli, André van Hoorn, Robert Heinrich, Martina Rapp, Jörg Henß |
ICPE | 2 |
| 2021 | Adapting Behavior Driven Development (BDD) for large-scale software systemsabstractLarge-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. The objective of this study is to propose and empirically evaluate a BDD based process adapted for large-scale projects. 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. 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. 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. Mohsin Irshad, Ricardo Britto 0001, Kai Petersen |
J. Syst. Softw. | 2 |
| 2020 | Evaluating and strategizing the onboarding of software developers in large-scale globally distributed projects
Ricardo Britto 0001, Darja Smite, Lars-Ola Damm, Jürgen Börstler |
J. Syst. Softw. | 1 |
| 2019 | Modern code reviews - Preliminary results of a systematic mapping studyabstractReviewing 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. Deepika Badampudi, Ricardo Britto 0001, Michael Unterkalmsteiner |
EASE | 2 |
| 2019 | A Method to Evaluate Knowledge Resources in Agile Software DevelopmentabstractBackground: Organizations adopting Agile Software Development (ASD) use different Knowledge Management (KM) practices to retain and share knowledge. However, it is often the case that knowledge retention is carried out in an ad-hoc way. Aims: In this study, we report our experience from proposing the Knowledge Critically Evaluation Method (KCEM) to evaluate knowledge items (KIT). Our main goal with KCEMs is to support companies to systematically retain knowledge in ASD contexts. Method: We conducted an improvement case study to develop and evaluate KCEM. This research follows the guidelines for technology transfer between industry and academia. The case and unit of analysis is Ericsson, a Swedish company that develops telecommunication solutions. Results: In this paper, we provide initial results of both lab and static validation, enriched by the lessons learned. Conclusions: The preliminary results show that KCEM is easy to understand and use, provides a different perspective on the KIT by visualizing in the criticality chart, and reduces the level of abstraction associated to a knowledge subject area. Raquel Andrade Barros Ouriques, Ricardo Britto 0001, Krzysztof Wnuk, João Felipe S. Ouriques, Tony Gorschek |
ESEM | 2 |
| 2019 | Performance evolution of newcomers in large-scale distributed software projects: an industrial case studyabstractLarge-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. Ricardo Britto 0001, Darja Smite, Lars-Ola Damm, Jürgen Börstler |
ICGSE | 1 |
| 2019 | A Test Case Prioritization Approach Based on Software Component MetricsabstractThe 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. Dennis Sávio Silva, Ricardo de Andrade Lira Rabelo, Pedro de Alcântara dos Santos Neto, Ricardo Britto 0001, Pedro Almir Oliveira |
SMC | 4 |
| 2018 | CIaaS - computational intelligence as a service with Athena
Pedro Almir Oliveira, Pedro de Alcântara dos Santos Neto, Ricardo Britto 0001, Ricardo de Andrade Lira Rabelo, Ronyérison Braga, Matheus Souza 0002 |
Comput. Lang. Syst. Struct. | 3 |
| 2018 | Effort estimation in large-scale software development: An industrial case study
Muhammad Usman 0002, Ricardo Britto 0001, Lars-Ola Damm, Jürgen Börstler |
Inf. Softw. Technol. | 2 |
| 2018 | Onboarding software developers and teams in three globally distributed legacy projects: A multi-case studyabstractAbstract 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 3 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. Ricardo Britto 0001, Daniela S. Cruzes, Darja Smite, Aivars Sablis |
J. Softw. Evol. Process. | 1 |
| 2017 | A quasi-experiment to evaluate the impact of mental fatigue on study selection processabstractContext: Existing empirical evidence indicates that loss of alertness associated with mental fatigue is highly correlated with fluctuations in the performance of people carrying out auditory tasks. In software engineering research, mental fatigue may affect the results of study selection (an auditory task) when conducting secondary studies such as systematic literature reviews or systematic mapping studies. However, to date there is no empirical study that reports an in-depth investigation about the relationship between mental fatigue and researchers' selection decisions during study selection process. Ricardo Britto 0001, Muhammad Usman 0002, Nasir Mehmood Minhas |
EASE | 1 |
| 2017 | Preventing Erosion in Exception Handling Design Using Static-Architecture Conformance Checking
Juarez L. M. Filho, Lincoln S. Rocha, Rossana M. de Castro Andrade, Ricardo Britto 0001 |
ECSA | 4 |
| 2017 | Calculating the Extra Costs and the Bottom-Line Hourly Cost of OffshoringabstractOffshoring 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. Darja Smite, Ricardo Britto 0001, Rini van Solingen |
ICGSE | 2 |
| 2017 | Taxonomies in software engineering: A Systematic mapping study and a revised taxonomy development methodabstractContext: 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 SWEBOK 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. Muhammad Usman 0002, Ricardo Britto 0001, Jürgen Börstler, Emilia Mendes |
Inf. Softw. Technol. | 2 |
| 2017 | A Taxonomy of Web Effort Predictors
Ricardo Britto 0001, Muhammad Usman 0002, Emilia Mendes |
J. Web Eng. | 1 |
| 2016 | A hybrid approach for test case prioritization and selectionabstractSoftware 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. Dennis Sávio Silva, Ricardo de Andrade Lira Rabelo, Matheus Souza 0002, Pedro de Alcântara dos Santos Neto, Pedro Almir Oliveira, Ricardo Britto 0001 |
CEC | 6 |
| 2016 | Experiences from Measuring Learning and Performance in Large-Scale Distributed Software DevelopmentabstractBackground: 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. Ricardo Britto 0001, Darja Smite, Lars-Ola Damm |
ESEM | 1 |
| 2016 | A Specialized Global Software Engineering Taxonomy for Effort EstimationabstractTo 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. Ricardo Britto 0001, Emilia Mendes, Claes Wohlin |
ICGSE | 1 |
| 2016 | Effort Estimation in Co-located and Globally Distributed Agile Software Development: A Comparative StudyabstractContext: Agile methods are used both by both co-located and globally distributed teams. Recently separate studies have been conducted to understand how effort estimation is practiced in Agile Software Development (ASD) in co-located and distributed contexts. There is need to compare the findings of these studies. Objectives: The objective of this comparative study is to identify the similarities and differences in how effort estimation is practiced in co-located and globally distributed ASD. Method: We combined the data of the two surveys to conduct this comparative study. First survey was conducted to identify the state of the practice on effort estimation in co-located ASD, while the second one identified the same in globally distributed ASD context. Results: The main findings of this comparative study are: 1) Agile practitioners, both in co-located and distributed contexts, apply techniques that use experts' subjective assessment to estimate effort. 2) Story points are the most frequently used size metrics in both co-located and distributed agile contexts 3) Team's prior experience and skill level are leading cost drivers in both contexts. Distributed agile practitioners cited additional cost drivers related to the geographical distance between distributed teams. 4) In both co-located and distributed agile context, effort is estimated mainly at iteration and release planning levels 5) With regard to the accuracy of effort estimates, underestimation is the dominant for both co-located and distributed agile software development. Conclusions: Similar techniques and size metrics have been used to estimate effort by both co-located and distributed agile teams. The main difference is with regard to the factors that are considered as important cost drivers. Global barriers due to cultural, geographical and temporal differences are important cost and effort drivers for distributed ASD. These additional cost drivers should be considered when estimating effort of a distributed agile project to avoid gross underestimation. Muhammad Usman 0002, Ricardo Britto 0001 |
IWSM-Mensura | 2 |
| 2015 | Bloom's taxonomy in software engineering education: A systematic mapping studyabstractDesigning and assessing learning outcomes could be a challenging activity for any Software Engineering (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 taxonomy cognitive levels to design and assess SE courses. Ricardo Britto 0001, Muhammad Usman 0002 |
FIE | 1 |
| 2015 | Extending Survivability Models for Global Software Development with Media Synchronicity TheoryabstractIn 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. Alberto Avritzer, Sarah Beecham, Ricardo Britto 0001, Josiane Kroll, Daniel Sadoc Menasché, John Noll, Maria Paasivaara |
ICGSE | 3 |
| 2015 | An Empirical Investigation on Effort Estimation in Agile Global Software DevelopmentabstractEffort estimation is a project management activity that is mandatory for the execution of software projects. 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 estimation in AGSD. This study aims to complement the above-mentioned secondary study by means of an empirical 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 software practitioners experienced in effort estimation within the AGSD context. Results show that the effort estimation 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, global challenges 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. Ricardo Britto 0001, Emilia Mendes, Jürgen Börstler |
ICGSE | 1 |
| 2014 | Effort Estimation in Global Software Development: A Systematic Literature ReviewabstractNowadays, 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 challenging in globally distributed than in collocated 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 colocated projects. However, there are evidences that the colocated 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. Ricardo Britto 0001, Vitor Freitas, Emilia Mendes, Muhammad Usman 0002 |
ICGSE | 1 |
| 2014 | Athena: A Visual Tool to Support the Development of Computational Intelligence SystemsabstractComputational 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 approach to 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 Athena can help researchers to save time during the development of computational intelligence approaches. Pedro Almir Oliveira, Matheus Souza 0002, Ronyérison Braga, Ricardo Britto 0001, Ricardo de Andrade Lira Rabelo, Pedro de Alcântara dos Santos Neto |
ICTAI | 4 |
| 2013 | Toward a hybrid approach to generate Software Product Line portfoliosabstractSoftware Product Line (SPL) development is a new approach to software engineering that aims at the development of a whole range of products. One of the problems which hinders the adoption of that approach is related with the management of the products of the line. Additionally, the scope of a software product line is determined by the bounds of the capabilities provided by the collection of products in the product line. This introduces new challenges related to the scope problem. One of the main three different forms of scoping is the Product Portfolio Scoping (PPS). PPS aims at defining the products that should be developed as well as their key features. While this has an impact on the actual reuse opportunities, it is usually driven from marketing aspects. Defining a product portfolio by considering costumers satisfaction and cost aspects is a NP-hard problem. This work presents a hybrid approach, which combines fuzzy inference systems and the multi-objective metaheuristics NSGAII to support product management by generating portfolios of products, based in segments of users and the development cost of the assets of the SPL. Fuzzy inference systems are used to generate development cost of an asset by using coupling, number of code lines and cyclomatic complexity and also to estimate the quality of the products generated by the optimization module of our approach. The NSGA-II metaheuristic is used to search for products minimizing the cost and maximizing the relevance of the candidate products. The results show that the proposed approach is effective in proposing the best products in terms of relevance and cost of the assets. Jonathas Cruz, Pedro de Alcântara dos Santos Neto, Ricardo Britto 0001, Ricardo de Andrade Lira Rabelo, Werney Lira, Thiago Soares, Mauricio Mota |
IEEE Congress on Evolutionary Computation | 3 |
| 2012 | A hybrid approach to solve the agile team allocation problemabstractThe success of the team allocation in a agile software development project is essential. The agile team allocation is a NP-hard problem, since it comprises the allocation of self-organizing and cross-functional teams. Many researchers have driven efforts to apply Computational Intelligence techniques to solve this problem. This work presents a hybrid approach based on NSGA-II multi-objective metaheuristic and Mamdani Fuzzy Inference Systems to solve the agile team allocation problem, together with an initial evaluation of its use in a real environment. Ricardo Britto 0001, Pedro de Alcântara dos Santos Neto, Ricardo de Andrade Lira Rabelo, Werney Lira, Thiago Soares |
IEEE Congress on Evolutionary Computation | 1 |
| 2012 | Regression Testing Prioritization Based on Fuzzy Inference Systems
Pedro de Alcântara dos Santos Neto, Ricardo Britto 0001, Thiago Soares, Werney Lira, Jonathas Cruz, Ricardo de Andrade Lira Rabelo |
SEKE | 2 |