# Bot (programa)

Un bot digital o simplement bot, és un tipus d'agent digital al servei de la gestió de projectes digitals i conjunts de programes. Un bot digital té una identitat i aspectes potencialment personificats per tal de servir millor a les parts interessades. Els bots digitals sovint formen part de serveis digitals i proporcionen una interfície d'usuari alternativa, que de vegades dialoga com un xat, però no necessàriament.
Els bots digitals s'utilitzen normalment per a executar tasques, suggerir accions, dialogar i promoure aspectes socials i culturals d'un projecte digital.
El terme bot deriva de robot. Tanmateix, els robots actuen al món físic i els bots només actuen en espais digitals. Alguns bots digitals estan dissenyats per a ser-ho i es comporten com xatbots, però d'aquests darrers no tots són bots digitals. Erlenhov et altri. discuteixen el passat i el futur dels bots digitals i mostren com els bots digitals s'han adoptat àmpliament des de fa bastants anys.

## Ús

Els bots digitals s'utilitzen per donar suport a activitats de desenvolupament, com ara la comunicació entre desenvolupadors digitals i l'automatització de tasques repetitives. Els bots digitals han estat adoptats per diverses comunitats relacionades amb el desenvolupament digitals, com ara comunitats de codi obert a GitHub, Stack Overflow i altres comunitats com Viquipèdia.
Els robots de GitHub tenen comptes d'usuari i poden obrir, tancar o comentar sol·licituds d'extracció i problemes. Els robots de GitHub s'han utilitzat per assignar revisors, demanar als col·laboradors que signin l' Acord de llicència per a col·laboradors, informar sobre errades d'integració contínues, revisar codi i sol·licituds d'extracció, donar la benvinguda als nouvinguts, executar proves automatitzades, combinar sol·licituds d'extracció, corregir errors i vulnerabilitats, etc.
L'eina Slack inclou una API per a desenvolupar bots digitals. Hi ha robots slack per fer un seguiment de les llistes de tasques, coordinar reunions presencials i gestionar les entrades de suport. Els productes de l'empresa Chatbot simplifiquen encara més el procés de creació d'un bot Slack personalitzat.
A la Viquipèdia, els bots de la Viquipèdia automatitzen una varietat de tasques, com ara la creació d'articles bàsics, l'actualització constant del format de diversos articles, etc. Els robots com ClueBot NG són capaços de reconèixer el vandalisme i eliminar automàticament el contingut pertorbador.

## Taxonomies i marcs de classificació

