Continuous integration and delivery (CI/CD) are nowadays at the core of software development. Their benefits come at the cost of setting up and maintaining the CI/CD pipeline, which requires knowledge and skills often orthogonal to those entailed in other software-related tasks. While several recommender systems have been proposed to support developers across a variety of tasks, little automated support is available when it comes to setting up and maintaining CI/CD pipelines. We present GH-WCOM (GitHub Workflow COMpletion), a Transformer-based approach supporting developers in writing a specific type of CI/CD pipelines, namely GitHub workflows. To deal with such a task, we designed an abstraction process to help the learning of the transformer while still making GH-WCOM able to recommend very peculiar workflow elements such as tool options and scripting elements. Our empirical study shows that GH-WCOM provides up to 34.23% correct predictions, and the model's confidence is a reliable proxy for the recommendations' correctness likelihood.
翻译:持续集成与交付(CI/CD)如今已成为软件开发的核心。其优势伴随着搭建和维护CI/CD管道的成本,这需要通常与软件其他任务所涉及的技能正交的知识与能力。尽管已有多种推荐系统被提出以支持开发者完成各类任务,但在搭建和维护CI/CD管道方面,可用的自动化支持却很少。我们提出了GH-WCOM(GitHub工作流补全),一种基于Transformer的方法,支持开发者编写特定类型的CI/CD管道,即GitHub工作流。为处理此类任务,我们设计了一种抽象过程,以辅助Transformer的学习,同时使GH-WCOM能够推荐非常独特的工作流元素,如工具选项和脚本元素。我们的实证研究表明,GH-WCOM能够提供高达34.23%的正确预测,且模型的置信度是推荐正确性概率的可靠代理指标。