Exploringand Unleashing the Power of Large Language Models in CI/CD Configuration Translation
By: Chong Wang , Chen Zhang , Jiajun Wu and more
Potential Business Impact:
Helps move computer code between different systems easily.
Continuous Integration (CI) is a cornerstone of modern collaborative software development, and numerous CI platforms are available. Differences in maintenance overhead, reliability, and integration depth with code-hosting platforms make migration between CI platforms a common practice. A central step in migration is translating CI configurations, which is challenging due to the intrinsic complexity of CI configurations and the need to understand semantic differences and relationships across CI platforms. With the advent of large language models (LLMs), recent advances in software engineering highlight their potential for CI configuration translation. In this paper, we present a study on LLM-based CI configuration translation, focusing on the migration from Travis CI to GitHub Actions. First, using 811 migration records, we quantify the effort involved and find that developers read an average of 38 lines of Travis configuration and write 58 lines of GitHub Actions configuration, with nearly half of the migrations requiring multiple commits. We further analyze translations produced by each of the four LLMs and identify 1,121 issues grouped into four categories: logic inconsistencies (38%), platform discrepancies (32%), environment errors (25%), and syntax errors (5%). Finally, we evaluate three enhancement strategies and show that combining guideline-based prompting with iterative refinement achieves the best performance, reaching a Build Success Rate of 75.5%-nearly a threefold improvement over GPT-4o with a basic prompt.
Similar Papers
Can LLMs Write CI? A Study on Automatic Generation of GitHub Actions Configurations
Software Engineering
Helps computers write code for software updates.
CIgrate: Automating CI Service Migration with Large Language Models
Software Engineering
Helps move computer setup between different services.
Bridging Language Gaps in Open-Source Documentation with Large-Language-Model Translation
Software Engineering
Helps translate computer code instructions for everyone.