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工作流。为应对该任务,我们设计了一套抽象化流程,在保持GH-WCOM能够推荐工具选项和脚本元素等高度特化工作流元素的同时,促进Transformer的学习过程。实证研究表明,GH-WCOM的正确预测率可达34.23%,且模型置信度可作为预测正确性的可靠代理指标。