skip to main content
10.1145/3368089.3409680acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections

An empirical study of bots in software development: characteristics and challenges from a practitioner’s perspective

Published:08 November 2020Publication History

ABSTRACT

Software engineering bots – automated tools that handle tedious tasks – are increasingly used by industrial and open source projects to improve developer productivity. Current research in this area is held back by a lack of consensus of what software engineering bots (DevBots) actually are, what characteristics distinguish them from other tools, and what benefits and challenges are associated with DevBot usage. In this paper we report on a mixed-method empirical study of DevBot usage in industrial practice. We report on findings from interviewing 21 and surveying a total of 111 developers. We identify three different personas among DevBot users (focusing on autonomy, chat interfaces, and “smartness”), each with different definitions of what a DevBot is, why developers use them, and what they struggle with.We conclude that future DevBot research should situate their work within our framework, to clearly identify what type of bot the work targets, and what advantages practitioners can expect. Further, we find that there currently is a lack of general purpose “smart” bots that go beyond simple automation tools or chat interfaces. This is problematic, as we have seen that such bots, if available, can have a transformative effect on the projects that use them.

Skip Supplemental Material Section

Supplemental Material

fse20main-p127-p-teaser.mp4

mp4

21.3 MB

fse20main-p127-p-video.mp4

mp4

130.8 MB

