Skip to main content

LLM-Assisted Translation of Legacy Middleware Configuration into Cloud-Native Deployment Artifacts: An Empirical Evaluation

Abstract

Migrating decades-old middleware estates to container platforms is dominated less by code change than by configuration translation: WebSphere resources.xml definitions for JDBC providers, data sources, and JMS activation specifications, IBM MQ object scripts in MQSC, and TIBCO BusinessWorks deployment descriptors must be re-expressed as Kubernetes manifests, Helm charts, ConfigMaps, and Secret references. We report an industry-perspective empirical evaluation of large language model (LLM) assistance for this task. A reference pipeline normalises legacy sources into an intermediate configuration model, retrieves enterprise golden templates, naming rules, and approved prior translations, and subjects generated artefacts to four gates (schema validation with kubeconform, Rego policy checks, server-side dry-run, and an attribute-level fidelity diff) whose structured diagnostics drive a bounded repair loop. On a 240-artefact corpus spanning eight configuration classes, we compare zero-shot generation, zero-shot with repair, retrieval augmentation, and retrieval with repair. The combined approach raised schema validity from 71% to 98% and all-gate pass from 30% to 92%, and reduced engineer correction effort by 71% relative to manual translation. Semantic fidelity rose only from 68% to 89%, however, and validation loops improved validity far more than fidelity. Residual errors concentrated in TLS configuration, integration-runtime descriptors, and capacity-bearing pool and concurrency settings, which pass every structural check yet change runtime behaviour. We identify these classes as requiring mandatory human review and offer practitioner guidance on retrieval content, policy-guarded repair, and fidelity measurement

References

[1] M. Fowler, "StranglerFigApplication," martinfowler.com (online article), 2004.
[2] M. Chen, J. Tworek, H. Jun, Q. Yuan, H. P. de Oliveira Pinto, J. Kaplan, et al., "Evaluating large language models trained on code," arXiv preprint arXiv:2107.03374, 2021.
[3] OpenAI, "GPT-4 technical report," arXiv preprint arXiv:2303.08774, 2023.
[4] B. Rozière, J. Gehring, F. Gloeckle, S. Sootla, I. Gat, X. E. Tan, et al., "Code Llama: Open foundation models for code," arXiv preprint arXiv:2308.12950, 2023.
[5] S. Pujar, L. Buratti, X. Guo, N. Dupuis, B. Lewis, S. Suneja, et al., "Automated code generation for information technology tasks in YAML through large language models," in Proc. 60th ACM/IEEE Design Automation Conference (DAC), 2023.
[6] P. T. J. Kon, J. Liu, Y. Qiu, W. Fan, T. He, L. Lin, et al., "IaC-Eval: A code generation benchmark for cloud infrastructure-as-code programs," in Advances in Neural Information Processing Systems (NeurIPS) Datasets and Benchmarks Track, 2024.
[7] IBM Corporation, "IBM MQ 9.3 documentation: MQSC commands reference," ibm.com (online product documentation), 2023.
[8] B. Burns, B. Grant, D. Oppenheimer, E. Brewer, and J. Wilkes, "Borg, Omega, and Kubernetes," ACM Queue, vol. 14, no. 1, pp. 70–93, 2016.
[9] The Kubernetes Authors, "Kubernetes documentation: ConfigMaps, Secrets, Deployments, and server-side dry-run," kubernetes.io (online documentation), 2024.
[10] The Helm Authors, "Helm documentation: Charts, chart template guide, and helm lint," helm.sh (online documentation), 2024.
[11] K. Morris, Infrastructure as Code: Dynamic Systems for the Cloud Age, 2nd ed. Sebastopol, CA, USA: O'Reilly Media, 2020.
[12] J. Humble and D. Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Boston, MA, USA: Addison-Wesley, 2010.
[13] M. Souppaya, J. Morello, and K. Scarfone, "Application container security guide," National Institute of Standards and Technology, NIST Special Publication 800-190, 2017.
[14] A. Rahman, C. Parnin, and L. Williams, "The seven sins: Security smells in infrastructure as code scripts," in Proc. 41st IEEE/ACM Int. Conf. on Software Engineering (ICSE), 2019, pp. 164–175.
[15] A. Rahman, E. Farhana, C. Parnin, and L. Williams, "Gang of eight: A defect taxonomy for infrastructure as code scripts," in Proc. 42nd IEEE/ACM Int. Conf. on Software Engineering (ICSE), 2020, pp. 752–764.
[16] T. Brown, B. Mann, N. Ryder, M. Subbiah, J. Kaplan, P. Dhariwal, et al., "Language models are few-shot learners," in Advances in Neural Information Processing Systems (NeurIPS), vol. 33, 2020, pp. 1877–1901.
[17] J. Austin, A. Odena, M. Nye, M. Bosma, H. Michalewski, D. Dohan, et al., "Program synthesis with large language models," arXiv preprint arXiv:2108.07732, 2021.
[18] X. Hou, Y. Zhao, Y. Liu, Z. Yang, K. Wang, L. Li, et al., "Large language models for software engineering: A systematic literature review," arXiv preprint arXiv:2308.10620, 2023.
[19] C. E. Jimenez, J. Yang, A. Wettig, S. Yao, K. Pei, O. Press, and K. Narasimhan, "SWE-bench: Can language models resolve real-world GitHub issues?" in Proc. Int. Conf. on Learning Representations (ICLR), 2024.
[20] P. Lewis, E. Perez, A. Piktus, F. Petroni, V. Karpukhin, N. Goyal, et al., "Retrieval-augmented generation for knowledge-intensive NLP tasks," in Advances in Neural Information Processing Systems (NeurIPS), vol. 33, 2020, pp. 9459–9474.
[21] Y. Gao, Y. Xiong, X. Gao, K. Jia, J. Pan, Y. Bi, et al., "Retrieval-augmented generation for large language models: A survey," arXiv preprint arXiv:2312.10997, 2023.
[22] A. Madaan, N. Tandon, P. Gupta, S. Hallinan, L. Gao, S. Wiegreffe, et al., "Self-Refine: Iterative refinement with self-feedback," in Advances in Neural Information Processing Systems (NeurIPS), vol. 36, 2023.
[23] N. Shinn, F. Cassano, A. Gopinath, K. Narasimhan, and S. Yao, "Reflexion: Language agents with verbal reinforcement learning," in Advances in Neural Information Processing Systems (NeurIPS), vol. 36, 2023.
[24] Z. Ji, N. Lee, R. Frieske, T. Yu, D. Su, Y. Xu, et al., "Survey of hallucination in natural language generation," ACM Computing Surveys, vol. 55, no. 12, pp. 1–38, 2023.
[25] Open Policy Agent Authors, "Open Policy Agent documentation: Policy language (Rego) and conftest," openpolicyagent.org (online documentation), 2024.
[26] J. Wei, X. Wang, D. Schuurmans, M. Bosma, B. Ichter, F. Xia, et al., "Chain-of-thought prompting elicits reasoning in large language models," in Advances in Neural Information Processing Systems (NeurIPS), vol. 35, 2022.
[27] N. Forsgren, J. Humble, and G. Kim, Accelerate: The Science of Lean Software and DevOps. Portland, OR, USA: IT Revolution Press, 2018.