Master Thesis: Migration By LLM NUOVO

- Job Identification: 2304
- Posting Date: 21.02.2025
- Job Schedule: Full time
- Company: ELCA Informatique SA
About Us
We are ELCA, one of the largest Swiss IT tribe with over 2,200 experts. We are multicultural with offices in Switzerland, Spain, France, Vietnam and Mauritius. Since 1968, our team of engineers, business analysts, software architects, designers and consultants provide tailor-made and standardized solutions to support the digital transformation of major public administrations and private companies in Switzerland. Our activity spans across multiples fields of leading-edge technologies such as AI, Machine & Deep learning, BI/BD, RPA, Blockchain, IoT and CyberSecurity.
Job Description
Description
At ELCA we frequently need to perform migrations or wide-ranging refactoring on large code bases, such as:
- Upgrading to a new major version of a framework which brings breaking changes or deprecates features.
- Migrating our customers’ bespoke applications running on a legacy technology to a more modern stack, sometimes in a different programming language.
These tasks have this in common that they are very time-consuming, very repetitive, and yet difficult to automate. Just like translation of human languages, a migration from a technology to another should adopt the target language idioms to ensure the generated code is easy to understand, verify and maintain.
Translation of human languages based on LLMs (Large Language Models) outperforms programmed algorithms, thanks to the huge volume of text they have been trained on. Similarly, LLMs have in the recent years demonstrated increasing ability on processing and production of “idiomatic” source code. We believe they will play a key role in large-scale refactoring and migration tasks.
LLMs are notoriously prone to “hallucinations” and “creativity” which are unwanted when working with source code, so verification and enforcement of code produced by a migration tool is crucial. Detecting errors can be done with static analysis tools on the generated code, or by generating or migrating automated tests. When a test discovers that code was incorrectly migrated, there must be a way to iterate on the generation to fix failing tests and compilation errors. Such iterative code refinement has already been demonstrated with LLM-based code generators.
Objectives
- survey existing work in this area and assess the capabilities of existing tools for such tasks.
- build on ELCA’s existing prototypes to propose and implement an LLM-based Proof-of-Concept for a concrete migration project, leveraging techniques from prompt engineering, fine-tuning and training to more complex workflows involving iteration, automated testing, error correction, and so on.
- assess to what extent LLMs are helpful in migration tasks, and in which cases hand-crafted code generators may be more suitable.
Our offer
- A dynamic work and collaborative environment with a highly motivated multi-cultural and international sites team
- The chance to make a difference in peoples’ life by building innovative solutions
- Various internal coding events (Hackathon, Brownbags), see our technical blog
- Monthly After-Works organized per locations
Skills required
Knowledge of at least one programming language (Java, TypeScript, Python) and strong analytical skills in general are required. Experience or general knowledge in working with LLMs is a plus.