DevBots are automated tools that perform various tasks in order to support software development. They are a growing trend and have been used in repositories to automate repetitive tasks, as code generators, and as collaborators in eliciting requirements and defining architectures. In this study, we analyzed 24 articles to investigate the state of the art of using DevBots in software development, trying to understand their characteristics, identify use cases, learn the relationship between DevBots and conversational software development, and discuss how prompt engineering can enable collaboration between human developers and bots. Additionally, we identified a gap to address by applying prompt engineering to collaborative API design between human designers and DevBots and proposed an experiment to assess what approach, between using Retrieval Augmented Generation or not, is more suitable. Our conclusion is that DevBots can collaborate with human API designers, but the two approaches have advantages and disadvantages.
翻译:DevBots是支持软件开发、执行各类任务的自动化工具。它们正成为日益增长的趋势,已被应用于代码仓库中自动化重复性任务,作为代码生成器,以及作为需求获取和架构定义的协作者。在本研究中,我们分析了24篇文献,以探究DevBots在软件开发中的应用现状,试图理解其特性、识别用例、了解DevBots与对话式软件开发之间的关系,并讨论提示工程如何促进人类开发者与机器人之间的协作。此外,我们识别出一个有待填补的空白,即通过将提示工程应用于人类设计师与DevBots之间的协作式API设计,并提出一项实验来评估使用检索增强生成与不使用该技术这两种方法中哪一种更为合适。我们的结论是,DevBots能够与人类API设计师协作,但这两种方法各有利弊。