Lebeuf et altri. proporcionen una taxonomia de facetes i caracteritzen els robots basant-se en una revisió de la literatura. Es compon de 3 facetes principals: (i) propietats de l'entorn on es va crear el bot; (ii) propietats intrínseques del propi bot; i (iii) les interaccions del bot dins del seu entorn. A més a més detallen les facetes en conjunts de facetes sota cadascuna de les facetes principals.
Paikari i van der Hoek van definir un conjunt de dimensions per permetre la comparació de bots digitals, aplicats específicament als xatbots. Va donar com a resultat sis dimensions:
* Tipus : el propòsit principal del bot (informació, col·laboració o automatització)
* Direcció de la "conversa" (entrada, sortida o bidireccional)
* Orientació (acció mediada per humans o autònoma)
* Predictibilitat (determinista o evolutiva)
* Estil d'interacció (impersonal, vocabulari alternatiu, generador de relacions, semblant als humans)
* Canal de comunicació (text, veu o ambdós)
Erlenhov et altri. va plantejar la qüestió de la diferència entre un bot i l'automatització simple, ja que moltes investigacions fetes en nom de bots digitals utilitzen el terme bot per descriure diverses eines diferents i, de vegades, les coses són "només" eines de desenvolupament antigues. Després d'entrevistar i enquestar més de 100 desenvolupadors, els autors van trobar que no una, sinó tres definicions dominaven la comunitat. Van crear tres persones basant-se en aquestes definicions i la diferència entre el que les tres persones veuen com un bot és principalment l'associació amb un conjunt diferent de trets semblants als humans.
* La persona del bot de xat (Charlie) pensa principalment en els robots com a eines que es comuniquen amb el desenvolupador mitjançant una interfície de llenguatge natural (normalment veu o xat) i es preocupa poc per a quines tasques s'utilitza el bot o com implementa realment aquestes tasques.
* La persona de bot autònom (Alex) pensa en els bots com a eines que funcionen per si soles (sense requerir molta aportació d'un desenvolupador) en una tasca que normalment la faria un humà.
* La persona del bot intel·ligent (Sam) separa els bots i les eines de desenvolupament antigues mitjançant la intel·ligent (tècnicament sofisticada) que és una eina. En Sam es preocupa menys de com es comunica l'eina, sinó més de si és inusualment bona o adaptable per executar una tasca.
Els autors recomanen que les persones que investiguen o escriguin sobre robots intentin posar el seu treball en el context d'una de les persones, ja que les persones tenen expectatives i problemes diferents amb les eines.

## Exemple de bots notables

* Dependabot i Renovatebot actualitzen les dependències dels programes i detecten vulnerabilitats. (https://dependabot.com/ )
* Probot és una organització que crea i manté bots per a GitHub. Els exemples de bots que utilitzen Probot són els següents.
** Auto Assign (https://probot.github.io/apps/auto-assign/ )
** License bot (https://probot.github.io/ )
** Sentiment bot (https://probot.github.io/apps/sentiment-bot/ )
** Untrivializer bot (https://probot.github.io/apps/untrivializer/ )
* Refactoring-Bot (Refactoring-Bot ): proporciona refactorització basada en l'anàlisi de codi estàtic
* Looks good to me bot (LGTM ) és un producte de Semmle que inspecciona les sol·licituds d'extracció a GitHub per a l'estil de codi i les pràctiques de codi no segures.

## Problemes i amenaces

Els bots digitals poden no ser ben acceptats pels humans. Un estudi de la Universitat d'Anvers ha comparat com els desenvolupadors actius a Stack Overflow perceben les respostes generades pels bots digitals. Troben que els desenvolupadors perceben que la qualitat de les respostes generades pel bot digital és significativament pitjor si es fa evident la identitat del bot digital. Per contra, les respostes dels bots digitals amb identitat humana es van rebre millor. A la pràctica, quan s'utilitzen bots digitals en plataformes com GitHub o Wikipedia, el seu nom d'usuari deixa clar que són robots, per exemple, DependaBot, RenovateBot, DatBot, SineBot.
Els robots poden estar subjectes a normes especials. Per exemple, els termes de servei de GitHub no permet "bot" com usuari, però accepta un "compte màquina", que ha de complir dues propietats: 1) un humà assumeix la responsabilitat total de les accions del bot 2) no pot crear altres comptes.

## Referències

* 1 2 Lebeuf, Carlene. «Defining and Classifying Software Bots: A Faceted Taxonomy». A: 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE), 2019, p. 1–6. DOI 10.1109/BotSE.2019.00008. ISBN 978-1-7281-2262-5.
* ↑ Team, The SOBotics. «Meet the Bots that Help Moderate Stack Overflow» (en anglès americà). Stack Overflow Blog, 17-09-2019. [Consulta: 22 novembre 2019].
* ↑ Lebeuf, Carlene. «Defining and Classifying Software Bots: A Faceted Taxonomy». A: 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE), 2019, p. 1–6. DOI 10.1109/BotSE.2019.00008. ISBN 978-1-7281-2262-5.
* ↑ Erlenhov, Linda. «Current and Future Bots in Software Development». A: 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE). Montreal, QC, Canada: IEEE, 2019, p. 7–11. DOI 10.1109/BotSE.2019.00009. ISBN 978-1-7281-2262-5.
* ↑ Wessel, Mairieli; de Souza, Bruno Mendes; Steinmacher, Igor; Wiese, Igor S.; Polato, Ivanilton (en anglès) Proceedings of the ACM on Human-Computer Interaction, 2, CSCW, 01-11-2018, pàg. 1–19. DOI: 10.1145/3274451.
* ↑ «Git your patches here! GitHub offers to brew automatic pull requests loaded with vuln fixes» (en anglès). www.theregister.co.uk. [Consulta: 22 novembre 2019].
* ↑ Guay, Matthew. «How to Build a Slack Bot in 5 Minutes» (en anglès americà). Slack Blog, 22-11-2019. [Consulta: 22 novembre 2019].
* ↑ Company, Chatbot. «Slack integration: AI Chatbot» (en anglès americà). LiveChat Inc., 22-11-2019. [Consulta: 22 novembre 2019].
* ↑ «Meet the 'bots' that edit Wikipedia». BBC News, 25-07-2012. [Consulta: 19 setembre 2021].
* ↑ Paikari, Elahe. «A Framework for Understanding Chatbots and their Future». A: Proceedings of the 11th International Workshop on Cooperative and Human Aspects of Software Engineering - CHASE '18, 2018, p. 13–16. DOI 10.1145/3195836.3195859. ISBN 9781450357258.
* ↑ Erlenhov, Linda. «An empirical study of bots in software development: Characteristics and challenges from a practitioner's perspective». A: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. Virtual Event, USA, Canada: ACM, 2020, p. 445–455. DOI 10.1145/3368089.3409680. ISBN 9781450370431.
* ↑ Murgia, Alessandro. «Among the Machines». A: Proceedings of the 2016 CHI Conference Extended Abstracts on Human Factors in Computing Systems, 2016, p. 1272–1279. DOI 10.1145/2851581.2892311. ISBN 9781450340823.
* ↑ «GitHub Terms of Service - GitHub Help». help.github.com. [Consulta: 22 novembre 2019].