Mapping a Landscape of Developer Assisting Software Bots
Licentiate thesis, 2021

Bots in software development have gained traction in research and in practice. However, there is no consensus on what properties and characteristics that define a bot. The term is used to describe a plethora of different tools with different usages, benefits and challenges. In this thesis we focus on bots for software developments (DevBots) with the goal to aid researchers in future studies involving DevBots. We aim to assist with the scoping and planning of such studies regarding what tools and related work to include or exclude from them. We do so by synthesising the different definitions of DevBots, combining views from literature and practitioners.

To achieve this goal, quantitative and qualitative research methods are used including literature review and semi-structured interviews. We have created a faceted taxonomy for DevBots which categorises DevBots by their most prominent properties. In addition we investigated what delineated DevBots from plain old development tools. Our analysis shows that achieving one single definition is not possible. Instead we identify and name three personas, i.e., practitioner archetypes with different expectations and motivations. The chat bot persona (Charlie) mostly sees DevBots as information integration tools with a natural language interface, while for the autonomous bot persona (Alex) a DevBot is a tool that autonomously handles repetitive tasks. Lastly, for the smart bot persona (Sam), the defining feature of bots is its degree of ``smartness''.

We have identified a process in the form of a flowchart, which researchers can use to test whether their tool is considered a DevBot by any of our personas. We have concluded that this definition is not congruent with contemporary definitions as only 10 of 54 investigated tools from a large dataset were considered DevBots by our process. Finally we have shown how the definitions and process can be used in practice by using them in the scoping and planning phase of two recently conducted studies.

Empirical research

Software engineering

Taxonomy

Software bot

473 Jupiter, Hörselgången 5, Chalmers Lindholmen
Opponent: Docent Christoph Reichenbach, Lunds universitet

Author

Linda Erlenhov

Cyber Physical Systems

Current and Future Bots in Software Development

2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE),;(2019)p. 7-11

Paper in proceeding

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

ESEC/FSE 2020 - Proceedings of the 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering,;(2020)p. 445-455

Paper in proceeding

Dependency management bots in open-source systems—prevalence and adoption

PeerJ Computer Science,;Vol. 8(2022)

Journal article

Challenges and guidelines on designing test cases for test bots

Proceedings - 2020 IEEE/ACM 42nd International Conference on Software Engineering Workshops, ICSEW 2020,;(2020)p. 41-45

Paper in proceeding

ImmeRSEd - Developer-Targeted Performance Engineering for Immersed Release and Software Engineers

Swedish Research Council (VR) (2018-04127), 2019-01-01 -- 2023-12-31.

Areas of Advance

Information and Communication Technology

Subject Categories

Software Engineering

Publisher

Chalmers

473 Jupiter, Hörselgången 5, Chalmers Lindholmen

Online

Opponent: Docent Christoph Reichenbach, Lunds universitet

Related datasets

Replication package to An Empirical Study of Bots in Software Development - Characteristics and Challenges from a Practitioner's Perspective [dataset]

URI: https://doi.org/10.5281/zenodo.4022892 DOI: 10.5281/zenodo.4022892

More information

Latest update

3/3/2022 2