Mémoire de Master : Migration par LLM
Pully
Infos sur l'emploi
- Date de publication :07 octobre 2025
- Taux d'activité :100%
- Lieu de travail :Pully
Résumé de l'emploi
ELCA cherche à moderniser les applications clients avec des migrations innovantes. Rejoignez une équipe dynamique et multiculturelle pour des solutions impactantes.
Tâches
- Évaluer les outils existants pour la migration de code.
- Développer un Proof-of-Concept basé sur des LLMs pour migrer des applications.
- Analyser l'efficacité des LLMs par rapport aux générateurs de code artisanaux.
Compétences
- Connaissance d'un langage de programmation (Java, Python, TypeScript) et compétences analytiques requises.
- Expérience avec les modèles de langage à grande échelle (LLMs) est un plus.
- Capacité d'analyse et de résolution de problèmes.
Est-ce utile ?
Description
Chez ELCA, nous devons fréquemment effectuer des migrations ou des refontes étendues sur de grandes bases de code, telles que :
• La mise à niveau vers une nouvelle version majeure d’un framework qui apporte des changements incompatibles ou déprécie des fonctionnalités.
• La migration des applications personnalisées de nos clients fonctionnant sur une technologie héritée vers une pile plus moderne, parfois dans un langage de programmation différent.
Ces tâches ont en commun d’être très chronophages, très répétitives, et pourtant difficiles à automatiser. Tout comme la traduction des langues humaines, une migration d’une technologie à une autre doit adopter les idiomes de la langue cible pour garantir que le code généré soit facile à comprendre, vérifier et maintenir.
La traduction des langues humaines basée sur les LLM (Large Language Models) surpasse les algorithmes programmés, grâce au volume énorme de textes sur lesquels ils ont été entraînés. De même, les LLM ont démontré ces dernières années une capacité croissante à traiter et produire du code source "idiomatique". Ils jouent désormais un rôle clé dans de nombreuses tâches de refonte et de migration à grande échelle.
Les LLM sont notoirement sujets à des "hallucinations" et à de la "créativité" qui sont indésirables lorsqu’on travaille avec du code source, donc la vérification et l’application stricte du code produit par un outil de migration sont cruciales. La détection d’erreurs peut se faire avec des outils d’analyse statique sur le code généré, ou en générant ou migrant des tests automatisés. Lorsqu’un test découvre que le code a été migré incorrectement, il doit y avoir un moyen d’itérer sur la génération pour corriger les tests échoués et les erreurs de compilation. Un tel affinage itératif du code a déjà été démontré avec des générateurs de code basés sur LLM.
Objectifs
- Passer en revue les travaux existants dans ce domaine et évaluer les capacités des outils existants pour de telles tâches.
- S’appuyer sur les prototypes existants d’ELCA pour proposer et implémenter un Proof-of-Concept basé sur LLM pour un projet de migration concret, en tirant parti des techniques d’ingénierie de prompt, de fine-tuning et d’entraînement vers des workflows plus complexes impliquant itération, agents équipés d’outils, tests automatisés, correction d’erreurs, etc.
- Évaluer dans quelle mesure les LLM sont utiles dans les tâches de migration, et dans quels cas des générateurs de code faits main peuvent être plus adaptés.
Notre offre
- Un environnement de travail dynamique et collaboratif avec une équipe multiculturelle et internationale très motivée
- La chance de faire une différence dans la vie des gens en construisant des solutions innovantes
- Divers événements internes de codage (Hackathon, Brownbags), voir notre blog technique
- After-Works mensuels organisés par site
Compétences requises
La connaissance d’au moins un langage de programmation (Java, TypeScript, Python) et de solides compétences analytiques en général sont requises. Une expérience ou une connaissance générale du travail avec les LLM est un plus.
À propos de l'entreprise
Pully