Software bot: Difference between revisions

Content deleted Content added
create section "Examples"
Yobot (talk | contribs)
m References after punctuation per WP:REFPUNCT, WP:CITEFOOT, WP:PAIC + other fixes
Line 4:
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|chatbots]]s, but not all [[chatbot|chatbots]]s are software bots. Erlenhov et al.<ref name="Erlenhov2019">{{Cite journal|last=Erlenhov|first=Linda|last2=Gomes de Oliveira Neto|first2=Francisco|last3=Scandariato|first3=Riccardo|last4=Leitner|first4=Philipp|year=2019|title=Current and Future Bots in Software Development|url=https://ieeexplore.ieee.org/document/8823643/|journal=2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE)|___location=Montreal, QC, Canada|publisher=IEEE|pages=7–11|doi=10.1109/BotSE.2019.00009|isbn=978-1-7281-2262-5}}</ref> discuss the past and future of software bots and show that software bots have been adopted for many years.
 
== Usage ==
Line 10:
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|last=Wessel|first=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}}</ref> and [[Stack Overflow]].
 
GitHub bots have user accounts and can open, close, or comment on [[Distributed_version_controlDistributed version control#Pull_requestsPull requests|pull requests]] and [[Software_project_managementSoftware 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<ref>{{Cite journal|last=Monperrus|first=Martin|last2=Urli|first2=Simon|last3=Durieux|first3=Thomas|last4=Martinez|first4=Matias|last5=Baudry|first5=Benoit|last6=Seinturier|first6=Lionel|date=2019|title=Repairnator patches programs automatically|url=http://dl.acm.org/citation.cfm?doid=3345321.3349589|journal=Ubiquity|language=en|volume=2019|issue=July|pages=1–12|doi=10.1145/3349589|doi-access=free}}</ref> and vulnerabilities,<ref>{{Cite web|url=https://www.theregister.co.uk/2019/05/30/github_security_fixes/|title=Git your patches here! GitHub offers to brew automatic pull requests loaded with vuln fixes|website=www.theregister.co.uk|language=en|access-date=2019-11-22}}</ref>, etc.
 
The [[Slack_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
Chatbot company<ref>{{Cite web|url=https://www.chatbot.com/integrations/slack|title=Slack integration: AI Chatbot|last=Company|first=Chatbot|date=2019-11-22|website=LiveChat Inc.|language=en-US|access-date=2019-11-22}}</ref> products further simplify the process of creating a custom Slack bot.
 
In Wikipedia, [[Wikipedia bots]] automate a variety of tasks, such as creating stub articles, consistently updating the format of multiple articles, and so on.
 
== 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}}</ref> defined a set of dimensions to enable comparing software bots, applied especifically to chatbots. It resulted in six dimensions:
Line 40:
* Refactoring-Bot ([https://github.com/Refactoring-Bot/Refactoring-Bot Refactoring-Bot]): provides refactoring based on static code analysis
* Looks good to me bot ([https://github.com/lgtmco/lgtm LGTM]) is a [[Semmle]] product that inspects pull requests on [[GitHub]] for code style and unsafe code practices.
 
 
== Issues and threats ==
Line 46 ⟶ 45:
Software bots may not be well accepted by humans. A study from the University of Antwerp<ref name="MurgiaJanssens2016">{{cite journal|last1=Murgia|first1=Alessandro|last2=Janssens|first2=Daan|last3=Demeyer|first3=Serge|last4=Vasilescu|first4=Bogdan|title=Among the Machines|journal=Proceedings of CHI|year=2016|pages=1272–1279|doi=10.1145/2851581.2892311|isbn=9781450340823}}</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, [[User:DatBot]], [[User: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.
 
== See also ==
 
Line 53 ⟶ 52:
* [[Software agent]]
* [[Internet bot]]
* [[Daemon_Daemon (computing)|Daemon]]
 
== References ==
{{Reflist}}
 
 
 
 
[[Category:Software engineering]]