Experience on Automatically Converting a C++ Monolith to Java EE
Andre Vehreschild, Lexi Pimenidis

TL;DR
This paper shares the experience and techniques of converting a large C++ monolith into Java EE, including architecture changes, handling language differences, and developing a tool for continuous Java code regeneration.
Contribution
It introduces a practical approach and tools for converting a massive C++ codebase into Java EE, addressing common language and architectural challenges.
Findings
Successful Java EE deployment on WildFly
Effective handling of C++ features in Java conversion
Development of a clang-tool-based regeneration process
Abstract
Converting a large C++ code base (800k lines of code) into Java alone is challenging. Changing the architecture from a monolith into an application adhering to the Java application server standard and to run it on WildFly is a different number. This report describes the experience made during the C++ to Java conversion, the techniques used as well as the way to success of running the Java code on the application server for the first time. The approaches to solve the usual C++ to Java culprits, like multiple inheritance, enum-handling and scoped objects are described. A clang-tool-based software is developed to continuously regenerate the Java, because development on the C++ code base continued.
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 and Design Patterns · Computational Physics and Python Applications · Mobile and Web Applications
