Software Development Bots
bot-based automation in software projects
Automation is a key enabler for effective software development. It can help developers to focus on the more creative aspects of software development, while repetitive tasks are taken care of by machines. Our key research interest in this area is how developers interact with highly automated tools (“DevBots”).
We identify six key characteristics of DevBots (Erlenhov et al., 2020). On a high level, all DevBots are automation tools with exhibit some human traits. Further, DevBots commonly have a human-like identity, such as a name.
Other characteristics depend on the type of bot. In our research, we distinguish between >Charlie bots (where the defining characteristic is a human-language interface), Alex bots (which are defined by doing things autonomously, independent of a human developer), and Sam bots (which exhibit a "smartness" that goes beyond executing a well-defined script).
![DevBot Characteristics](/assets/img/devbot_characteristics.png)
![Process to Decide if an Automation Tool is a DevBot](/assets/img/bot_identification.png)
We also propose an process to identify if a specific automation tool is indeed a DevBot, and if so, which type (Erlenhov et al., 2020).
In our ongoing work, we are also interested in bots for continuous performance assessment (Markusse et al., 2022), connecting the lab's interest in performance engineering and measurement with software development automation. We are currently working with researchers at Concordia Univeersity (Canada), Eindhoven University of Technology (The Netherlands), and Mozilla on better bots for monitoring software performance.
![A DevBot for Continuous Performance Assessment](/assets/img/performancebot.png)
Obviously, the rise of Large Language Models (LLMs) has transformed this area of research. ICET-lab members are actively involved in research on how LLMs can support developers (Khojah et al., 2024), and for which use cases more traditional DevBots and automation pipelines are more suited.
Contacts:
- An Empirical Study of Bots in Software Development: Characteristics and Challenges from a Practitioner’s PerspectiveIn Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering , Virtual Event, USA, Feb 2020
-
- Beyond Code Generation: An Observational Study of ChatGPT Usage in Software Engineering PracticeIn Proceedings of the ACM International Conference on the Foundations of Software Engineering (FSE 2024) , Feb 2024To appear.