Translating PL/I Macro Procedures into Java Using Automatic Templatization and Large Language Models
Takaaki Tateishi, Yasuharu Katsuno

TL;DR
This paper introduces a novel templatization approach using symbolic execution to improve LLM-based translation of PL/I macro procedures into Java, resulting in more accurate and maintainable code reproduction.
Contribution
It proposes a new method combining symbolic execution and templating to enhance automated translation of complex macro procedures into Java.
Findings
Successful translation of macro procedures into Java that reproduces original behavior
Templatization improves readability and maintainability of generated code
Preliminary results show effectiveness on ten PL/I macro procedures
Abstract
Modernizing legacy enterprise systems often involves translating PL/I programs into modern languages such as Java. This task becomes significantly more complex when PL/I macro procedures are involved. The PL/I macro procedures are considered string-manipulating programs that generate PL/I code, and they make automated translation more complex. Recently, large language models (LLMs) have been explored for automated code translation. However, LLM-based code translation struggles to translate the PL/I macro procedures to Java programs that reproduce the behavior of the plain PL/I code generated by the original PL/I macro procedures. This paper proposes a novel method called templatization, which uses symbolic execution to generate code templates (code with named placeholders) as an intermediate representation. In this approach, symbolic values are treated as parts of macro-generated…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Model-Driven Software Engineering Techniques · Software System Performance and Reliability
