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%的正确预测,且模型的置信度可作为推荐正确性可能性的可靠指标。