Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3611643.3616248acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

A Case Study of Developer Bots: Motivations, Perceptions, and Challenges

Published: 30 November 2023 Publication History
  • Get Citation Alerts
  • Abstract

    Continuous integration and deployment (CI/CD) is now a widely adopted development model in practice as it reduces the time from ideas to customers. This adoption has also revived the idea of "shifting left" during software development -- a practice intended to find and prevent defects early in the software delivery process. To assist with that, engineering systems integrate developer bots in the development workflow to improve developer productivity and help them identify issues early in the software delivery process.
    In this paper, we present a case study of developer bots in Microsoft. We identify and analyze 23 developer bots that are deployed across 13,000 repositories and assist about 6,000 developers daily in their CI/CD software development workflows. We classify these bots across five major categories: Config Violation, Security, Data-privacy, Developer Productivity, and Code Quality. By conducting interviews and surveys with bot developers and bot users and by analyzing about half a million historical bot actions spanning over one and a half years, we present software workflows that motivate bot instrumentation, factors impacting their usefulness as perceived by bot users, and challenges associated with their use. Our findings echo existing issues with bots, such as noise, and illustrate new benefits (e.g., cross-team communication) and challenges (e.g., too many bots) for large software teams.

    Supplementary Material

    Video (fse23main-p74-p-video.mp4)
    "Continuous integration and deployment (CI/CD) is now a widely adopted development model in practice as it reduces the time from ideas to customers. This adoption has also revived the idea of “shifting left” during software development – a practice intended to find and prevent defects early in the software delivery process. To assist with that, engineering systems integrate developer bots in the development workflow to improve developer productivity and help developers identify issues early in the software delivery process. In this paper, we present a case study of developer bots in ABC company. We identify and analyze 23 developer bots that are deployed across 13,000 repositories and assist about 6,000 developers daily in their CI/CD software development workflow. We classify these bots across five major categories: ConfigViolation, Security, Compliance, Developer Productivity, and Code Quality. By conducting interviews and surveys with bot developers and bot users and by analyzing more than half a million historical bot actions over a period of one and a half years, we present the motivations and use-cases behind these bots, factors impacting their usefulness as perceived by the bot users, and the challenges associated with their use. We discuss these findings against existing literature on developer bots, and highlight characteristics of efficient developer bots."

    References

    [1]
    Ruth Ablett, Ehud Sharlin, Frank Maurer, Jorg Denzinger, and Craig Schock. 2007. BuildBot: Robotic Monitoring of Agile Software Development Teams. In RO-MAN 2007 - The 16th IEEE International Symposium on Robot and Human Interactive Communication. 931–936. https://doi.org/10.1109/ROMAN.2007.4415217
    [2]
    Norah Abokhodair, Daisy Yoo, and David W. McDonald. 2015. Dissecting a Social Botnet: Growth, Content and Influence in Twitter. In Proceedings of the 18th ACM Conference on Computer Supported Cooperative Work & Social Computing (CSCW ’15). Association for Computing Machinery, New York, NY, USA. 839–851. isbn:9781450329224 https://doi.org/10.1145/2675133.2675208
    [3]
    Saleema Amershi, Dan Weld, Mihaela Vorvoreanu, Adam Fourney, Besmira Nushi, Penny Collisson, Jina Suh, Shamsi Iqbal, Paul N. Bennett, Kori Inkpen, Jaime Teevan, Ruth Kikin-Gil, and Eric Horvitz. 2019. Guidelines for Human-AI Interaction. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (CHI ’19). Association for Computing Machinery, New York, NY, USA. 1–13. isbn:9781450359702 https://doi.org/10.1145/3290605.3300233
    [4]
    Maryi Arciniegas-Mendez, Alexey Zagalsky, Margaret-Anne Storey, and Allyson Fiona Hadwin. 2017. Using the Model of Regulation to Understand Software Development Collaboration Practices and Tool Support. In Proceedings of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing (CSCW ’17). Association for Computing Machinery, New York, NY, USA. 1049–1065. isbn:9781450343350 https://doi.org/10.1145/2998181.2998360
    [5]
    Sumit Asthana. 2023. A case study of developer bots artifacts. https://doi.org/10.6084/m9.figshare.19382123.v4 [Online; accessed 28-August-2023]
    [6]
    Ivan Beschastnikh, Mircea F. Lungu, and Yanyan Zhuang. 2017. Accelerating Software Engineering Research Adoption with Analysis Bots. In 2017 IEEE/ACM 39th International Conference on Software Engineering: New Ideas and Emerging Technologies Results Track (ICSE-NIER). 35–38. https://doi.org/10.1109/ICSE-NIER.2017.17
    [7]
    Virginia Braun and Victoria Clarke. 2012. Thematic analysis. American Psychological Association. https://doi.org/10.1037/13620-004
    [8]
    Chris Brown and Chris Parnin. 2020. Sorry to Bother You Again: Developer Recommendation Choice Architectures for Designing Effective Bots. In Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops (ICSEW’20). Association for Computing Machinery, New York, NY, USA. 56–60. isbn:9781450379632 https://doi.org/10.1145/3387940.3391506
    [9]
    Fabio Calefato and Filippo Lanubile. 2016. A Hub-and-Spoke Model for Tool Integration in Distributed Development. In 2016 IEEE 11th International Conference on Global Software Engineering (ICGSE). 129–133. https://doi.org/10.1109/ICGSE.2016.12
    [10]
    Antônio Carvalho, Welder Luz, Diego Marcílio, Rodrigo Bonifácio, Gustavo Pinto, and Edna Dias Canedo. 2020. C-3PR: A Bot for Fixing Static Analysis Violations via Pull Requests. In 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER). 161–171. https://doi.org/10.1109/SANER48275.2020.9054842
    [11]
    Dan Cosley, Dan Frankowski, Loren Terveen, and John Riedl. 2007. SuggestBot: Using Intelligent Task Routing to Help People Find Work in Wikipedia. In Proceedings of the 12th International Conference on Intelligent User Interfaces (IUI ’07). Association for Computing Machinery, New York, NY, USA. 32–41. isbn:1595934812 https://doi.org/10.1145/1216295.1216309
    [12]
    Diego Costa, Cor-Paul Bezemer, Philipp Leitner, and Artur Andrzejak. 2021. What’s Wrong with My Benchmark Results? Studying Bad Practices in JMH Benchmarks. IEEE Transactions on Software Engineering, 47, 7 (2021), 1452–1467. https://doi.org/10.1109/TSE.2019.2925345
    [13]
    Christof Ebert, Gorka Gallardo, Josune Hernantes, and Nicolas Serrano. 2016. DevOps. Ieee Software, 33, 3 (2016), 94–100. https://doi.org/10.1109/MS.2016.68
    [14]
    Lisa A. Elkin, Matthew Kay, James J. Higgins, and Jacob O. Wobbrock. 2021. An Aligned Rank Transform Procedure for Multifactor Contrast Tests. In Proceedings of the 34th Annual Symposium on User Interface Software and Technology (UIST ’21). Association for Computing Machinery, New York, NY, USA. 15 pages. https://doi.org/10.1145/3472749.3474784
    [15]
    Linda Erlenhov, Francisco Gomes de Oliveira Neto, Riccardo Scandariato, and Philipp Leitner. 2019. Current and Future Bots in Software Development. In 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE). 7–11. https://doi.org/10.1109/BotSE.2019.00009
    [16]
    Linda Erlenhov, Francisco Gomes de Oliveira Neto, and Philipp Leitner. 2020. An Empirical Study of Bots in Software Development: Characteristics and Challenges from a Practitioner’s Perspective. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2020). Association for Computing Machinery, New York, NY, USA. 445–455. isbn:9781450370431 https://doi.org/10.1145/3368089.3409680
    [17]
    M. Fowler and M. Foemmel. 2005. Continuous integration, http://www.martinfowler.com/articles/continuousIntegration.html.
    [18]
    R. Stuart Geiger. 2009. The Social Roles of Bots and Assisted Editing Programs. In Proceedings of the 5th International Symposium on Wikis and Open Collaboration (WikiSym ’09). Association for Computing Machinery, New York, NY, USA. Article 30, 2 pages. isbn:9781605587301 https://doi.org/10.1145/1641309.1641351
    [19]
    R. Stuart Geiger. 2013. Are Computers Merely "Supporting" Cooperative Work: Towards an Ethnography of Bot Development. In Proceedings of the 2013 Conference on Computer Supported Cooperative Work Companion (CSCW ’13). Association for Computing Machinery, New York, NY, USA. 51–56. isbn:9781450313322 https://doi.org/10.1145/2441955.2441970
    [20]
    Gunnar Harboe and Elaine M. Huang. 2015. Real-World Affinity Diagramming Practices: Bridging the Paper-Digital Gap. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems (CHI ’15). Association for Computing Machinery, New York, NY, USA. 95–104. isbn:9781450331456 https://doi.org/10.1145/2702123.2702561
    [21]
    Orit Hazzan and Yael Dubinsky. 2009. Agile software engineering. Springer Science & Business Media. https://doi.org/10.1007/978-1-84800-198-5
    [22]
    Michael Hilton, Nicholas Nelson, Timothy Tunnell, Darko Marinov, and Danny Dig. 2017. Trade-Offs in Continuous Integration: Assurance, Security, and Flexibility. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017). Association for Computing Machinery, New York, NY, USA. 197–207. isbn:9781450351058 https://doi.org/10.1145/3106237.3106270
    [23]
    Michael Hilton, Timothy Tunnell, Kai Huang, Darko Marinov, and Danny Dig. 2016. Usage, Costs, and Benefits of Continuous Integration in Open-Source Projects. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE ’16). Association for Computing Machinery, New York, NY, USA. 426–437. isbn:9781450338455 https://doi.org/10.1145/2970276.2970358
    [24]
    G.E. Kaiser, P.H. Feiler, and S.S. Popovich. 1988. Intelligent assistance for software development and maintenance. IEEE Software, 5, 3 (1988), 40–49. https://doi.org/10.1109/52.2023
    [25]
    Noureddine Kerzazi and Bram Adams. 2016. Botched Releases: Do We Need to Roll Back? Empirical Study on a Commercial Web App. In 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER). 1, 574–583. https://doi.org/10.1109/SANER.2016.114
    [26]
    Jasmine Latendresse, Rabe Abdalkareem, Diego Elias Costa, and Emad Shihab. 2021. How Effective is Continuous Integration in Indicating Single-Statement Bugs? In 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR). 500–504. https://doi.org/10.1109/MSR52588.2021.00062
    [27]
    Carlene Lebeuf, Alexey Zagalsky, Matthieu Foucault, and Margaret-Anne Storey. 2019. Defining and Classifying Software Bots: A Faceted Taxonomy. In Proceedings of the 1st International Workshop on Bots in Software Engineering (BotSE ’19). IEEE Press, 1–6. https://doi.org/10.1109/BotSE.2019.00008
    [28]
    Dongyu Liu, Micah J. Smith, and Kalyan Veeramachaneni. 2020. Understanding User-Bot Interactions for Small-Scale Automation in Open-Source Development. In Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems (CHI EA ’20). Association for Computing Machinery, New York, NY, USA. 1–8. isbn:9781450368193 https://doi.org/10.1145/3334480.3382998
    [29]
    Christoph Matthies, Franziska Dobrigkeit, and Guenter Hesse. 2019. An Additional Set of (Automated) Eyes: Chatbots for Agile Retrospectives. In Proceedings of the 1st International Workshop on Bots in Software Engineering (BotSE ’19). IEEE Press, 34–37. https://doi.org/10.1109/BotSE.2019.00017
    [30]
    Nora McDonald, Sarita Schoenebeck, and Andrea Forte. 2019. Reliability and Inter-Rater Reliability in Qualitative Research: Norms and Guidelines for CSCW and HCI Practice. Proc. ACM Hum.-Comput. Interact., 3, CSCW (2019), Article 72, nov, 23 pages. https://doi.org/10.1145/3359174
    [31]
    Christopher Mendez, Hema Susmita Padala, Zoe Steine-Hanson, Claudia Hilderbrand, Amber Horvath, Charles Hill, Logan Simpson, Nupoor Patil, Anita Sarma, and Margaret Burnett. 2018. Open Source Barriers to Entry, Revisited: A Sociotechnical Perspective. In Proceedings of the 40th International Conference on Software Engineering (ICSE ’18). Association for Computing Machinery, New York, NY, USA. 1004–1015. isbn:9781450356381 https://doi.org/10.1145/3180155.3180241
    [32]
    Samim Mirhosseini and Chris Parnin. 2017. Can automated pull requests encourage software developers to upgrade out-of-date dependencies? In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE). 84–94. https://doi.org/10.1109/ASE.2017.8115621
    [33]
    Martin Monperrus. 2019. Explainable Software Bot Contributions: Case Study of Automated Bug Fixes. In 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE). 12–15. https://doi.org/10.1109/BotSE.2019.00010
    [34]
    Alessandro Murgia, Daan Janssens, Serge Demeyer, and Bogdan Vasilescu. 2016. Among the Machines: Human-Bot Interaction on Social Q&A Websites. In Proceedings of the 2016 CHI Conference Extended Abstracts on Human Factors in Computing Systems (CHI EA ’16). Association for Computing Machinery, New York, NY, USA. 1272–1279. isbn:9781450340823 https://doi.org/10.1145/2851581.2892311
    [35]
    Peter Naur. 1985. Programming as theory building. Microprocessing and microprogramming, 15, 5 (1985), 253–261. https://doi.org/10.1016/0165-6074(85)90032-8
    [36]
    Elahe Paikari and André van der Hoek. 2018. A Framework for Understanding Chatbots and Their Future. In Proceedings of the 11th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE ’18). Association for Computing Machinery, New York, NY, USA. 13–16. isbn:9781450357258 https://doi.org/10.1145/3195836.3195859
    [37]
    Zhenhui Peng, Jeehoon Yoo, Meng Xia, Sunghun Kim, and Xiaojuan Ma. 2018. Exploring How Software Developers Work with Mention Bot in GitHub. In Proceedings of the Sixth International Symposium of Chinese CHI (ChineseCHI ’18). Association for Computing Machinery, New York, NY, USA. 152–155. isbn:9781450365086 https://doi.org/10.1145/3202667.3202694
    [38]
    Martin Potthast, Benno Stein, and Robert Gerling. 2008. Automatic vandalism detection in Wikipedia. In European conference on information retrieval. 663–668. https://doi.org/10.1007/978-3-540-78646-7_75
    [39]
    Samaneh Saadat, Natalia Colmenares, and Gita Sukthankar. 2021. Do Bots Modify the Workflow of GitHub Teams? In 2021 IEEE/ACM Third International Workshop on Bots in Software Engineering (BotSE). 1–5. https://doi.org/10.1109/BotSE52550.2021.00008
    [40]
    Andreas Schaefer, Marc Reichenbach, and Dietmar Fey. 2013. Continuous integration and automation for DevOps. In IAENG Transactions on Engineering Technologies. Springer, 345–358. https://doi.org/10.1007/978-94-007-4786-9_28
    [41]
    Mojtaba Shahin, Muhammad Ali Babar, and Liming Zhu. 2017. Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices. IEEE Access, 5 (2017), 3909–3943. https://doi.org/10.1109/ACCESS.2017.2685629
    [42]
    Klaas-Jan Stol, Paul Ralph, and Brian Fitzgerald. 2016. Grounded Theory in Software Engineering Research: A Critical Review and Guidelines. In Proceedings of the 38th International Conference on Software Engineering (ICSE ’16). Association for Computing Machinery, New York, NY, USA. 120–131. isbn:9781450339001 https://doi.org/10.1145/2884781.2884833
    [43]
    Margaret-Anne Storey and Alexey Zagalsky. 2016. Disrupting Developer Productivity One Bot at a Time. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2016). Association for Computing Machinery, New York, NY, USA. 928–931. isbn:9781450342186 https://doi.org/10.1145/2950290.2983989
    [44]
    Margaret-Anne Storey, Alexey Zagalsky, Fernando Figueira Filho, Leif Singer, and Daniel M. German. 2017. How Social and Communication Channels Shape and Challenge a Participatory Culture in Software Development. IEEE Transactions on Software Engineering, 43, 2 (2017), 185–204. https://doi.org/10.1109/TSE.2016.2584053
    [45]
    Anselm Strauss and Juliet M Corbin. 1997. Grounded theory in practice. Sage.
    [46]
    Simon Urli, Zhongxing Yu, Lionel Seinturier, and Martin Monperrus. 2018. How to Design a Program Repair Bot? Insights from the Repairnator Project. In Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP ’18). Association for Computing Machinery, New York, NY, USA. 95–104. isbn:9781450356596 https://doi.org/10.1145/3183519.3183540
    [47]
    Bogdan Vasilescu, Yue Yu, Huaimin Wang, Premkumar Devanbu, and Vladimir Filkov. 2015. Quality and Productivity Outcomes Relating to Continuous Integration in GitHub. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2015). Association for Computing Machinery, New York, NY, USA. 805–816. isbn:9781450336758 https://doi.org/10.1145/2786805.2786850
    [48]
    Mihaela Vorvoreanu, Lingyi Zhang, Yun-Han Huang, Claudia Hilderbrand, Zoe Steine-Hanson, and Margaret Burnett. 2019. From Gender Biases to Gender-Inclusive Design: An Empirical Investigation. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (CHI ’19). Association for Computing Machinery, New York, NY, USA. 1–14. isbn:9781450359702 https://doi.org/10.1145/3290605.3300283
    [49]
    Mairieli Wessel, Bruno Mendes de Souza, Igor Steinmacher, Igor S. Wiese, Ivanilton Polato, Ana Paula Chaves, and Marco A. Gerosa. 2018. The Power of Bots: Characterizing and Understanding Bots in OSS Projects. Proc. ACM Hum.-Comput. Interact., 2, CSCW (2018), Article 182, Nov., 19 pages. https://doi.org/10.1145/3274451
    [50]
    Mairieli Wessel and Igor Steinmacher. 2020. The Inconvenient Side of Software Bots on Pull Requests. In Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops (ICSEW’20). Association for Computing Machinery, New York, NY, USA. 51–55. isbn:9781450379632 https://doi.org/10.1145/3387940.3391504
    [51]
    Mairieli Wessel, Igor Steinmacher, Igor Wiese, and Marco A. Gerosa. 2019. Should I Stale or Should I Close? An Analysis of a Bot That Closes Abandoned Issues and Pull Requests. In 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE). 38–42. https://doi.org/10.1109/BotSE.2019.00018
    [52]
    Mairieli Wessel, Igor Wiese, Igor Steinmacher, and Marco Aurelio Gerosa. 2021. Don’t Disturb Me: Challenges of Interacting with Software Bots on Open Source Software Projects. Proc. ACM Hum.-Comput. Interact., 5, CSCW2 (2021), Article 301, oct, 21 pages. https://doi.org/10.1145/3476042
    [53]
    Jacob O. Wobbrock, Leah Findlater, Darren Gergle, and James J. Higgins. 2011. The Aligned Rank Transform for Nonparametric Factorial Analyses Using Only Anova Procedures. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI ’11). Association for Computing Machinery, New York, NY, USA. 143–146. isbn:9781450302289 https://doi.org/10.1145/1978942.1978963
    [54]
    Marvin Wyrich and Justus Bogner. 2019. Towards an Autonomous Bot for Automatic Source Code Refactoring. In 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE). 24–28. https://doi.org/10.1109/BotSE.2019.00015
    [55]
    Bowen Xu, Zhenchang Xing, Xin Xia, and David Lo. 2017. AnswerBot: Automated generation of answer summary to developers’ technical questions. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE). 706–716. https://doi.org/10.1109/ASE.2017.8115681
    [56]
    Andy Zaidman, Bart Van Rompaey, Arie Van Deursen, and Serge Demeyer. 2011. Studying the co-evolution of production and test code in open source and industrial developer test processes through repository mining. Empirical Software Engineering, 16 (2011), 325–364. https://doi.org/10.1007/s10664-010-9143-7

    Cited By

    View all
    • (2024)Exploring Human-AI Collaboration in Agile: Customised LLM Meeting AssistantsAgile Processes in Software Engineering and Extreme Programming10.1007/978-3-031-61154-4_11(163-178)Online publication date: 31-May-2024

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ESEC/FSE 2023: Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
    November 2023
    2215 pages
    ISBN:9798400703270
    DOI:10.1145/3611643
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 30 November 2023

    Permissions

    Request permissions for this article.

    Check for updates

    Badges

    Author Tags

    1. devbots
    2. developer productivity
    3. recommendations
    4. software maintenance
    5. software quality

    Qualifiers

    • Research-article

    Conference

    ESEC/FSE '23
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 112 of 543 submissions, 21%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)127
    • Downloads (Last 6 weeks)6
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Exploring Human-AI Collaboration in Agile: Customised LLM Meeting AssistantsAgile Processes in Software Engineering and Extreme Programming10.1007/978-3-031-61154-4_11(163-178)Online publication date: 31-May-2024

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media