Perception of software bots on pull requests on social coding environments - Wessel, Mairieli Santos (2021)
Software bots integrate their work with humans\' tasks, serving as conduits between users and other tools. Due to their ability to automate tasks, bots have become particularly relevant for Open Source Software (OSS) projects hosted on GitHub. Commonly, projects use bots to automate various tasks, such as ensuring license agreement signing, reporting continuous integration failures, reviewing code and pull requests, triaging issues, and refactoring the source code. However, in preliminary studies, our findings indicate that the interaction of these bots on pull requests can be disruptive and perceived as unwelcoming by contributors and maintainers. Although bots can be useful for supporting maintainers\' work, sometimes their comments are seen as spam and are quickly ignored by contributors. In this dissertation, our goal was to identify and understand challenges maintainers and contributors face during interaction with bots on pull requests of OSS projects and design and evaluate a software bot that mitigates some of these problems. Toward this end, we conducted multiple studies using multiple research methods. To identify the challenges caused by bots in pull request interactions, we interviewed 21 practitioners, including project maintainers, contributors, and bot developers. The data was qualitatively analyzed using open and axial coding. Subsequently, the analysis resulted in a theory of how human developers perceive annoying bot behaviors as noise on social coding platforms. Based on this theory, we conducted a participatory design fiction study with 32 practitioners and researchers. This study resulted in design strategies that served as insights to create a prototype. We conducted a suitability study with 15 design fiction participants to assess the envisioned solution. By collecting participants perceptions about a prototype implementing the envisioned strategies, we identified improvements to the prototype according to the suggestions received from the study participants. The main contributions of this dissertation are: (i) identifying the changes in project activity indicators after the adoption of a bot; (ii) proposing a theory about how noise introduced by bots disrupts developers\' communication and workflow; (iii) identifying strategies to mitigate the information overload generated by the existing bots\' interaction; and (iv) the concept of a meta-bot to support contribution to OSS projects. These contributions may help practitioners understand the effects of adopting a bot. Researchers and tool designers may leverage our results to better support human-bot interaction on social coding platforms.