VLDB 2026 Research / reviewers in the wild / expert
Igor Steinmacher
dblp:70/3474 · also Igor Fabio Steinmacher
· DBLP profile ↗
90ranked-venue papers
10as first author
58since 2021 · last 2026
0000-0002-0612-5790ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 70 · 7 first-author · 48 since 2021Human-computer interaction and ubiquitous computing · 19 · 3 first-author · 10 since 2021Databases, data management, data science and information retrieval · 4 · 4 since 2021Artificial intelligence and machine learning · 3 · 1 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Ways to Make Git Easier to TeachabstractAlthough Git is the most popular version control system used in software development it is not explicitly taught in many Computer Science degree programs. Those who do teach it face challenges in helping students understand the concept of version control, the commands students use to perform various actions as well as a workflow for collaborative software development. This panel will present four approaches for teaching Git, providing an overview of each approach, how it helps students learn Git and the challenges both students and faculty encounter using it. GitKit is a containerized version of an open source project where students work through the full workflow from forking a project to having a pull request accepted. The Shell Tutor provides a constraint-based tutoring system inside the student's command-line environment. GitHub Education provides short, free courses that introduce students to the basics of GitHub and workflow concepts. OSSDoorway teaches a GitHub workflow using a gamified, quest-based environment to support a first contribution. The session is designed to allow ample time for attendees to ask questions to determine how various approaches might be helpful in their context. Panelists will provide links to their approaches so attendees can further investigate them after the session. Karl R. Wurst, Erik Falor, Avni Khatri, Igor Steinmacher |
SIGCSE (2) | 4 |
| 2026 | Leveraging large language models for sentiment analysis in GitHub pull request discussionsabstractAbstract Social coding platforms like GitHub facilitate collaborative software development through pull requests (PRs), which generate discussions that significantly impact code quality, requirements, and design. Such conversations become a rich source of insights for improving development practices and predicting project outcomes and are subject to several human aspects that have been linked to code quality and PR acceptance. Sentiment analysis is one of the many ways to try to understand these human aspects. However, PR discussions are multifaceted, often involving technical jargon and aspects which limits the utility of general-purpose sentiment analysis tools. This has led to the creation of SE-specific tools, but recent studies have also observed that they demonstrate limited effectiveness. Thus, this study explores the potential of using large language models (LLMs) for this purpose, given their enhanced contextual understanding and ability to process technical language. We evaluated ten LLMs across proprietary and open-source categories, using two complementary datasets: a curated Gold dataset and the PRemo dataset, which captures real-world PR discussions. The models were assessed under zero-shot, few-shot and chain-of-thought prompting techniques on 8,913 messages. In addition, we establish baselines by evaluating fine-tuned transformer-based models. Results show that GPT-4o achieved the highest overall performance across the LLMs, though smaller models, such as Mistral Small and Deepseek-R1 32B delivered competitive results. Transformer-based models achieved excellent performance on the Gold dataset but exhibited degradation on the PRemo dataset. Finally, we conducted a qualitative analysis of misclassified instances, revealing recurring challenges related to technical terminology, sentiment-charged keywords, message length, and contextual ambiguity. These findings suggest that model selection should balance performance requirements against practical constraints, rather than defaulting to the largest available models. Daniel Coutinho, Breno Braga Neves, Theo Canuto, Juliana Alves Pereira, Wesley K. G. Assunção, Igor Steinmacher, Marco Aurélio Gerosa, Alessandro F. Garcia 0001 |
Empir. Softw. Eng. | 6 |
| 2026 | Investigating the potential of using worked examples to help resolve issues in a GitHub projectabstract• WEs with high similarity guided developers to relevant directories and files. • Eye-tracking revealed the benefits and challenges of using WEs in OSS projects. • Data beyond the title and description is needed to obtain more relevant WEs. • WEs served as a starting point for resolving issues on GitHub. • WEs complement LLMs by offering community-validated solutions. The growing popularity of Open-Source Software projects has raised questions about the challenges novice and inexperienced developers face, especially on code contribution platforms like GitHub. This study investigates the effects of using Worked Examples (WEs) to support these developers in solving coding tasks, using eye-tracking and cognitive effort analysis. The research involved 20 undergraduate students analyzing issues from the JabRef repository, with recommendations of high and low-similarity examples provided by a bot. The findings suggest that highly similar WEs effectively guided participants by helping identify relevant directories, files, and code snippets, serving as starting points for task resolution. However, challenges emerged, such as difficulties locating useful information and risks of false proximity between seemingly similar issues. These results highlight the need for improved recommendation strategies beyond textual similarity, incorporating structural elements such as file and method names, while reducing cognitive load through better presentation of relevant information. This work lays the groundwork for exploring WEs in Open-Source Software projects and opens avenues for further research, including validating findings in other repositories and understanding behavioral patterns in using WEs. João Vitor Souza Rocha, Igor Scaliante Wiese, Ivanilton Polato, Marco Aurélio Graciotto Silva, Reginaldo Ré, Igor Steinmacher, Walter Takashi Nakamura |
J. Syst. Softw. | 6 |
| 2025 | Understanding the Student Experience Better: Analyzing Remote Learning Tools Through Engagement, Participation, and Liveness Concepts
Genildo Gomes, Sâmila Magalhães, Leandro S. G. Carvalho, Tanara Lauschner, Igor Steinmacher, Tayana Conte, Bruno Gadelha |
CSEDU (2) | 6 |
| 2025 | Insights from the Frontline: GenAI Utilization Among Software Engineering StudentsabstractGenerative AI (genAI) tools (e.g., ChatGPT, Copilot) have become ubiquitous in software engineering (SE). As SE educators, it behooves us to understand the consequences of genAI usage among SE students and to create a holistic view of where these tools can be successfully used. Through 16 reflective interviews with SE students, we explored their academic experiences of using genAI tools to complement SE learning and implementations. We uncover the contexts where these tools are helpful and where they pose challenges, along with examining why these challenges arise and how they impact students. We validated our findings through member checking and triangulation with instructors. Our findings provide practical considerations of where and why genAI should (not) be used in the context of supporting SE students. Rudrajit Choudhuri, Ambareesh Ramakrishnan, Amreeta Chatterjee, Bianca Trinkenreich, Igor Steinmacher, Marco Aurélio Gerosa, Anita Sarma |
CSEE&T | 5 |
| 2025 | Ossdoorway: A Gamified Environment to Scaffold Student Contributions to Open Source SoftwareabstractSoftware engineering courses enable practical learning through assignments requiring contributions to open source software (OSS), allowing students to experience real-world projects, collaborate with global communities, and develop skills and competencies required to succeed in the tech industry. Learning software engineering through open source contribution integrates theory with hands-on practice, as students tackle real challenges in collaborative environments. However, students often struggle to contribute to OSS projects and do not understand the contribution process. Research has demonstrated that strategically incorporating game elements can promote student learning and engagement. This paper proposes and evaluates OSSDoorway, a tool designed to guide students contributing to OSS projects. We recruited 29 students and administered a selfefficacy questionnaire before and after their use of OSSDoorway, along with qualitative feedback to assess challenges, interface features, and suggestions for improvement. The results show that OSSDoorway boosts students' self-efficacy and provides a structured, gamified learning experience. Clear instructions, real-time feedback, and the quest-based system helped students navigate tasks like using GitHub features to submit pull requests and collaborating with the community. Our findings suggest that providing students with a supportive gamified environment that uses feedback and structured quests can help them navigate the OSS contribution process. Ítalo Santos, Kátia Romero Felizardo, Anita Sarma, Igor Steinmacher, Marco Aurélio Gerosa |
CSEE&T | 4 |
| 2025 | Assessing Diversity in Creating Seed Set for Snowballing Search for Systematic Literature Review in Software EngineeringabstractBackground: Systematic literature reviews (SLRs) require robust search strategies to ensure comprehensive coverage. Although database searches have traditionally been the primary method, snowballing has emerged as an effective alternative strategy in software engineering research. However, the success of snowballing heavily depends on the initial seed set's composition, particularly regarding diversity across authors, publication years, and venues. Objective: This study investigates how different diversity characteristics in seed set creation influence snowballing performance and effectiveness in identifying relevant literature. Method: We conducted replication studies of two existing SLRs, comparing their conventional seed set creation approaches with our diversity-driven methodology, where we systematically incorporated diversity characteristics into constructing the seed sets. Results: Our diversity-based approach demonstrated substantial improvements, with a precision of 0.019 (compared to 0.006 in the original), a relative recall of 0.97 (versus 0.921), and an F-measure of 0.0372 (improving from 0.0119). Conclusions: The empirical evidence suggests that incorporating diversity criteria in seed set creation enhances snowballing efficacy while maintaining comprehensive coverage of relevant literature. This approach offers a systematic and effective method for conducting snowballbased literature reviews in software engineering research. Kátia Romero Felizardo, Francisco Carlos M. Souza, Alinne Cristinne Corrêa Souza, Bianca Napoleão, Igor Steinmacher, Marco Aurélio Gerosa |
ESEM | 5 |
| 2025 | How Developers Make Decisions When Choosing Issues and Reviewing Code: An Eye Tracking GitHub Study
Igor Scaliante Wiese, Jasmine Boyer, Ethan Rasgorshek, Gustavo Pinto 0001, Marco Aurélio Gerosa, Igor Steinmacher, Bonita Sharif |
ETRA | 6 |
| 2025 | What Guides Our Choices? Modeling Developers' Trust and Behavioral Intentions Towards GenaiabstractGenerative AI (genAI) tools, such as ChatGPT or Copilot, are advertised to improve developer productivity and are being integrated into software development. However, misaligned trust, skepticism, and usability concerns can impede the adoption of such tools. Research also indicates that AI can be exclusionary, failing to support diverse users adequately. One such aspect of diversity is cognitive diversity-variations in users' cognitive styles-that leads to divergence in perspectives and interaction styles. When an individual's cognitive style is unsupported, it creates barriers to technology adoption. Therefore, to understand how to effectively integrate genAI tools into software development, it is first important to model what factors affect developers' trust and intentions to adopt genAI tools in practice? We developed a theoretically grounded statistical model to (1) identify factors that influence developers' trust in genAI tools and (2) examine the relationship between developers' trust, cognitive styles, and their intentions to use these tools in their work. We surveyed software developers ($\mathrm{N}=238$) at two major global tech organizations: GitHub Inc. and Microsoft; and employed Partial Least Squares-Structural Equation Modeling (PLS-SEM) to evaluate our model. Our findings reveal that genAI's system/output quality, functional value, and goal maintenance significantly influence developers' trust in these tools. Furthermore, developers' trust and cognitive styles influence their intentions to use these tools in their work. We offer practical suggestions for designing genAI tools for effective use and inclusive user experience. Rudrajit Choudhuri, Bianca Trinkenreich, Rahul Pandita, Eirini Kalliamvakou, Igor Steinmacher, Marco Aurélio Gerosa, Christopher Sanchez, Anita Sarma |
ICSE | 5 |
| 2025 | Investigating the Impact of Interpersonal Challenges on Feeling Welcome in OSSabstractThe sustainability of open source software (OSS) projects hinges on contributor retention. Interpersonal challenges can inhibit a feeling of welcomeness among contributors, particularly from underrepresented groups, which impacts their decision to continue with the project. How much this impact is, varies among individuals, underlining the importance of a thorough understanding of their effects. Here, we investigate the effects of interpersonal challenges on the sense of welcomeness among diverse populations within OSS, through the diversity lenses of gender, race, and (dis)ability. We analyzed the large-scale Linux Foundation Diversity and Inclusion survey (n = 706) to model a theoretical framework linking interpersonal challenges with the sense of welcomeness through Structural Equation Models Partial Least Squares (PLS-SEM). We then examine the model to identify the impact of these challenges on different demographics through Multi-Group Analysis (MGA). Finally, we conducted a regression analysis to investigate how differently people from different demographics experience different types of interpersonal challenges. Our findings confirm the negative association between interpersonal challenges and the feeling of welcomeness in OSS, with this relationship being more pronounced among gender minorities and people with disabilities. We found that different challenges have unique impacts on how people feel welcomed, with variations across gender, race, and disability groups. We also provide evidence that people from gender minorities and with disabilities are more likely to experience interpersonal challenges than their counterparts, especially when we analyze stalking, sexual harassment, and doxxing. Our insights benefit OSS communities, informing potential strategies to improve the landscape of interpersonal relationships, ultimately fostering more inclusive and welcoming communities. Bianca Trinkenreich, Rudrajit Choudhuri, Marco Aurélio Gerosa, Anita Sarma, Igor Steinmacher |
ICSE | 6 |
| 2025 | Governance Matters: Lessons From Restructuring the Data.Table OSS ProjectabstractOpen source software (OSS) forms the backbone of industrial data workflows and enterprise systems. However, many OSS projects face operational risks due to informal or centralized governance. This paper presents a practical case study of data.table, a high-performance R package widely adopted in production analytics pipelines, which underwent a community-led governance reform to address scalability and sustainability concerns. Before the reform, data.table faced a growing backlog of unresolved issues and open pull requests, unclear contributor pathways, and bottlenecks caused by reliance on a single core maintainer. In response, the community initiated a redesign of its governance structure. In this paper, we evaluated the impact of this transition through a mixed-methods approach, combining a contributor survey ($\mathbf{n} \boldsymbol{=} \mathbf{1 7}$) with mining project repository data. Our results show that following the reform, the project experienced a 200 % increase in new contributor recruitment, a drop in pull request resolution time from over 700 days to under a week, and a 3x increase in contributor retention. Community sentiment improved around transparency, onboarding, and project momentum, though concerns around fairness and conflict resolution remain. This case study provides practical guidance for maintainers, companies, and foundations seeking to enhance OSS governance. Doris Amoakohene, Toby Hocking, Marco Aurélio Gerosa, Igor Steinmacher |
ICSME | 5 |
| 2025 | Enhancing User-centered Design with Large Language ModelsabstractUser-centered design (UCD) is a foundational approach in software development that prioritizes users’ needs, behaviors, and expectations throughout the design process. For instance, Design Sprints effectively integrate UCD into fastpaced software development, enabling teams to fail fast, learn quickly, and refine solutions based on real user feedback. This paper explores the potential of Large Language Models (LLMs) as an integrated component of UCD methodologies, specifically within the Design Sprint framework. Our goal is to analyze how LLMs can assist designers throughout different phases of the Design Sprint, improving efficiency and aiding in developing user-centered solutions. To achieve this goal, we conducted a study with Computer Science, Software Engineering, and Design students during a course on innovative software product engineering. The study was structured into three phases: (i) theoretical instruction, (ii) practical application of the design sprint methodology with LLM integration, and (iii) presentation and discussion of the developed products. We conducted focus groups to gather insights on the participants’ experiences using an LLM as a support tool for Design Sprint activities. Our results provide insights into how LLM can be leveraged to assist in rapid product design while preserving UCD principles. Bruno Gadelha, Thiago Queiroz, Cleidson R. B. de Souza, Tayana Conte, Igor Steinmacher |
VL/HCC | 5 |
| 2025 | Analyzing the adoption of database management systems throughout the history of open source projects
Camila A. Paiva, Raquel Maximino, Frederico Paiva, Rafael Accetta Vieira, Nicole Espanha, João Felipe Pimentel, Igor Scaliante Wiese, Marco Aurélio Gerosa, Igor Steinmacher, Leonardo Murta 0001, Vanessa Braganholo |
Empir. Softw. Eng. | 9 |
| 2025 | Software solutions for newcomers' onboarding in software projects: A systematic literature review
Ítalo Santos, Kátia Romero Felizardo, Igor Steinmacher, Marco Aurélio Gerosa |
Inf. Softw. Technol. | 3 |
| 2025 | How are discussions linked? A link analysis study on GitHub Discussions
Márcia Lima, Igor Steinmacher, Denae Ford, Grace Vorreuter, Ludimila Gonçalves, Tayana Conte, Bruno Gadelha |
J. Syst. Softw. | 2 |
| 2025 | Applying large language models to issue classification: Revisiting with extended data and new models
Gabriel Aracena, Kyle Luster, Fabio Santos, Igor Steinmacher, Marco Aurélio Gerosa |
Sci. Comput. Program. | 4 |
| 2025 | Comparing the Efficacy of Rapid Review With a Systematic Review in the Software Engineering FieldabstractABSTRACT Context Rapid Reviews are secondary studies aiming to deliver evidence to experts in a more timely manner and with lower costs than traditional literature reviews. Previous studies have shown that experts and researchers are positive toward Rapid Reviews. However, little is known about how Rapid Reviews differ from traditional Systematic Reviews. Objective The goal of this paper is to compare a Rapid Review with a Systematic Review in terms of their methods (e.g., search strategy, study selection, quality assessment, and data extraction) and findings to understand how optimizing the traditional Systematic Review method impacts what we obtain with Rapid Review. Method To achieve this goal, we conducted a Systematic Review with the same research questions answered by a pre‐existing Rapid Review and compared those two studies. Also, we surveyed experts from industry and academia to evaluate the relevance of the findings obtained from both the secondary studies. Results The Rapid Review lasted 6 days, while the Systematic Review took 1 year and 2 months. The main bottlenecks we identified in the Systematic Review are (i) executing the search strategy and (ii) selecting the procedure. Together, they took 10 months. The researchers had to analyze the information from 11,383 papers for the Systematic Review compared with 1973 for the Rapid Review. Still, most ( 78%) of the papers included in the Systematic Review were returned by the Rapid Review search, and some papers that could be included were unduly excluded during the Rapid Review's selection procedure. Both secondary studies identified the same number of pieces of evidence (30), but the pieces of evidence are not the same. Conclusion The Rapid Review and Systematic Review results are inherently different and complementary. The time and cost to conduct a Systematic Review can be prohibitive in experts' contexts. Thus, at least in such situations, a Rapid Review may be an adequate choice. Moreover, a Rapid Review may be executed in the experts' context as a previous low‐cost step before deciding to invest in a high‐cost Systematic Review. Carolline Pena, Bruno Cartaxo, Igor Steinmacher, Deepika Badampudi, Deyvson da Silva, Williby da Silva Ferreira, Adauto Almeida, Fernando Kamei, Sérgio Soares |
J. Softw. Evol. Process. | 3 |
| 2024 | Developer Experiences with a Contextualized AI Coding Assistant: Usability, Expectations, and OutcomesabstractIn the rapidly advancing field of artificial intelligence, software development has emerged as a key area of innovation. Despite the plethora of general-purpose AI assistants available, their effectiveness diminishes in complex, domain-specific scenarios. Noting this limitation, both the academic community and industry players are relying on contextualized coding AI assistants. These assistants surpass general-purpose AI tools by integrating proprietary, domain-specific knowledge, offering precise and relevant solutions. Our study focuses on the initial experiences of 62 participants who used a contextualized coding AI assistant --- named StackSpot AI--- in a controlled setting. According to the participants, the assistants' use resulted in significant time savings, easier access to documentation, and the generation of accurate codes for internal APIs. However, challenges associated with the knowledge sources necessary to make the coding assistant access more contextual information as well as variable responses and limitations in handling complex codes were observed. The study's findings, detailing both the benefits and challenges of contextualized AI assistants, underscore their potential to revolutionize software development practices, while also highlighting areas for further refinement. Gustavo Pinto 0001, Cleidson R. B. de Souza, Thayssa A. da Rocha, Igor Steinmacher, Alberto de Souza, Edward Monteiro |
CAIN | 4 |
| 2024 | "Looks Good To Me ;-)": Assessing Sentiment Analysis Tools for Pull Request DiscussionsabstractModern software development relies on cloud-based collaborative platforms (e.g., GitHub and GitLab). In these platforms, developers often employ a pull-based development approach, proposing changes via pull requests and engaging in communication via asynchronous message exchanges. Since communication is key for software development, studies have linked different types of sentiments embedded in the communication to their effects on software projects, such as bug-inducing commits or the non-acceptance of pull requests. In this context, sentiment analysis tools are paramount to detect the sentiment of developers’ messages and prevent potentially harmful impact. Unfortunately, existing state-of-the-art tools vary in terms of the nature of their data collection and labeling processes. Yet, there is no comprehensive study comparing the performance and generalizability of existing tools utilizing a dataset that was designed and systematically curated to this end, and in this specific context. Therefore, in this study, we design a methodology to assess the effectiveness of existing sentiment analysis tools in the context of pull request discussions. For that, we created a dataset that contains ≈ 1.8K manually labeled messages from 36 software projects. The messages were labeled by 19 experts (neuroscientists and software engineers), using a novel and systematic manual classification process designed to reduce subjectivity. By applying these existing tools to the dataset, we observed that while some tools ]perform acceptably, their performance is far from ideal, especially when classifying negative messages. This is interesting since negative sentiment is often related to a critical or unfavorable opinion. We also observed that some messages have characteristics that can make them harder to classify, causing disagreements between the experts and possible misclassifications by the tools, requiring more attention from researchers. Our contributions include valuable resources to pave the way to develop robust and mature sentiment analysis tools that capture/anticipate potential problems during software development. Daniel Coutinho, Luisa Cito, Maria Vitória Lima, Beatriz Arantes, Juliana Alves Pereira, Johny Arriel, João Godinho, Vinicius Martins, Paulo Vítor C. F. Libório, Leonardo Pedrosa Leite, Alessandro F. Garcia 0001, Wesley K. G. Assunção, Igor Steinmacher, Augusto Baffa, Baldoino Fonseca dos Santos Neto |
EASE | 13 |
| 2024 | ChatGPT application in Systematic Literature Reviews in Software Engineering: an evaluation of its accuracy to support the selection activityabstractContext: The Systematic Literature Review (SLR) process involves searching, selecting, and synthesizing relevant literature on a specific research topic for evidence-based decision-making in Software Engineering (SE). Due to the time-consuming of the SLR process, tool support is essential. Gap: ChatGPT is a significant advancement in Natural Language Processing (NLP), and it can potentially accelerate time-consuming and propone-error activities, such as the selection activity of the SLR process. Therefore, having a tool to assist in the selection process appears beneficial, and we argue that ChatGPT can facilitate the analysis of extensive studies, saving time and effort. Objective: We aim to evaluate the accuracy (i.e., studies correctly classified) of using ChatGPT–4.0 in SLR in SE, particularly to support the first stage, based on the title, abstract, and keywords. Method: We assessed the accuracy of utilizing ChatGPT for selecting studies, the first stage, to be included in two SLRs (SLR1 and SLR2), in contrast to the conventional method of reading the title and abstract. Results: The accuracy of ChatGPT supporting the initial selection activity was 75.3% (SLR1 – 101 correct selections: 48 inclusions and 53 exclusions; 33 incorrect selections: 17 inclusions and 16 exclusions) and 86.1% (SLR2 – 386 correct selections: 113 inclusions and 273 exclusions; 62 incorrect selections: 27 inclusions and 35 exclusions). Conclusions: Our accuracy results indicate that it is not advisable to completely outsource the selection process to ChatGPT. However, it could be valuable as a support tool, aiding novice researchers or even experienced ones when they are in doubt. Kátia Romero Felizardo, Márcia Lima, Anderson Deizepe, Tayana Conte, Igor Steinmacher |
ESEM | 5 |
| 2024 | Data extraction for systematic mapping study using a large language model - a proof-of-concept study in software engineeringabstractContext: Systematic mapping studies (SMS) are adopted in Software Engineering (SE) to select and synthesize relevant literature on a research topic and, thus, support evidence-based decision-making. Performing SMS is effort-demanding and time-consuming. Hence, using tools is beneficial. Large Language Models (LLMs) such as ChatGPT–4.o can potentially accelerate repetitive activities, such as data extraction in SMS, saving time and effort. Goal: We conducted this work to evaluate and provide preliminary evidence on how ChatGPT–4.o can support data extraction in SMS. Method: We performed a proof-of-concept study and assessed the results’ accuracy of using ChatGPT 4.0 to extract data in one SMS compared to the results produced manually. Results: The accuracy of ChatGPT–4.o was 87.83%. Conclusions: Our preliminary findings suggest that entirely replacing the manual data extraction with ChatGPT–4.o is not recommended. However, employing ChatGPT for semi-automated data extraction to aid in evidence synthesis in SMS is promising. Kátia Romero Felizardo, Igor Steinmacher, Márcia Lima, Anderson Deizepe, Tayana Conte, Monalessa Perini Barcellos |
ESEM | 2 |
| 2024 | Can ChatGPT emulate humans in software engineering surveys?abstractContext: There is a growing belief in the literature that large language models (LLMs), such as ChatGPT, can mimic human behavior in surveys. Gap: While the literature has shown promising results in social sciences and market research, there is scant evidence of its effectiveness in technical fields like software engineering. Objective: Inspired by previous work, this paper explores ChatGPT’s ability to replicate findings from prior software engineering research. Given the frequent use of surveys in this field, if LLMs can accurately emulate human responses, this technique could address common methodological challenges like recruitment difficulties, representational shortcomings, and respondent fatigue. Method: We prompted ChatGPT to reflect the behavior of a ‘mega-persona’ representing the demographic distribution of interest. We replicated surveys from 2019 to 2023 from leading SE conferences, examining ChatGPT’s proficiency in mimicking responses from diverse demographics. Results: Our findings reveal that ChatGPT can successfully replicate the outcomes of some studies, but in others, the results were not significantly better than a random baseline. Conclusions: This paper reports our results so far and discusses the challenges and potential research opportunities in leveraging LLMs for representing humans in software engineering surveys. Igor Steinmacher, Jacob Penney, Kátia Romero Felizardo, Alessandro F. Garcia 0001, Marco Aurélio Gerosa |
ESEM | 1 |
| 2024 | How Far Are We? The Triumphs and Trials of Generative AI in Learning Software EngineeringabstractConversational Generative AI (convo-genAI) is revolutionizing Software Engineering (SE) as engineers and academics embrace this technology in their work. However, there is a gap in understanding the current potential and pitfalls of this technology, specifically in supporting students in SE tasks. In this work, we evaluate through a between-subjects study (N=22) the effectiveness of ChatGPT, a convo-genAI platform, in assisting students in SE tasks. Our study did not find statistical differences in participants' productivity or self-efficacy when using ChatGPT as compared to traditional resources, but we found significantly increased frustration levels. Our study also revealed 5 distinct faults arising from violations of Human-AI interaction guidelines, which led to 7 different (negative) consequences on participants. Rudrajit Choudhuri, Dylan Liu, Igor Steinmacher, Marco Aurélio Gerosa, Anita Sarma |
ICSE | 3 |
| 2024 | How to Support ML End-User Programmers through a Conversational AgentabstractMachine Learning (ML) is increasingly gaining significance for enduser programmer (EUP) applications. However, machine learning end-user programmers (ML-EUPs) without the right background face a daunting learning curve and a heightened risk of mistakes and flaws in their models. In this work, we designed a conversational agent named "Newton" as an expert to support ML-EUPs. Newton's design was shaped by a comprehensive review of existing literature, from which we identified six primary challenges faced by ML-EUPs and five strategies to assist them. To evaluate the efficacy of Newton's design, we conducted a Wizard of Oz within-subjects study with 12 ML-EUPs. Our findings indicate that Newton effectively assisted ML-EUPs, addressing the challenges highlighted in the literature. We also proposed six design guidelines for future conversational agents, which can help other EUP applications and software engineering activities. Emily Judith Arteaga, João Felipe Pimentel, Marco Aurélio Gerosa, Igor Steinmacher, Anita Sarma |
ICSE | 5 |
| 2024 | Unraveling the Drivers of Sense of Belonging in Software Delivery Teams: Insights from a Large-Scale SurveyabstractFeeling part of a group is a basic human need that significantly influences an individual's behavior, long-term engagement, and job satisfaction. A strong sense of belonging holds particular importance within software delivery teams, which grapple with challenges related to well-being and employee retention. However, the specific factors closely associated with the sense of belonging in the context of software delivery teams remain largely unknown. Without a clear understanding of these factors, organizations' efforts to promote a sense of belonging and diversity and inclusion more broadly may prove ineffective. Based on existing literature, we identified key factors potentially relevant to the sense of belonging in software delivery teams, such as work appreciation and psychological safety, and investigated the interrelation among these factors. We surveyed members of software delivery teams (n=10,781) of a major software delivery organization and used Partial Least Squares-Structural Equation Modeling (PLS-SEM) to evaluate a theoretical model to understand the factors that might contribute to a sense of belonging to the team. We also conducted a multi-group analysis to evaluate how the associations change based on individuals' leadership involvement and an importance-performance map analysis to find the most critical indicators of belongingness. Our findings indicate a positive association between psychological safety and work appreciation and belonging to the team. Women feel less belonging than men, especially those not in leadership positions. Authoritativeness is negatively associated with belonging, and tenure is positively associated with belonging regardless of the role. Through this research, we seek to provide insights into the sense of belonging to the team and foster a more inclusive and cohesive work environment. Bianca Trinkenreich, Marco Aurélio Gerosa, Igor Steinmacher |
ICSE | 3 |
| 2024 | On the Investigation of Exception Pull Request Characteristics: Exploring the Apache EcosystemabstractRobustness is critical for ensuring that software functions correctly under adverse conditions. Exception-handling mechanisms in programming languages enable developers to deal with these adverse conditions. However, implementing exception-related code can present significant challenges to developers. We investigated exception-related code contributions across Java projects in the Apache ecosystem. We analyzed exception-related pull requests (exception-PRs), which were detected using a validated heuristic. We produced a comprehensive dataset of 988 exception-PRs. We observed no statistically significant differences in complexity metrics between exception-PRs and non-exception-PRs. We also found no significant differences in developers' behavior metrics, indicating consistent engagement regardless of whether the pull request addressed exception-related code. A manual analysis revealed that most exception-PRs focused on system improvements rather than bug fixes, suggesting proactive efforts to enhance software robustness. Moreover, the most frequently addressed aspects of exceptional code in these exception-PRs were: (i) the external representation of adverse situations to end-users (more than 40% of the PRs) and (ii) the implementation of effective error-handling actions (nearly 35% of the PRs) to promote program recoverability. Interestingly, a significant proportion of exception-PRs simultaneously addressed multiple aspects. By understanding the nature and characteristics of exception-PRs, we expect to better support developers in managing erroneous conditions and improving software robustness. João Lucas Correia, Daniel Coutinho, Alessandro F. Garcia 0001, Rafael Maiani de Mello, Caio Barbosa, Anderson Oliveira, Wesley K. G. Assunção, Juliana Alves Pereira, Igor Steinmacher, Marco Aurélio Gerosa, Jairo Souza, Johny Arriel |
SCAM | 9 |
| 2024 | Game Elements to Engage Students Learning the Open Source Software Contribution ProcessabstractContributing to OSS projects can help students to enhance their skills and expand their professional networks. However, novice contributors often feel discouraged due to various barriers. Gamification techniques hold the potential to foster engagement and facilitate the learning process. Nevertheless, it is unknown which game elements are effective in this context. This study explores students’ perceptions of gamification elements to inform the design of a gamified learning environment. We surveyed 115 students and segmented the analysis from three perspectives: (1) cognitive styles, (2) gender, and (3) ethnicity (Hispanic/LatinX and Non-Hispanic/LatinX). The results showed that Quest, Point, Stats, and Badge are favored elements, while competition and pressure-related are less preferred. Across cognitive styles (persona), gender, and ethnicity, we could not observe any statistical differences, except for Tim’s GenderMag persona, which demonstrated a higher preference for storytelling. Conversely, Hispanic/LatinX participants showed a preference for the Choice element. These results can guide tool builders in designing effective gamified learning environments focused on the OSS contributions process. Ítalo Santos, Kátia Romero Felizardo, Marco Aurélio Gerosa, Igor Steinmacher |
VL/HCC | 4 |
| 2024 | Can AI serve as a substitute for human subjects in software engineering research?
Marco Aurélio Gerosa, Bianca Trinkenreich, Igor Steinmacher, Anita Sarma |
Autom. Softw. Eng. | 3 |
| 2024 | Guiding the way: A systematic literature review on mentoring practices in open source software projects
Katie Kimura, Bianca Trinkenreich, Anita Sarma, Igor Steinmacher |
Inf. Softw. Technol. | 5 |
| 2024 | Communicating Study Design Trade-offs in Software EngineeringabstractReflecting on the limitations of a study is a crucial part of the research process. In software engineering studies, this reflection is typically conveyed through discussions of study limitations or threats to validity. In current practice, such discussions seldom provide sufficient insight to understand the rationale for decisions taken before and during the study, and their implications. We revisit the practice of discussing study limitations and threats to validity and identify its weaknesses. We propose to refocus this practice of self-reflection to a discussion centered on the notion of trade-offs . We argue that documenting trade-offs allows researchers to clarify how the benefits of their study design decisions outweigh the costs of possible alternatives. We present guidelines for reporting trade-offs in a way that promotes a fair and dispassionate assessment of researchers’ work. Martin P. Robillard, Deeksha M. Arya, Neil A. Ernst, Jin L. C. Guo, Maxime Lamothe, Mathieu Nassif, Nicole Novielli, Alexander Serebrenik, Igor Steinmacher, Klaas-Jan Stol |
ACM Trans. Softw. Eng. Methodol. | 9 |
| 2023 | Rules of Engagement: Why and How Companies Participate in OSSabstractCompany engagement in open source (OSS) is now the new norm. From large technology companies to startups, companies are participating in the OSS ecosystem by open-sourcing their technology, sponsoring projects through funding or paid developer time. However, our understanding of the OSS ecosystem is rooted in the “old world” model where individual contributors sustain OSS projects. In this work, we create a more comprehensive understanding of the hybrid OSS landscape by investigating what motivates companies to contribute and how they contribute to OSS. We conducted interviews with 20 participants who have different roles (e.g., CEO, OSPO Lead, Ecosystem Strategist) at 17 different companies of different sizes from large companies (e.g. Microsoft, RedHat, Google, Spotify) to startups. Data from semi-structured interviews reveal that company motivations can be categorized into four levels (Founders' Vision, Reputation, Business Advantage, and Reciprocity) and companies participate through different mechanisms (e.g., Developers' Time, Mentoring Time, Advocacy & Promotion Time), each of which tie to the different types of motivations. We hope our findings nudge more companies to participate in the OSS ecosystem, helping make it robust, diverse, and sustainable. Mariam Guizani, Aileen Abril Castro-Guzman, Anita Sarma, Igor Steinmacher |
ICSE | 4 |
| 2023 | Moving on from the Software Engineers' Gambit: An Approach to Support the Defense of Software Effort EstimatesabstractPressure for higher productivity and faster delivery is increasingly pervading software organizations. This can lead software engineers to act like chess players playing a gambit—making sacrifices of their technically sound estimates, thus submitting their teams to time pressure. In turn, time pressure can have varied detrimental effects, such as poor product quality and emotional distress, decreasing productivity, which leads to more time pressure and delays: a hard-to-stop vicious cycle. This reveals a need for moving on from the more passive strategy of yielding to pressure to a more active one of defending software estimates. Therefore, we propose an approach to support software estimators in acquiring knowledge on how to carry out such defense, by introducing negotiation principles encapsulated in a set of defense lenses, presented through a digital simulation. We evaluated the proposed approach through a controlled experiment with software practitioners from different companies. We collected data on participants' attitudes, subjective norms, perceived behavioral control, and intentions to perform the defense of their estimates in light of the Theory of Planned Behavior. We employed a frequentist and a bayesian approach to data analysis. Results show improved scores among experimental group participants after engaging with the digital simulation and learning about the lenses. They were also more inclined to choose a defense action when facing pressure scenarios than a control group exposed to questions to reflect on the reasons and outcomes of pressure over estimates. Qualitative evidence reveals that practitioners perceived the set of lenses as useful in their current work environments. Collectively, these results show the effectiveness of the proposed approach and its perceived relevance for the industry, despite the low amount of time required to engage with it. Patrícia Matsubara, Igor Steinmacher, Bruno Gadelha, Tayana Conte |
ICSE | 2 |
| 2023 | Do I Belong? Modeling Sense of Virtual Community Among Linux Kernel ContributorsabstractThe sense of belonging to a community is a basic human need that impacts an individual's behavior, long-term engagement, and job satisfaction, as revealed by research in disciplines such as psychology, healthcare, and education. Despite much research on how to retain developers in Open Source Software (OSS) projects and other virtual, peer-production communities, there is a paucity of research investigating what might contribute to a sense of belonging in these communities. To that end, we develop a theoretical model that seeks to understand the link between OSS developer motives and a Sense of Virtual Community (SVC). We test the model with a dataset collected in the Linux Kernel developer community (N=225), using structural equation modeling techniques. Our results for this case study show that intrinsic motivations (social or hedonic motives) are positively associated with a sense of virtual community, but living in an authoritative country and being paid to contribute can reduce the sense of virtual community. Based on these results, we offer suggestions for open source projects to foster a sense of virtual community, with a view to retaining contributors and Improving projects' sustainability. Bianca Trinkenreich, Klaas-Jan Stol, Anita Sarma, Daniel M. Germán, Marco Aurélio Gerosa, Igor Steinmacher |
ICSE | 6 |
| 2023 | Barriers and Self-Efficacy: A Large-Scale Study on the Impact of OSS Courses on Student PerceptionsabstractOpen source software (OSS) development offers a unique opportunity for students in Software Engineering to experience and participate in large-scale software development, however, the impact of such courses on students' self-efficacy and the challenges faced by students are not well understood. This paper aims to address this gap by analyzing data from multiple instances of OSS development courses at universities in different countries and reporting on how students' self-efficacy changed as a result of taking the course, as well as the barriers and challenges faced by students. Larissa Salerno, Simone de França Tonhão, Igor Steinmacher, Christoph Treude |
ITiCSE (1) | 3 |
| 2023 | Tell Me Who Are You Talking to and I Will Tell You What Issues Need Your SkillsabstractSelecting an appropriate task is challenging for newcomers to Open Source Software (OSS) projects. To facilitate task selection, researchers and OSS projects have leveraged machine learning techniques, historical information, and textual analysis to label tasks (a.k.a. issues) with information such as the issue type and domain. These approaches are still far from mainstream adoption, possibly because of a lack of good predictors. Inspired by previous research, we advocate that label prediction might benefit from leveraging metrics derived from communication data and social network analysis (SNA) for issues in which social interaction occurs. Thus, we study how these "social metrics" can improve the automatic labeling of open issues with API domains—categories of APIs used in the source code that solves the issue—which the literature shows that newcomers to the project consider relevant for task selection. We mined data from OSS projects’ repositories and organized it in periods to reflect the seasonality of the contributors’ project participation. We replicated metrics from previous work and added social metrics to the corpus to predict API-domain labels. Social metrics improved the performance of the classifiers compared to using only the issue description text in terms of precision, recall, and F-measure. Precision (0.922) increased by 15.82% and F-measure (0.942) by 15.89% for a project with high social activity. These results indicate that social metrics can help capture the patterns of social interactions in a software project and improve the labeling of issues in an issue tracker. Fabio Santos, Jacob Penney, João Felipe Pimentel, Igor Scaliante Wiese, Igor Steinmacher, Marco Aurélio Gerosa |
MSR | 5 |
| 2023 | GiveMeLabeledIssues: An Open Source Issue Recommendation SystemabstractDevelopers often struggle to navigate an Open Source Software (OSS) project’s issue-tracking system and find a suitable task. Proper issue labeling can aid task selection, but current tools are limited to classifying the issues according to their type (e.g., bug, question, good first issue, feature, etc.). In contrast, this paper presents a tool (GiveMeLabeledIssues) that mines project repositories and labels issues based on the skills required to solve them. We leverage the domain of the APIs involved in the solution (e.g., User Interface (UI), Test, Databases (DB), etc.) as a proxy for the required skills. GiveMeLabeledIssues facilitates matching developers’ skills to tasks, reducing the burden on project maintainers. The tool obtained a precision of 83.9% when predicting the API domains involved in the issues. The replication package contains instructions on executing the tool and including new projects. A demo video is available at https://www.youtube.com/watch?v=ic2quUue7i8 Joseph Vargovich, Fabio Santos, Jacob Penney, Marco Aurélio Gerosa, Igor Steinmacher |
MSR | 5 |
| 2023 | Do CONTRIBUTING Files Provide Information about OSS Newcomers' Onboarding Barriers?abstractEffectively onboarding newcomers is essential for the success of open source projects. These projects often provide onboarding guidelines in their ’CONTRIBUTING’ files (e.g., CONTRIBUTING.md on GitHub). These files explain, for example, how to find open tasks, implement solutions, and submit code for review. However, these files often do not follow a standard structure, can be too large, and miss barriers commonly found by newcomers. In this paper, we propose an automated approach to parse these CONTRIBUTING files and assess how they address onboarding barriers. We manually classified a sample of files according to a model of onboarding barriers from the literature, trained a machine learning classifier that automatically predicts the categories of each paragraph (precision: 0.655, recall: 0.662), and surveyed developers to investigate their perspective of the predictions’ adequacy (75% of the predictions were considered adequate). We found that CONTRIBUTING files typically do not cover the barriers newcomers face (52% of the analyzed projects missed at least 3 out of the 6 barriers faced by newcomers; 84% missed at least 2). Our analysis also revealed that information about choosing a task and talking with the community, two of the most recurrent barriers newcomers face, are neglected in more than 75% of the projects. We made available our classifier as an online service that analyzes the content of a given CONTRIBUTING file. Our approach may help community builders identify missing information in the project ecosystem they maintain and newcomers can understand what to expect in CONTRIBUTING files. Felipe Fronchetti, David C. Shepherd, Igor Scaliante Wiese, Christoph Treude, Marco Aurélio Gerosa, Igor Steinmacher |
ESEC/SIGSOFT FSE | 6 |
| 2023 | Much more than a prediction: Expert-based software effort estimation as a behavioral act
Patrícia Matsubara, Igor Steinmacher, Bruno Gadelha, Tayana Conte |
Empir. Softw. Eng. | 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. | 9 |
| 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. | 1 |
| 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. | 1 |
| 2022 | How Experimentation in Software Engineering has been taught? Survey and Research Agendaabstract[Background:] Experimentation in Software Engineering (ESE) has increased in the last several years as a way to provide evidence by using statistical techniques. These techniques contribute to an auditable and reliable body of knowledge towards evolving a given topic. Therefore, teaching ESE becomes an essential task while disseminating and establishing an experimental culture to both academia and industry. [Aims:] In this paper we seek to understand how ESE has been taught including contents, materials used, strategies employed, and evaluation method applied. We also provide a research agenda on the subject. [Method:] We conducted a web-based questionnaire survey with 31 instructors who teach ESE. [Results:] We see several aspects, such as: ESE is mainly taught in an exclusive course; most of the materials used to teach ESE concepts are from third parties and some of them themselves; most people do not use any type of license; the core materials used to define the content of the courses are papers and books; learning management systems are most often used to share materials with students; key learning practices used are active learning, project-based learning, and problem-based learning; and most instructors assess their students with experimental projects and seminars. Based on such results, we provide and discuss a research agenda to improve teaching of ESE. [Conclusions:] This survey provides results towards planning a research agenda to improve teaching of ESE, thus benefiting instructors, researchers, and practitioners. Carlos Danilo Luz, Edson OliveiraJr, Igor Steinmacher |
EASE | 3 |
| 2022 | How to Choose a Task? Mismatches in Perspectives of Newcomers and Existing Contributorsabstract[Background] Selecting an appropriate task is challenging for Open Source Software (OSS) project newcomers and a variety of strategies can help them in this process. [Aims] In this research, we compare the perspective of maintainers, newcomers, and existing contributors about the importance of strategies to support this process. Our goal is to identify possible gulfs of expectations between newcomers who are meant to be helped and contributors who have to put effort into these strategies, which can create friction and impede the usefulness of the strategies. [Method] We interviewed maintainers (n=17) and applied inductive qualitative analysis to derive a model of strategies meant to be adopted by newcomers and communities. Next, we sent a questionnaire (n=64) to maintainers, frequent contributors, and newcomers, asking them to rank these strategies based on their importance. We used the Schulze method to compare the different rankings from the different types of contributors. [Results] Maintainers and contributors diverged in their opinions about the relative importance of various strategies. The results suggest that newcomers want a better contribution process and more support to onboard, while maintainers expect to solve questions using the available communication channels. [Conclusions] The gaps in perspectives between newcomers and existing contributors create a gulf of expectation. OSS communities can leverage our results to prioritize the strategies considered the most important by newcomers. Fabio Santos, Bianca Trinkenreich, João Felipe Pimentel, Igor Scaliante Wiese, Igor Steinmacher, Anita Sarma, Marco Aurélio Gerosa |
ESEM | 5 |
| 2022 | Bots for Pull Requests: The Good, the Bad, and the PromisingabstractSoftware bots automate tasks within Open Source Software (OSS) projects' pull requests and save reviewing time and effort ("the good"). However, their interactions can be disruptive and noisy and lead to information overload ("the bad"). To identify strategies to overcome such problems, we applied Design Fiction as a participatory method with 32 practitioners. We elicited 22 design strategies for a bot mediator or the pull request user interface ("the promising"). Participants envisioned a separate place in the pull request interface for bot interactions and a bot mediator that can summarize and customize other bots' actions to mitigate noise. We also collected participants' perceptions about a prototype implementing the envisioned strategies. Our design strategies can guide the development of future bots and social coding platforms. Mairieli Santos Wessel, Ahmad Abdellatif, Igor Scaliante Wiese, Tayana Conte, Emad Shihab, Marco Aurélio Gerosa, Igor Steinmacher |
ICSE | 7 |
| 2022 | Together or Apart? Investigating a mediator bot to aggregate bot's comments on pull requestsabstractSoftware bots connect users and tools, streamlining the pull request review process in social coding platforms. However, bots can introduce information overload into developers’ communication. Information overload is especially problematic for newcomers, who are still exploring the project and may feel overwhelmed by the number of messages. Inspired by the literature of other domains, we designed and evaluated FunnelBot, a bot that acts as a mediator between developers and other bots in the repository. We conducted a within-subject study with 25 newcomers to capture their perceptions and preferences. Our results provide insights for bot developers who want to mitigate noise and create bots for supporting newcomers, laying a foundation for designing better bots. Eric Ribeiro, Ronan Nascimento, Igor Steinmacher, Laerte Xavier, Marco Aurélio Gerosa, Hugo de Paula, Mairieli Santos Wessel |
ICSME | 3 |
| 2022 | BotHunter: An Approach to Detect Software Bots in GitHubabstractBots have become popular in software projects as they play critical roles, from running tests to fixing bugs/vulnerabilities. However, the large number of software bots adds extra effort to practitioners and researchers to distinguish human accounts from bot accounts to avoid bias in data-driven studies. Researchers developed several approaches to identify bots at specific activity levels (issue/pull request or commit), considering a single repository and disregarding features that showed to be effective in other domains. To address this gap, we propose using a machine learning-based approach to identify the bot accounts regardless of their activity level. We selected and extracted 19 features related to the account's profile information, activities, and comment similarity. Then, we evaluated the performance of five machine learning classifiers using a dataset that has more than 5,000 GitHub accounts. Our results show that the Random Forest classifier performs the best, with an F1-score of 92.4% and AUC of 98.7%. Furthermore, the account profile information (e.g., account login) contains the most relevant features to identify the account type. Finally, we compare the performance of our Random Forest classifier to the state-of-the-art approaches, and our results show that our model outperforms the state-of-the-art techniques in identifying the account type regardless of their activity level. Ahmad Abdellatif, Mairieli Santos Wessel, Igor Steinmacher, Marco Aurélio Gerosa, Emad Shihab |
MSR | 3 |
| 2022 | Hits and Misses: Newcomers' ability to identify Skills needed for OSS tasksabstractParticipation in Open Source Software (OSS) projects offers real software development experience for students and other newcomers seeking to develop their skills. However, onboarding to an OSS project brings various challenges, including finding a suitable task among various open issues. Selecting an appropriate starter task requires newcomers to identify the skills needed to solve a project issue and avoiding tasks too far from their skill set. However, little is known about how effective newcomers are in identifying the skills needed to resolve an issue. We asked 154 undergrad students to evaluate issues from OSS projects and infer the skills needed to contribute. Students reported a total of 94 skills, which we classified into 10 categories. We compared the students' answers to those collected from 6 professional developers. In general, students misidentified and missed several skills (f-measure=0.37). Students had results closer to professional developers for skills related to database, operating infrastructure, programming concepts, and programming language, and they had worse results in identifying skills related to debugging and program comprehension. Our results can help educators who seek to use OSS as part of their courses and OSS communities that want to label newcomer-friendly issues to facilitate onboarding of new contributors. Ítalo Santos, Igor Scaliante Wiese, Igor Steinmacher, Anita Sarma, Marco Aurélio Gerosa |
SANER | 3 |
| 2022 | Will you come back to contribute? Investigating the inactivity of OSS core developers in GitHubabstractAbstract Several Open-Source Software (OSS) projects depend on the continuity of their development communities to remain sustainable. Understanding how developers become inactive or why they take breaks can help communities prevent abandonment and incentivize developers to come back. In this paper, we propose a novel method to identify developers’ inactive periods by analyzing the individual rhythm of contributions to the projects. Using this method, we quantitatively analyze the inactivity of core developers in 18 OSS organizations hosted on GitHub. We also survey core developers to receive their feedback about the identified breaks and transitions. Our results show that our method was effective for identifying developers’ breaks. About 94% of the surveyed core developers agreed with our state model of inactivity; 71% and 79% of them acknowledged their breaks and state transition, respectively. We also show that all core developers take breaks (at least once) and about a half of them (~45%) have completely disengaged from a project for at least one year. We also analyzed the probability of transitions to/from inactivity and found that developers who pause their activity have a ~35 to ~55% chance to return to an active state; yet, if the break lasts for a year or longer, then the probability of resuming activities drops to ~21–26%, with a ~54% chance of complete disengagement. These results may support the creation of policies and mechanisms to make OSS community managers aware of breaks and potential project abandonment. Fabio Calefato, Marco Aurélio Gerosa, Giuseppe Iaffaldano, Filippo Lanubile, Igor Steinmacher |
Empir. Softw. Eng. | 5 |
| 2022 | Quality gatekeepers: investigating the effects of code review bots on pull request activitiesabstractAbstract Software bots have been facilitating several development activities in Open Source Software (OSS) projects, including code review. However, these bots may bring unexpected impacts to group dynamics, as frequently occurs with new technology adoption. Understanding and anticipating such effects is important for planning and management. To analyze these effects, we investigate how several activity indicators change after the adoption of a code review bot. We employed a regression discontinuity design on 1,194 software projects from GitHub. We also interviewed 12 practitioners, including open-source maintainers and contributors. Our results indicate that the adoption of code review bots increases the number of monthly merged pull requests, decreases monthly non-merged pull requests, and decreases communication among developers. From the developers’ perspective, these effects are explained by the transparency and confidence the bot comments introduce, in addition to the changes in the discussion focused on pull requests. Practitioners and maintainers may leverage our results to understand, or even predict, bot effects on their projects. Mairieli Santos Wessel, Alexander Serebrenik, Igor Scaliante Wiese, Igor Steinmacher, Marco Aurélio Gerosa |
Empir. Softw. Eng. | 4 |
| 2022 | SEXTAMT: A systematic map to navigate the wide seas of factors affecting expert judgment software estimates
Patrícia Matsubara, Bruno Gadelha, Igor Steinmacher, Tayana Conte |
J. Syst. Softw. | 3 |
| 2022 | Women's Participation in Open Source Software: A Survey of the LiteratureabstractWomen are underrepresented in Open Source Software (OSS) projects, as a result of which, not only do women lose career and skill development opportunities, but the projects themselves suffer from a lack of diversity of perspectives. Practitioners and researchers need to understand more about the phenomenon; however, studies about women in open source are spread across multiple fields, including information systems, software engineering, and social science. This article systematically maps, aggregates, and synthesizes the state-of-the-art on women’s participation in OSS. It focuses on women contributors’ representation and demographics, how they contribute, their motivations and challenges, and strategies employed by communities to attract and retain women. We identified 51 articles (published between 2000 and 2021) that investigated women’s participation in OSS. We found evidence in these papers about who are the women who contribute, what motivates them to contribute, what types of contributions they make, challenges they face, and strategies proposed to support their participation. According to these studies, only about 5% of projects were reported to have women as core developers, and women authored less than 5% of pull-requests, but had similar or even higher rates of pull-request acceptances than men. Women make both code and non-code contributions, and their motivations to contribute include learning new skills, altruism, reciprocity, and kinship. Challenges that women face in OSS are mainly social, including lack of peer parity and non-inclusive communication from a toxic culture. We found 10 strategies reported in the literature, which we mapped to the reported challenges. Based on these results, we provide guidelines for future research and practice. Bianca Trinkenreich, Igor Scaliante Wiese, Anita Sarma, Marco Aurélio Gerosa, Igor Steinmacher |
ACM Trans. Softw. Eng. Methodol. | 5 |
| 2022 | How Gender-Biased Tools Shape Newcomer Experiences in OSS ProjectsabstractPrevious research has revealed that newcomer women are disproportionately affected by gender-biased barriers in open source software (OSS) projects. However, this research has focused mainly on social/cultural factors, neglecting the software tools and infrastructure. To shed light on how OSS tools and infrastructure might factor into OSS barriers to entry, we conducted two studies: (1) a field study with five teams of software professionals, who worked through five use cases to analyze the tools and infrastructure used in their OSS projects; and (2) a diary study with 22 newcomers (9 women and 13 men) to investigate whether the barriers matched the ones identified by the software professionals. The field study produced a bleak result: software professionals found gender biases in 73 percent of all the newcomer barriers they identified. Further, the diary study confirmed these results: Women newcomers encountered gender biases in 63 percent of barriers they faced. Fortunately, many kinds of barriers and biases revealed in these studies could potentially be ameliorated through changes to the OSS software environments and tools. Hema Susmita Padala, Christopher J. Mendez, Felipe Fronchetti, Igor Steinmacher, Zoe Steine-Hanson, Claudia Hilderbrand, Amber Horvath, Charles Hill 0001, Logan Simpson, Margaret M. Burnett, Marco Aurélio Gerosa, Anita Sarma |
IEEE Trans. Software Eng. | 4 |
| 2022 | Pots of Gold at the End of the Rainbow: What is Success for Open Source Contributors?abstractSuccess in Open Source Software (OSS) is often perceived as an exclusively code-centric endeavor. This perception can exclude a variety of individuals with a diverse set of skills and backgrounds, in turn helping exacerbate the current diversity & inclusion imbalance in OSS. Because one's perspective of success can affect one's personal, professional, and life choices, to support a diverse class of individuals we must first understand how OSS contributors understand success. Thus far, research has used a uni-dimensional, code-centric lens to define success. In this paper, we challenge this status quo to reveal OSS contributors’ multifaceted definitions of success. We do so through interviews with 27 OSS contributors whose communities recognize them as successful, and a follow-up open survey with 193 OSS contributors. Our study provides nuanced definitions of success perceptions in OSS, which might help devise strategies to attract and retain a diverse set of contributors, helping them attain their unique “pot of gold at the end of the rainbow”. Bianca Trinkenreich, Mariam Guizani, Igor Scaliante Wiese, Tayana Conte, Marco Aurélio Gerosa, Anita Sarma, Igor Steinmacher |
IEEE Trans. Software Eng. | 7 |
| 2021 | What Makes a Great Maintainer of Open Source Projects?abstractAlthough Open Source Software (OSS) maintainers devote a significant proportion of their work to coding tasks, great maintainers must excel in many other activities beyond coding. Maintainers should care about fostering a community, helping new members to find their place, while also saying "no" to patches that although are well-coded and well-tested, do not contribute to the goal of the project. To perform all these activities masterfully, maintainers should exercise attributes that software engineers (working on closed source projects) do not always need to master. This paper aims to uncover, relate, and prioritize the unique attributes that great OSS maintainers might have. To achieve this goal, we conducted 33 semi-structured interviews with well-experienced maintainers that are the gatekeepers of notable projects such as the Linux Kernel, the Debian operating system, and the GitLab coding platform. After we analyzed the interviews and curated a list of attributes, we created a conceptual framework to explain how these attributes are connected. We then conducted a rating survey with 90 OSS contributors. We noted that "technical excellence" and "communication" are the most recurring attributes. When grouped, these attributes fit into four broad categories: management, social, technical, and personality. While we noted that "sustain a long term vision of the project" and being "extremely careful" seem to form the basis of our framework, we noted through our survey that the communication attribute was perceived as the most essential one. Edson Dias, Paulo Meirelles, Fernando Castor Filho, Igor Steinmacher, Igor Scaliante Wiese, Gustavo Pinto 0001 |
ICSE | 4 |
| 2021 | The Shifting Sands of Motivation: Revisiting What Drives Contributors in Open SourceabstractOpen Source Software (OSS) has changed drastically over the last decade, with OSS projects now producing a large ecosystem of popular products, involving industry participation, and providing professional career opportunities. But our field's understanding of what motivates people to contribute to OSS is still fundamentally grounded in studies from the early 2000s. With the changed landscape of OSS, it is very likely that motivations to join OSS have also evolved. Through a survey of 242 OSS contributors, we investigate shifts in motivation from three perspectives: (1) the impact of the new OSS landscape, (2) the impact of individuals' personal growth as they become part of OSS communities, and (3) the impact of differences in individuals' demographics. Our results show that some motivations related to social aspects and reputation increased in frequency and that some intrinsic and internalized motivations, such as learning and intellectual stimulation, are still highly relevant. We also found that contributing to OSS often transforms extrinsic motivations to intrinsic, and that while experienced contributors often shift toward altruism, novices often shift toward career, fun, kinship, and learning. OSS projects can leverage our results to revisit current strategies to attract and retain contributors, and researchers and tool builders can better support the design of new studies and tools to engage and support OSS development. Marco Aurélio Gerosa, Igor Scaliante Wiese, Bianca Trinkenreich, Georg Link, Gregorio Robles, Christoph Treude, Igor Steinmacher, Anita Sarma |
ICSE | 7 |
| 2021 | Can I Solve It? Identifying APIs Required to Complete OSS TasksabstractOpen Source Software projects add labels to open issues to help contributors choose tasks. However, manually labeling issues is time-consuming and error-prone. Current automatic approaches for creating labels are mostly limited to classifying issues as a bug/non-bug. In this paper, we investigate the feasibility and relevance of labeling issues with the domain of the APIs required to complete the tasks. We leverage the issues' description and the project history to build prediction models, which resulted in precision up to 82% and recall up to 97.8%. We also ran a user study (n=74) to assess these labels' relevancy to potential contributors. The results show that the labels were useful to participants in choosing tasks, and the API-domain labels were selected more often than the existing architecture-based labels. Our results can inspire the creation of tools to automatically label issues, helping developers to find tasks that better match their skills. Fabio Santos, Igor Scaliante Wiese, Bianca Trinkenreich, Igor Steinmacher, Anita Sarma, Marco Aurélio Gerosa |
MSR | 4 |
| 2021 | The Long Road Ahead: Ongoing Challenges in Contributing to Large OSS Organizations and What to DoabstractOpen source communities hosted in large foundations operate in a complex socio-technical ecosystem, which includes a heterogeneous mix of projects and stakeholders. Previous work has thus far investigated the challenges faced in OSS communities from the point of view of specific stakeholders, primarily at the level of individual projects. None have yet studied the challenges faced within a large, federated open source organization. In this paper, we aim to bridge this gap to identify ongoing challenges contributors face in a mature OSS organization. To do so, we surveyed 624 contributors at the Apache Software Foundation (ASF) and ran 11 semi-structured follow up interviews. We validated our findings through member checking with the interviewees as well as the ASF Diversity and Inclusion (D&I) committee. The contributions of this paper include: (1) an empirically-evidenced conceptual model of the 88 challenges that contributors face in a mature OSS foundation and (2) a set of 48 community-recommended strategies for alleviating these challenges. Our results show that even well-established and mature organizations still face a variety of individual and project-specific challenges and that it is difficult to design a comprehensive set of processes and guidelines to match the needs and expectations of a diverse and large federated community. Our conceptual challenges model and associated strategies to mitigate them can provide guidance to other OSS foundations and projects helping them in building better support processes and tools to create a successful, thriving community of contributors. Mariam Guizani, Amreeta Chatterjee, Bianca Trinkenreich, Mary Evelyn May, Geraldine J. Noa-Guevara, Liam James Russell, Griselda G. Cuevas Zambrano, Daniel Izquierdo 0001, Igor Steinmacher, Marco Aurélio Gerosa, Anita Sarma |
Proc. ACM Hum. Comput. Interact. | 9 |
| 2021 | Don't Disturb Me: Challenges of Interacting with Software Bots on Open Source Software ProjectsabstractSoftware bots are used to streamline tasks in Open Source Software (OSS) projects' pull requests, saving development cost, time, and effort. However, their presence can be disruptive to the community. We identified several challenges caused by bots in pull request interactions by interviewing 21 practitioners, including project maintainers, contributors, and bot developers. In particular, our findings indicate noise as a recurrent and central problem. Noise affects both human communication and development workflow by overwhelming and distracting developers. Our main contribution is a theory of how human developers perceive annoying bot behaviors as noise on social coding platforms. This contribution may help practitioners understand the effects of adopting a bot, and researchers and tool designers may leverage our results to better support human-bot interaction on social coding platforms. Mairieli Santos Wessel, Igor Scaliante Wiese, Igor Steinmacher, Marco Aurélio Gerosa |
Proc. ACM Hum. Comput. Interact. | 3 |
| 2020 | Assessing the Characteristics of FOSS Contributions in Network Automation ProjectsabstractNetwork Automation seeks to integrate software solutions that aid in the management and maintenance of modern networks. In industry, large organizations see dedicated software engineering resources within a networking team. However, in the broader industry, it is more common to see traditional network engineers working on network automation. With the growth of Free and Open Source Software (FOSS), network automation software solutions also started to adhere to this development model. However, as it is known from the literature, onboarding to FOSS projects is not a trivial task and may be more challenging for people without a software development background. In this paper, we study network automation FOSS projects, which are seeing a large number of new contributors who do not have traditional software engineering skills. We analyze a set of data collected from pull requests and issues collected from 81 GitHub projects (71 network automation projects, and 10 top-projects from other domains), to identify the characteristics that are specific to first-time project contributors in the network automation domain. Our results show that pull requests in the Network Automation domain differ from those in the Top-10 set and the existing literature. At the same time that Network Automation projects are more inclusive (rejection rate: 12% vs. 28% on Top-10), the pull request latency is longer in this specific domain, especially for first-timers. Igor Steinmacher, Paige Rodeghero |
ICSME | 2 |
| 2020 | Effects of Adopting Code Review Bots on Pull Requests to OSS ProjectsabstractSoftware bots, which are widely adopted by Open Source Software (OSS) projects, support developers on several activities, including code review. However, as with any new technology adoption, bots may impact group dynamics. Since understanding and anticipating such effects is important for planning and management, we investigate how several activity indicators change after the adoption of a code review bot. We employed a regression discontinuity design on 1,194 software projects from GitHub. Our results indicate that the adoption of code review bots increases the number of monthly merged pull requests, decreases monthly non-merged pull requests, and decreases communication among developers. Practitioners and maintainers may leverage our results to understand, or even predict, bot effects on their projects' social interactions. Mairieli Santos Wessel, Alexander Serebrenik, Igor Scaliante Wiese, Igor Steinmacher, Marco Aurélio Gerosa |
ICSME | 4 |
| 2020 | A theory of the engagement in open source projects via summer of code programsabstractSummer of code programs connect students to open source software (OSS) projects, typically during the summer break from school. Analyzing consolidated summer of code programs can reveal how college students, who these programs usually target, can be motivated to participate in OSS, and what onboarding strategies OSS communities adopt to receive these students. In this paper, we study the well-established Google Summer of Code (GSoC) and devise an integrated engagement theory grounded in multiple data sources to explain motivation and onboarding in this context. Our analysis shows that OSS communities employ several strategies for planning and executing student participation, socially integrating the students, and rewarding student’s contributions and achievements. Students are motivated by a blend of rewards, which are moderated by external factors. We presented these rewards and the motivation theory to students who had never participated in a summer of code program and collected their shift in motivation after learning about the theory. New students can benefit from the former students' experiences detailed in our results, and OSS stakeholders can leverage both the insight into students’ motivations for joining such programs as well as the onboarding strategies we identify to devise actions to attract and retain newcomers. Jefferson De Oliveira Silva, Igor Scaliante Wiese, Daniel M. Germán, Christoph Treude, Marco Aurélio Gerosa, Igor Steinmacher |
ESEC/SIGSOFT FSE | 6 |
| 2020 | Refactoring from 9 to 5? What and When Employees and Volunteers Contribute to OSSabstractIn this paper we characterize the contributions made by employees (developers that work for GitHub, the company) and volunteers (developers that use GitHub, the platform) to OSS projects maintained by GitHub (the company) on GitHub (the platform). By mining activities performed in five well-known company-owned OSS projects, we investigate what they do and when they do it. We found that the majority of the volunteers' contributions are related to reengineering (e.g., refactoring), while employees focus more on management (e.g., documentation). When it comes to the working hours, we found that contributions are made mostly from 9am-5pm, even for the volunteers. Luiz Felipe Dias, Caio Barbosa, Gustavo Pinto 0001, Igor Steinmacher, Baldoino Fonseca dos Santos Neto, Márcio Ribeiro 0001, Christoph Treude, Daniel Alencar da Costa |
VL/HCC | 4 |
| 2020 | Pull Requests or Commits? Which Method Should We Use to Study Contributors' Behavior?abstractSocial coding environments have been consistently growing since the popularization of the contribution model known as pull-based. This model has facilitated how developers make their contributions; developers can easily place a few pull requests without further commitment. Developers without strong ties to a project, the so-called casual contributors, often make a single contribution before disappearing. Interestingly, some studies about the topic use the number of commits made to identify the casual contributors, while others use the number of merged pull requests. Does the method used influence the results? In this paper, we replicate a study about casual contributors that relied on commits to identify and analyze these contributors. To achieve this goal, we analyzed the same set of GitHub-hosted software repositories used in the original paper. By using pull requests, we found an average of 66% casual contributors (in comparison to 48.98% when using commits), who were responsible for 12.5% of the contributions accepted (1.73% when using commits). We used a sample of 442 developers to investigate the accuracy of the method. We found that 11.3% of the contributors identified using the pull requests were misclassified (26.2% using commits). We also evidenced that using pull requests is more precise for determining the number of contributions, given that GitHub projects mostly follow the pull-based process. Our results indicate that the method used for mining contributors' data has the potential to influence the results. With this replication, it may be possible to improve previous results and reduce future efforts for new researchers when conducting studies that rely on the number of contributions. Marcus Vinicius Bertoncello, Gustavo Pinto 0001, Igor Scaliante Wiese, Igor Steinmacher |
SANER | 4 |
| 2020 | Recommending Tasks to Newcomers in OSS Projects: How Do Mentors Handle It?abstractSoftware developers who want to start contributing to an Open Source Software (OSS) project often struggle to find appropriate first tasks. The voluntary, self-organizing distribution of decentralized labor and the distinct nature of some OSS projects intensifies this challenge. Mentors, who work closely with newcomers, develop strategies to recommend tasks. However, to date neither the challenges mentors face in recommending tasks nor their strategies have been formally documented or studied. In this paper, we interviewed mentors of well-established OSS projects (n=10) and qualitatively analyzed their answers to identify both challenges and strategies related to recommending tasks for newcomers. Then, we employed a survey (n=30) to map the strategies to challenges and collect additional strategies. Our study identified 7 challenges and 13 strategies related to task recommendation. Strategies such as "tagging the issues based on difficulty," "adding documentation," "assigning a small task first and then challenge the newcomers with bigger tasks," and "dividing tasks into smaller pieces" were frequently mentioned as ways to overcome multiple challenges. Our results provide insights for mentors about the strategies OSS communities can use to guide their mentors and for tool builders who design automated support for task assignment. Sogol Balali, Umayal Annamalai, Hema Susmita Padala, Bianca Trinkenreich, Marco Aurélio Gerosa, Igor Steinmacher, Anita Sarma |
OpenSym | 6 |
| 2020 | Code and commit metrics of developer productivity: a study on team leaders perceptions
Edson Oliveira 0001, Eduardo Fernandes, Igor Steinmacher, Marco Cristo, Tayana Conte, Alessandro F. Garcia 0001 |
Empir. Softw. Eng. | 3 |
| 2020 | Google summer of code: Student motivations and contributions
Jefferson De Oliveira Silva, Igor Scaliante Wiese, Daniel M. Germán, Christoph Treude, Marco Aurélio Gerosa, Igor Steinmacher |
J. Syst. Softw. | 6 |
| 2020 | Hidden Figures: Roles and Pathways of Successful OSS ContributorsabstractOpen Source Software (OSS) development is a collaborative endeavor where expert developers, distributed around the globe create software solutions. Given this characteristic, OSS communities have been studied as technical communities, where stakeholders join and evolve in their careers based on their (often voluntary) code contributions to the project. However, the OSS landscape is slowly changing with more people and companies getting involved in OSS. This means that projects now need people in non-technical roles and activities to keep the project sustainable and evolving. In this paper, we focus on understanding the roles and activities that are part of the current OSS landscape and the different career pathways in OSS. By conducting and analyzing 17 interviews with OSS contributors who are well known in the community, we provide empirical evidence of the existence and importance of community-centric roles (e.g advocate, license manager, community founder) in addition to the well-known project-centric ones (e.g maintainer, core member). However, the community-centric roles typically remain hidden, since these roles may not leave traces in software repositories typically analyzed by researchers. We found that people can build a career in OSS through different roles and activities, with different backgrounds, including those not related to writing software. Furthermore, people's career pathways are fluid, moving between project and community-centric roles. Our work highlights that communities and researchers need to take action to acknowledge the importance of these varied roles, making these roles visible and well-recognized, which can ultimately help attract and retain more people in the OSS projects. Bianca Trinkenreich, Mariam Guizani, Igor Scaliante Wiese, Anita Sarma, Igor Steinmacher |
Proc. ACM Hum. Comput. Interact. | 5 |
| 2019 | Understanding Development Process of Machine Learning Systems: Challenges and SolutionsabstractBackground: The number of Machine Learning (ML) systems developed in the industry is increasing rapidly. Since ML systems are different from traditional systems, these differences are clearly visible in different activities pertaining to ML systems software development process. These differences make the Software Engineering (SE) activities more challenging for ML systems because not only the behavior of the system is data dependent, but also the requirements are data dependent. In such scenario, how can Software Engineering better support the development of ML systems? Aim: Our objective is twofold. First, better understand the process that developers use to build ML systems. Second, identify the main challenges that developers face, proposing ways to overcome these challenges. Method: We conducted interviews with seven developers from three software small companies that develop ML systems. Based on the challenges uncovered, we proposed a set of checklists to support the developers. We assessed the checklists by using a focus group. Results: We found that the ML systems development follow a 4-stage process in these companies. These stages are: understanding the problem, data handling, model building, and model monitoring. The main challenges faced by the developers are: identifying the clients' business metrics, lack of a defined development process, and designing the database structure. We have identified in the focus group that our proposed checklists provided support during identification of the client's business metrics and in increasing visibility of the progress of the project tasks. Conclusions: Our research is an initial step towards supporting the development of ML systems, suggesting checklists that support developers in essential development tasks, and also serve as a basis for future research in the area. Elizamary Nascimento, Iftekhar Ahmed 0001, Edson Oliveira 0001, Márcio Piedade Palheta, Igor Steinmacher, Tayana Conte |
ESEM | 5 |
| 2019 | Overcoming Social Barriers When Contributing to Open Source Software Projects
Igor Steinmacher, Marco Aurélio Gerosa, Tayana Conte, David F. Redmiles |
Comput. Support. Cooperative Work. | 1 |
| 2019 | Ten simple rules for helping newcomers become contributors to open projectsabstractTo survive and thrive, a must attract new members, retain them, and help them be productive [1]. As openness becomes the norm in research, software development, and education, knowing how to do this has become an essential skill for principal investigators and managers alike. A growing body of knowledge in sociology, anthropology, education, and software engineering can guide decisions about how to facilitate this.
What exactly do we mean by community? In the case of open source and open science, the most usual meaning is a community of practice. As defined by Lave and Wenger [2, 3], groups as diverse as knitting circles, oncology researchers, and web designers share three key characteristics:
Participants have a common product or purpose that they work on or toward.
They are mutually engaged, i.e., they assist and mentor each another.
They develop shared resources and domain knowledge.
Brown [4] specializes this to define a community of as
…a formed in pursuit of a common goal. The goal can be definite or indefinite in time, and may not be clearly defined, but it is something that (generally speaking) the is aligned on.
People working to preserve coral reefs in the face of global climate change are an example of such a community. No central organization coordinates their work, but the scientists who study coral reefs, the environmentalists who work to protect them, and the citizens who support them financially and politically are aware of each other’s efforts, collaborate in ad hoc ways, and are conscious of contributing toward a shared purpose.
Open-source software projects are also communities of effort. E.g., the Mozilla Firefox [5] includes a mix of paid professionals, highly involved volunteers, and occasional contributors who not only create software, documentation, and tutorials but also organize events, answer questions in online forums, mentor newcomers, and advocate for open standards.
Every of effort has unique features, but they have enough in common to profit from one another’s experience. The 10 rules laid out below are based on studies of such communities and on the authors’ experience as members, leaders, and observers. Our focus is on small and medium-sized projects, i.e., ones that have a handful of to a few hundred participants and are a few months to a few years old but may not (yet) have any formal legal standing, such as incorporation as a nonprofit. Dan Sholler, Igor Steinmacher, Denae Ford, Mara Averick, Mike Hoye, Greg Wilson |
PLoS Comput. Biol. | 2 |
| 2019 | Pieces of contextual information suitable for predicting co-changes? An empirical study
Igor Scaliante Wiese, Rodrigo Takashi Kuroda, Igor Steinmacher, Gustavo Ansaldi Oliva, Reginaldo Ré, Christoph Treude, Marco Aurélio Gerosa |
Softw. Qual. J. | 3 |
| 2018 | How modern news aggregators help development communities shape and share knowledgeabstractMany developers rely on modern news aggregator sites such as Reddit and Hacker News to stay up to date with the latest technological developments and trends. In order to understand what motivates developers to contribute, what kind of content is shared, and how knowledge is shaped by the community, we interviewed and surveyed developers that participate on the Reddit programming subreddit and we analyzed a sample of posts on both Reddit and Hacker News. We learned what kind of content is shared in these websites and developer motivations for posting, sharing, discussing, evaluating, and aggregating knowledge on these aggregators, while revealing challenges developers face in terms of how content and participant behavior is moderated. Our insights aim to improve the practices developers follow when using news aggregators, as well as guide tool makers on how to improve their tools. Our findings are also relevant to researchers that study developer communities of practice. Mauricio Finavaro Aniche, Christoph Treude, Igor Steinmacher, Igor Scaliante Wiese, Gustavo Pinto 0001, Margaret-Anne D. Storey, Marco Aurélio Gerosa |
ICSE | 3 |
| 2018 | Almost there: a study on quasi-contributors in open source software projectsabstractRecent studies suggest that well-known OSS projects struggle to find the needed workforce to continue evolving---in part because external developers fail to overcome their first contribution barriers. In this paper, we investigate how and why quasi-contributors (external developers who did not succeed in getting their contributions accepted to an OSS project) fail. To achieve our goal, we collected data from 21 popular, non-trivial GitHub projects, identified quasi-contributors, and analyzed their pull-requests. In addition, we conducted surveys with quasi-contributors, and projects' integrators, to understand their perceptions about nonacceptance. We found 10,099 quasi-contributors --- about 70% of the total actual contributors --- that submitted 12,367 nonaccepted pull-requests. In five projects, we found more quasi-contributors than actual contributors. About one-third of the developers who took our survey disagreed with the nonacceptance, and around 30% declared the nonacceptance demotivated or prevented them from placing another pull-request. The main reasons for pull-request nonacceptance from the quasi-contributors' perspective were "superseded/duplicated pull-request" and "mismatch between developer's and team's vision/opinion." A manual analysis of a representative sample of 263 pull-requests corroborated with this finding. We also found reasons related to the relationship with the community and lack of experience or commitment from the quasi-contributors. This empirical study is particularly relevant to those interested in fostering developers' participation and retention in OSS communities. Igor Steinmacher, Gustavo Pinto 0001, Igor Scaliante Wiese, Marco Aurélio Gerosa |
ICSE | 1 |
| 2018 | Newcomers' Barriers. . . Is That All? An Analysis of Mentors' and Newcomers' Barriers in OSS Projects
Sogol Balali, Igor Steinmacher, Umayal Annamalai, Anita Sarma, Marco Aurélio Gerosa |
Comput. Support. Cooperative Work. | 2 |
| 2018 | On the challenges of open-sourcing proprietary software projects
Gustavo Pinto 0001, Igor Steinmacher, Luiz Felipe Dias, Marco Aurélio Gerosa |
Empir. Softw. Eng. | 2 |
| 2018 | The Power of Bots: Characterizing and Understanding Bots in OSS ProjectsabstractLeveraging the pull request model of social coding platforms, Open Source Software (OSS) integrators review developers' contributions, checking aspects like license, code quality, and testability. Some projects use bots to automate predefined, sometimes repetitive tasks, thereby assisting integrators' and contributors' work. Our research investigates the usage and impact of such bots. We sampled 351 popular projects from GitHub and found that 93 (26%) use bots. We classified the bots, collected metrics from before and after bot adoption, and surveyed 228 developers and integrators. Our results indicate that bots perform numerous tasks. Although integrators reported that bots are useful for maintenance tasks, we did not find a consistent, statistically significant difference between before and after bot adoption across the analyzed projects in terms of number of comments, commits, changed files, and time to close pull requests. Our survey respondents deem the current bots as not smart enough and provided insights into the bots' relevance for specific tasks, challenges, and potential new features. We discuss some of the raised suggestions and challenges in light of the literature in order to help GitHub bot designers reuse and test ideas and technologies already investigated in other contexts. Mairieli Santos Wessel, Bruno Mendes de Souza, Igor Steinmacher, Igor Scaliante Wiese, Ivanilton Polato, Ana Paula Chaves, Marco Aurélio Gerosa |
Proc. ACM Hum. Comput. Interact. | 3 |
| 2017 | Training Software Engineers Using Open-Source Software: The Professors' PerspectiveabstractTraditional Software Engineering (SE) courses often prioritize methodologies and concepts in small, controlled environments: naive projects used as a proof of concept instead of full-fledged real software systems. Although this strategy has clear benefits, it does not place enough care in training students to face complex, non-trivial legacy software projects. To bridge this gap, novel SE courses are leveraging the rich variety of open-source software (OSS) projects to illustrate how these methodologies and concepts are applied to existing, non-trivial software systems. To better understand the benefits, challenges, and opportunities of this transition, in this paper, we interview seven SE professors that changed their academic setting to aspire students to comprehend, maintain, and evolve OSS systems as part of their SE course. We found that there are different ways to make use of OSS projects in SE courses in terms of project choice, assessment, and learning goals. Moreover, we evidence clear benefits of this approach, including improving students' social and technical skills, and helping students enhancing their resume. Also, we observed that this strategy comes with costs: the activity demands effort and time from the professor and the barrier for one getting involved with and, therefore, placing a meaningful contribution, in an OSS community is often high. Gustavo Pinto 0001, Fernando Marques Figueira Filho, Igor Steinmacher, Marco Aurélio Gerosa |
CSEE&T | 3 |
| 2017 | Is It Better to Learn from Problems or Erroneous Examples?abstractUnified Modeling Language (UML) is a modeling standard that has been commonly used in the software industry. However, students face difficulties while learning how to model complete and correct UML diagrams. One of the reasons is the way UML has been taught. In order to improve the effectiveness of learning it is necessary to employ methods in which the students actively take part in the learning process. This paper describes an empirical study that evaluates two teaching methods: Problem Based Learning (PBL) and Learning from Erroneous Examples (ErrEx). We compared these methods by assessing the degree of correctness and completeness of the produced diagrams. We analyzed students' perceptions about each method. The quantitative results showed that the diagrams created using both methods presented similar level of correctness and completeness. The qualitative results showed that students found PBL easier when learning UML diagrams. Results showed that students found PBL easier when learning UML diagrams. Williamson Silva, Igor Steinmacher, Tayana Conte |
CSEE&T | 2 |
| 2017 | How Long and How Much: What to Expect from Summer of Code Participants?abstractOpen Source Software (OSS) communities depend on continu-ally recruiting new contributors. Some communities promote initiatives such as Summers of Code to foster contribution, but little is known about how successful these initiatives are. As a case study, we chose Google Summer of Code (GSoC), which is a three-month internship promoting software development by students in several OSS projects. We quantitatively inves-tigated different aspects of students' contribution, including number of commits, code churn, and contribution date inter-vals. We found that 82% of the studied OSS projects merged at least one commit in codebase. When only newcomers are considered, ~54% of OSS projects merged at least one com-mit. We also found that ~23% of newcomers contributed to GSoC projects before knowing they would be accepted. Addi-tionally, we found that the amount of commits and code of students with experience in the GSoC projects are strongly correlated with how much code they produced and how long they remained during and after GSoC. OSS communities can take advantage of our results to balance the trade-offs in-volved in entering CCEs, to set the communities' expectations about how much contribution they can expect to achieve, and for how long students will probably engage. Jefferson De Oliveira Silva, Igor Scaliante Wiese, Daniel M. Germán, Igor Steinmacher, Marco Aurélio Gerosa |
ICSME | 4 |
| 2017 | Using contextual information to predict co-changes
Igor Scaliante Wiese, Reginaldo Ré, Igor Steinmacher, Rodrigo Takashi Kuroda, Gustavo Ansaldi Oliva, Christoph Treude, Marco Aurélio Gerosa |
J. Syst. Softw. | 3 |
| 2016 | Overcoming open source project entry barriers with a portal for newcomersabstractCommunity-based Open Source Software (OSS) projects are usually self-organized and dynamic, receiving contributions from distributed volunteers. Newcomer are important to the survival, long-term success, and continuity of these communities. However, newcomers face many barriers when making their first contribution to an OSS project, leading in many cases to dropouts. Therefore, a major challenge for OSS projects is to provide ways to support newcomers during their first contribution. In this paper, we propose and evaluate FLOSScoach, a portal created to support newcomers to OSS projects. FLOSScoach was designed based on a conceptual model of barriers created in our previous work. To evaluate the portal, we conducted a study with 65 students, relying on qualitative data from diaries, self-efficacy questionnaires, and the Technology Acceptance Model. The results indicate that FLOSScoach played an important role in guiding newcomers and in lowering barriers related to the orientation and contribution process, whereas it was not effective in lowering technical barriers. We also found that FLOSScoach is useful, easy to use, and increased newcomers' confidence to contribute. Our results can help project maintainers on deciding the points that need more attention in order to help OSS project newcomers overcome entry barriers. Igor Steinmacher, Tayana Conte, Christoph Treude, Marco Aurélio Gerosa |
ICSE | 1 |
| 2016 | How Does the Shift to GitHub Impact Project Collaboration?abstractSocial coding environments such as GitHub and Bitbucket are changing the way software is built. They are not only lowering the barriers for placing changes, but also making open-source contributions more visible and traceable. Not surprisingly, several mature, active, non-trivial open-source software projects are switching their decades of software history to these environments. There is a belief that these environments have the potential of attracting new contributors to open-source projects. However, there is little empirical evidence to support these claims. In this paper, we quantitatively and qualitatively studied a curated set of open-source projects that made the move to GitHub, aiming at understanding whether and how this migration fostered collaboration. Our results suggest that although interaction in some projects increased after migrating to GitHub, the rise of contributions is not straightforward. Luiz Felipe Dias, Igor Steinmacher, Gustavo Pinto 0001, Daniel Alencar da Costa, Marco Aurélio Gerosa |
ICSME | 2 |
| 2016 | Who is Who in the Mailing List? Comparing Six Disambiguation Heuristics to Identify Multiple Addresses of a ParticipantabstractMany software projects adopt mailing lists for the communication of developers and users. Researchers have been mining the history of such lists to study communities' behavior, organization, and evolution. A potential threat of this kind of study is that users often use multiple email addresses to interact in a single mailing list. This can affect the results and tools, when, for example, extracting social networks. This issue is particularly relevant for popular and long-term Open Source Software (OSS) projects, which attract participation of thousands of people. Researchers have proposed heuristics to identify multiple email addresses from the same participant, however there are few studies analyzing the effectiveness of these heuristics. In addition, many studies still do not use any heuristics for authors' disambiguation, which can compromise the results. In this paper, we compare six heuristics from the literature using data from 150 mailing lists from Apache Software Foundation projects. We found that the heuristics proposed by Oliva et al. and a Naïve heuristic outperformed the others in most cases, when considering the F-measure metric. We also found that the time window and the size of the dataset influence the effectiveness of each heuristic. These results may help researchers and tool developers to choose the most appropriate heuristic to use, besides highlighting the necessity of dealing with identity disambiguation, mainly in open source software communities with a large number of participants. Igor Scaliante Wiese, José Teodoro da Silva, Igor Steinmacher, Christoph Treude, Marco Aurélio Gerosa |
ICSME | 3 |
| 2016 | Training the future workforce through task curation in an OSS ecosystemabstractVolunteers to Open Source Software (OSS) projects contribute not only to help creating software that they use, but also to gain skills and enrich their expertise and resumes. However, newcomers to OSS face several challenges when joining a project. Particularly, they do not know where to start, or choose tasks that they can be successful at. Here, we describe our vision towards BugExchange, a system that curates tasks from OSS projects and helps train newcomers. While evaluating and executing these tasks, newcomers can gain an understanding about the project, its technology, and concepts. There are many challenges in designing such a system. For example, identifying the information needs of newcomers, creating task recommendations that match newcomers’ skills and career goals, and providing mentoring and networking support. We plan to leverage our previous work to conceive and prototype our system, which will include multiple research lines. BugExchange has the potential to improve newcomer learning experiences, reduce dropouts, and foster community building. Anita Sarma, Marco Aurélio Gerosa, Igor Steinmacher, Rafael Leano |
SIGSOFT FSE | 3 |
| 2016 | More Common Than You Think: An In-depth Study of Casual ContributorsabstractSource code hosting websites (code forges) have recently changed to more social environments, and the contribution process evolved to the so-called pull-based development model. Due to the facilities brought by this evolution, Open Source Software (OSS) projects are now facing a high exposure, leading to an increasing number of contributors. However, not all these contributors want to have a long-term engagement with the project. In fact, popular projects are known to have a restricted set of core developers who drive the project, but now these projects count on a broad set of "not that involved" developers, which are responsible for a long tail of small contributions. In this paper, we shed the light on this important but overlooked set of developers: the casual contributors (also known as drive-by commits). First, we mined popular software repositories hosted on GitHub to investigate how common casual contributions are, and what are their characteristics. Second, we conducted two surveys with (1) the casual contributors and (2) the project maintainers aimed at understanding what motivates casual contributors and how they are perceived. Our results showed that although casual contributors are rather common (48.98% of the whole population of contributors in the projects analyzed), they are responsible for only 1.73% of the total number of commits. We also found that casual contributions are far from being trivial: even though a significant proportion of them are fixing typos and grammar issues (28.64%), we found several of them that have fixed bugs (30.20%), added new features (18.75%), and refactored code (8.85%). Still, we found that both casual contributors and project maintainers believe that casual contributions have more benefits than drawbacks. As a casual contributor said: "every bit helps". Gustavo Pinto 0001, Igor Steinmacher, Marco Aurélio Gerosa |
SANER | 2 |
| 2015 | Social Barriers Faced by Newcomers Placing Their First Contribution in Open Source Software ProjectsabstractNewcomers' seamless onboarding is important for online communities that depend upon leveraging the contribution of outsiders. Previous studies investigated aspects of the joining process and motivation in open collaboration communities, but few have focused on identifying and understanding the critical barriers newcomers face when placing their first contribution, a period that frequently leads to dropout. This is important for Open Source Software (OSS) projects, which receive contributions from many one-time contributors. Focusing on OSS, our study qualitatively analyzed social barriers that hindered newcomers' first contributions. We defined a conceptual model composed of 58 barriers including 13 social barriers. The barriers were identified from a qualitative data analysis considering different sources: a systematic literature review; open question responses gathered from OSS projects' contributors; students contributing to OSS projects; and semi-structured interviews with 36 developers from 14 different projects. This paper focuses on social barriers and its contributions include gathering empirical evidence of the barriers faced by newcomers, organizing and better understanding these barriers, surveying the literature from the perspective of the barriers, and identifying new potential research streams. Igor Steinmacher, Tayana Conte, Marco Aurélio Gerosa, David F. Redmiles |
CSCW | 1 |
| 2015 | A systematic literature review on the barriers faced by newcomers to open source software projects
Igor Steinmacher, Marco Aurélio Graciotto Silva, Marco Aurélio Gerosa, David F. Redmiles |
Inf. Softw. Technol. | 1 |
| 2013 | Awareness Support in Distributed Software Development: A Systematic Review and Mapping of the Literature
Igor Steinmacher, Ana Paula Chaves, Marco Aurélio Gerosa |
Comput. Support. Cooperative Work. | 1 |
| 2010 | A Context Conceptual Model for a Distributed Software Development Environment
Ana Paula Chaves, Elisa H. M. Huzita, Vaninha Vieira, Igor Steinmacher |
SEKE | 4 |
| 2006 | Task Anticipation: A Quantitative Analysis Using Workflow Process Simulation
Igor Steinmacher, José Valdeni de Lima, Elisa H. M. Huzita |
SEKE | 1 |