References

  1. Ablett, R., Sharlin, E., Maurer, F., Denzinger, J., and Schock, C. BuildBot: Robotic Monitoring of Agile Software Development Teams. In RO-MAN 2007-The 16th IEEE International Symposium on Robot and Human Interactive Communication (Aug 2007 ), pp. 931-936.Google ScholarGoogle Scholar
  2. Bacchelli, A., and Bird, C. Expectations, Outcomes, and Challenges of Modern Code Review. In 2013 35th International Conference on Software Engineering (ICSE) (May 2013 ), pp. 712-721.Google ScholarGoogle Scholar
  3. Baysal, O., Holmes, R., and Godfrey, M. W. Revisiting Bug Triage and Resolution Practices. In 2012 First International Workshop on User Evaluation for Software Engineering Researchers (USER) ( June 2012 ), pp. 29-30.Google ScholarGoogle Scholar
  4. Bieliauskas, S., and Schreiber, A. A Conversational User Interface for Software Visualization. In 2017 IEEE Working Conference on Software Visualization (VISSOFT) ( Sep. 2017 ), pp. 139-143.Google ScholarGoogle ScholarCross RefCross Ref
  5. Bratthall, L., and Jorgensen, M. Can you Trust a Single Data Source Exploratory Software Engineering Case Study? Empirical Software Engineering ( 2002 ).Google ScholarGoogle Scholar
  6. Brown, C., and Parnin, C. Sorry to Bother You: Designing Bots for Efective Recommendations. In 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE) (May 2019 ), pp. 54-58.Google ScholarGoogle Scholar
  7. Canfora, G., Di Penta, M., Oliveto, R., and Panichella, S. Who is Going to Mentor Newcomers in Open Source Projects? In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering (New York, NY, USA, 2012 ), FSE'12, Association for Computing Machinery.Google ScholarGoogle Scholar
  8. Damasceno Costa, D. E., Bezemer, C., Leitner, P., and Andrzejak, A. What's Wrong With My Benchmark Results? Studying Bad Practices in JMH Benchmarks. IEEE Transactions on Software Engineering ( 2019 ), 1-1.Google ScholarGoogle Scholar
  9. Erlenhov, L., de Oliveira Neto, F. G., and Leitner, P. Replication package to An Empirical Study of Bots in Software Development-Characteristics and Challenges from a Practitioner's Perspective, Mar. 2020. https://doi.org/10.5281/zenodo.4022892. Google ScholarGoogle ScholarCross RefCross Ref
  10. Erlenhov, L., de Oliveira Neto, F. G., Scandariato, R., and Leitner, P. Current and Future Bots in Software Development. In First Workshop on Bots in Software Engineering, (BotSE ICSE ) ( 2019 ).Google ScholarGoogle Scholar
  11. Feitelson, D. G., Frachtenberg, E., and Beck, K. L. Development and deployment at facebook. IEEE Internet Computing 17, 4 ( July 2013 ), 8-17.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Ferrara, E., Varol, O., Davis, C., Menczer, F., and Flammini, A. The Rise of Social Bots. Communications of the ACM 59, 7 ( June 2016 ), 96-104.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hoda, R., Noble, J., and Marshall, S. Developing a Grounded Theory to Explain the Practices of Self-Organizing Agile Teams. Empirical Software Engineering ( 2012 ).Google ScholarGoogle Scholar
  14. Kim, Y., and Sundar, S. S. Anthropomorphism of computers: Is it mindful or mindless? Computers in Human Behavior 28, 1 ( 2012 ), 241-250.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lebeuf, C., Storey, M.-A., and Zagalsky, A. Software Bots. IEEE Software 35, 1 ( 2018 ), 18-23.Google ScholarGoogle ScholarCross RefCross Ref
  16. Lebeuf, C., Zagalsky, A., Foucault, M., and Storey, M.-A. Defining and Classifying Software Bots: A Faceted Taxonomy. In Proceedings of the 1st International Workshop on Bots in Software Engineering ( 2019 ), BotSE'19, IEEE Press, pp. 1-6.Google ScholarGoogle Scholar
  17. Lee, M., Ackermans, S., van As, N., Chang, H., Lucas, E., and IJsselsteijn, W. Caring for Vincent: A Chatbot for Self-Compassion. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (New York, NY, USA, 2019 ), CHI'19, Association for Computing Machinery.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Matthies, C., Dobrigkeit, F., and Hesse, G. An Additional Set of (Automated) Eyes: Chatbots for Agile Retrospectives. In Proceedings of the 1st International Workshop on Bots in Software Engineering ( 2019 ), BotSE'19, IEEE Press, pp. 34-37.Google ScholarGoogle Scholar
  19. Menzies, T., Williams, L., and Zimmermann, T. Perspectives on Data Science for Software Engineering, 1 ed. Morgan Kaufmann, 7 2016.Google ScholarGoogle Scholar
  20. Meyer, A. N., Fritz, T., Murphy, G. C., and Zimmermann, T. Software Developers' Perceptions of Productivity. In FSE '14: Proceedings of the 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering (November 2014 ), ACM-Association for Computing Machinery.Google ScholarGoogle Scholar
  21. Müller-Birn, C., Dobusch, L., and Herbsleb, J. D. Work-to-Rule: The Emergence of Algorithmic Governance in Wikipedia. In Proceedings of the 6th International Conference on Communities and Technologies (New York, NY, USA, 2013 ), Association for Computing Machinery, pp. 80-89.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Murgia, A., Janssens, D., Demeyer, S., and Vasilescu, B. Among the Machines: Human-Bot Interaction on Social Q&A Websites. In CHI Conference on Human Factors in Computing Systems ( 2016 ), CHI Extended Abstracts, ACM, pp. 1272-1279.Google ScholarGoogle Scholar
  23. Paikari, E., and van der Hoek, A. A Framework for Understanding Chatbots and Their Future. In Proceedings of the 11th International Workshop on Cooperative and Human Aspects of Software Engineering (New York, NY, USA, 2018 ), CHASE'18, Association for Computing Machinery, pp. 13-16.Google ScholarGoogle Scholar
  24. Pruitt, J., and Grudin, J. Personas: Practice and Theory. In Proceedings of the 2003 Conference on Designing for User Experiences (New York, NY, USA, 2003 ), DUX'03, Association for Computing Machinery, pp. 1-15.Google ScholarGoogle Scholar
  25. Stol, K.-J., Ralph, P., and Fitzgerald, B. Grounded Theory in Software Engineering Research: A Critical Review and Guidelines. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE) (May 2016 ), pp. 120-131.Google ScholarGoogle Scholar
  26. Storey, M.-A., and Zagalsky, A. Disrupting Developer Productivity One Bot at a Time. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (New York, NY, USA, 2016 ), FSE 2016, Association for Computing Machinery, pp. 928-931.Google ScholarGoogle Scholar
  27. Strauss, A., Corbin, J., and Corbin, J. Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory. SAGE Publications, 1998.Google ScholarGoogle Scholar
  28. SUNDAR, S. S., and NASS, C. Source orientation in human-computer interaction: Programmer, networker, or independent social actor. Communication Research 27, 6 ( 2000 ), 683-703.Google ScholarGoogle Scholar
  29. Urli, S., Yu, Z., Seinturier, L., and Monperrus, M. How to Design a Program Repair Bot? Insights from the Repairnator Project. In 2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP) (May 2018 ), pp. 95-104.Google ScholarGoogle Scholar
  30. van Tonder, R., and Le Goues, C. Towards s/Engineer/Bot: Principles for Program Repair Bots. In Proceedings of the 1st International Workshop on Bots in Software Engineering ( 2019 ), BotSE'19, IEEE Press, pp. 43-47.Google ScholarGoogle Scholar
  31. Wessel, M., de Souza, B. M., Steinmacher, I., Wiese, I. S., Polato, I., Chaves, A. P., and Gerosa, M. A. The Power of Bots: Characterizing and Understanding Bots in OSS Projects. Proc. ACM Hum.-Comput. Interact. 2, CSCW (Nov. 2018 ).Google ScholarGoogle Scholar
  32. Wessel, M., Steinmacher, I., Wiese, I., and Gerosa, M. A. Should I Stale or Should I Close? An Analysis of a Bot That Closes Abandoned Issues and Pull Requests. In Proceedings of the 1st International Workshop on Bots in Software Engineering ( 2019 ), BotSE'19, IEEE Press, pp. 38-42.Google ScholarGoogle Scholar
  33. Wyrich, M., and Bogner, J. Towards an Autonomous Bot for Automatic Source Code Refactoring. In Proceedings of the 1st International Workshop on Bots in Software Engineering ( 2019 ), BotSE'19, IEEE Press, pp. 24-28.Google ScholarGoogle Scholar
  34. Zhu, L., Bass, L., and Champlin-Scharff, G. DevOps and Its Practices. IEEE Software 33, 3 (May 2016 ), 32-34.Google ScholarGoogle Scholar

Index Terms

  1. An empirical study of bots in software development: characteristics and challenges from a practitioner’s perspective

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
      November 2020
      1703 pages
      ISBN:9781450370431
      DOI:10.1145/3368089

      Copyright © 2020 ACM

      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].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 8 November 2020

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate112of543submissions,21%

      Upcoming Conference

      FSE '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader