Content deleted Content added
Citation bot (talk | contribs) Alter: url. URLs might have been anonymized. Add: s2cid, authors 1-1. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by SemperIocundus | #UCB_webform |
Citation bot (talk | contribs) Removed URL that duplicated identifier. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 503/967 |
||
(38 intermediate revisions by 28 users not shown) | |||
Line 1:
{{Short description|Type of software agent}}
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 journal|last1=Lebeuf|first1=Carlene|last2=Zagalsky|first2=Alexey|last3=Foucault|first3=Matthieu|last4=Storey|first4=Margaret-Anne|title=Defining and Classifying Software Bots: A Faceted Taxonomy|year=2019|pages=1–6|doi=10.1109/BotSE.2019.00008|journal=Proceedings of Bots in Software Engineering|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.▼
{{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
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>
The term ''bot'' is derived from [[robot]]. However, robots act in the physical world and software bots act only in digital spaces.<ref name="LebeufZagalsky2019"/> Some software bots are designed and behave as [[chatbot]]s, but not all [[chatbot]]s are software bots
== Usage ==
Line 9 ⟶ 12:
Software bots are used to support development activities, such as communication among software developers and automation of repetitive tasks. Software bots have been adopted by several communities related to software development, such as open-source communities on [[GitHub]]<ref>{{Cite journal|last1=Wessel|first1=Mairieli|last2=de Souza|first2=Bruno Mendes|last3=Steinmacher|first3=Igor|last4=Wiese|first4=Igor S.|last5=Polato|first5=Ivanilton|last6=Chaves|first6=Ana Paula|last7=Gerosa|first7=Marco A.|date=2018-11-01|title=The Power of Bots: Characterizing and Understanding Bots in OSS Projects|journal=Proceedings of the ACM on Human-Computer Interaction|language=en|volume=2|issue=CSCW|pages=1–19|doi=10.1145/3274451|s2cid=53235433}}</ref> and [[Stack Overflow]].
GitHub bots have user accounts and can open, close, or comment on [[Distributed version control#Pull requests|pull requests]] and [[Software project management#Issue|issues]]. GitHub bots have been used to assign reviewers, ask contributors to sign the [[Contributor License Agreement]], report continuous integration failures, review code and pull requests, welcome newcomers, run automated tests, merge pull requests, fix bugs
The [[Slack (software)|Slack]] tool includes an API for developing software bots.<ref>
{{Cite web|url=https://zapier.com/blog/how-to-build-chat-bot/|title=How to Build a Slack Bot in 5 Minutes|last=Guay|first=Matthew|date=2019-11-22|website=Slack Blog|language=en-US|access-date=2019-11-22}}</ref> There are slack bots for keeping track of todo lists, coordinating standup meetings, and managing support tickets. The
== Taxonomies and Classification Frameworks ==
Lebeuf et al.<ref name="LebeufZagalsky2019" /> provide a faceted taxonomy to characterize bots based on a literature review. It is composed of 3 main facets: (i) properties of the environment that the bot was created in; (ii) intrinsic properties of the bot itself; and (iii) the bot's interactions within its environment. They further detail the facets into sets of sub-facets under each of the main facets.
Paikari and van der Hoek <ref name="Paikari_vdHoek2018">{{cite book|last1=Paikari|first1=Elahe|title=Proceedings of the 11th International Workshop on Cooperative and Human Aspects of Software Engineering - CHASE '18|last2=van der Hoek|first2=André|author2-link=André van der Hoek|chapter=A Framework for Understanding Chatbots and their Future|year=2018|pages=13–16|doi=10.1145/3195836.3195859|isbn=9781450357258|s2cid=49562888}}</ref> defined a set of dimensions to enable
* '''Type''': the main purpose of the bot (information, collaboration, or automation)
Line 28 ⟶ 31:
* '''Interaction style''' (dull, alternate vocabulary, relationship-builder, human-like)
* '''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 |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.
* '''The autonomous bot persona (Alex)''' thinks of bots as tools that work on their own (without requiring much input from a developer) on a task that would normally be done by a human.
* '''The smart bot persona (Sam)''' separates bots and plain old development tools through how smart (technically sophisticated) a tool is. Sam cares less about how the tool communicates, but more about if it is unusually good or adaptive at executing a task.
The authors recommends that people doing research or writing about bots try to put their work in the context of one of the personas since the personas have different expectations and problems with the tools.
==Example of notable bots==
Line 42 ⟶ 52:
== Issues and threats ==
Software bots may not be well accepted by humans. A study from the [[University of Antwerp]]<ref name="MurgiaJanssens2016">{{cite
Bots may be subject to special rules. For instance, the
== See also ==
* [[Chatbot]]
* [[
* [[Internet bot]]▼
* [[Daemon (computing)|Daemon]]
▲* [[Internet bot]]
* [[Software agent]]
== References ==
|