Software bot: Difference between revisions

Content deleted Content added
No edit summary
Tags: Mobile edit Mobile web edit
Line 2:
{{Use mdy dates|date=October 2023}}
{{Multi-agent system}}
A '''software bot''' is a type of [[software agent]] in the service of software project management and software engineering. A software bot has an identity and potentially personified aspects in order to serve their stakeholders.<ref name="LebeufZagalsky2019">{{cite book|last1=Lebeuf|first1=Carlene|last2=Zagalsky|first2=Alexey|last3=Foucault|first3=Matthieu|last4=Storey|first4=Margaret-Anne|date=2019 |title=2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE) |chapter=Defining and Classifying Software Bots: A Faceted Taxonomy |year=2019|pages=1–6|doi=10.1109/BotSE.2019.00008|isbn=978-1-7281-2262-5|s2cid=195064960}}</ref> Software bots often compose software services and provide an alternative user interface, which is sometimes, but not necessarily conversational.
 
Software bots are typically used to execute tasks, suggest actions, engage in dialogue, and promote social and cultural aspects of a software project.<ref>{{Cite web|url=https://stackoverflow.blog/2019/09/17/meet-the-bots-that-help-moderate-stack-overflow/|title=Meet the Bots that Help Moderate Stack Overflow|last=Team|first=The SOBotics|date=2019-09-17|website=Stack Overflow Blog|language=en-US|access-date=2019-11-22}}</ref>
Line 32:
* '''Communication channel''' (text, voice, or both)
 
Erlenhov et al.<ref name="Erlenhov2020">{{Cite book|last1=Erlenhov|first1=Linda|last2=Gomes de Oliveira Neto|first2=Francisco|last3=Leitner|first3=Philipp|title=Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering |chapter=An empirical study of bots in software development: Characteristics and challenges from a practitioner's perspective |date=2020 |year=2020|chapter-url=https://dl.acm.org/doi/abs/10.1145/3368089.3409680|___location=Virtual Event, USA, Canada|publisher=ACM|pages=445–455|doi=10.1145/3368089.3409680 | arxiv=2005.13969|isbn=9781450370431|s2cid=218971687 }}</ref> raised the question of the difference between a bot and simple automation, since much research done in the name of software bots uses the term bot to describe various different tools and sometimes things are "just" plain old development tools. After interviewing and surveying over 100 developers the authors found that not one, but three definitions dominated the community. They created three personas based on these definitions and the difference between what the three personas see as being a bot is mainly the association with a different
set of human-like traits.
* '''The chat bot persona (Charlie)''' primarily thinks of bots as tools that communicates with the developer through a natural language interface (typically voice or chat), and caring little about what tasks the bot is used for or how it actually implements these tasks.
Line 52:
== Issues and threats ==
 
Software bots may not be well accepted by humans. A study from the [[University of Antwerp]]<ref name="MurgiaJanssens2016">{{cite book|last1=Murgia|first1=Alessandro|last2=Janssens|first2=Daan|last3=Demeyer|first3=Serge|last4=Vasilescu|first4=Bogdan|title=Proceedings of the 2016 CHI Conference Extended Abstracts on Human Factors in Computing Systems |chapter=Among the Machines |date=2016 |year=2016|pages=1272–1279|doi=10.1145/2851581.2892311|isbn=9781450340823|s2cid=13026142}}</ref> has compared how developers active on Stack Overflow perceive answers generated by software bots. They find that developers perceive the quality of software bot-generated answers to be significantly worse if the identity of the software bot is made apparent. By contrast, answers from software bots with human-like identity were better received. In practice, when software bots are used on platforms like GitHub or Wikipedia, their username makes it clear that they are bots, e.g., DependaBot, RenovateBot, DatBot, SineBot.
 
Bots may be subject to special rules. For instance, the GitHub terms of service<ref>{{Cite web|url=https://help.github.com/en/github/site-policy/github-terms-of-service|title=GitHub Terms of Service - GitHub Help|website=help.github.com|access-date=2019-11-22}}</ref> does not allow `bot` but accepts `machine account`, where a `machine account` has two properties: 1) a human takes full responsibility of the bot's actions 2) it cannot create other accounts.