STAGE 2026 - Génie logiciel - Polyglot software analysis - F/H

Stage
Limonest
Salaire : 5,4K à 6K €
Éducation : Bac +5 / Master
Postuler

Berger-Levrault
Berger-Levrault

Cette offre vous tente ?

Postuler
Questions et réponses sur l'offre

Le poste

Descriptif du poste

🔍 Sujet :  Polyglot software analysis

 

 

🧩 Contexte :

 

Berger-Levrault développe de nombreuses applications, certaines utilisant plusieurs langages de programmation et d’autres reposant sur des microservices, ce qui entraîne la présence de plusieurs artefacts qui communiquent entre eux.

 

Au sein de la DRIT (Direction de la Recherche et de l’Innovation Technologique), l’équipe LabGL utilise principalement Moose pour analyser les logiciels de BL.

Cependant, Moose est conçu pour analyser des logiciels monolithiques : lorsqu’un logiciel contient plusieurs langages, il génère un modèle distinct pour chacun d’eux, sans les relier, il ne détecte pas les microservices appartenant à un même logiciel, même si ceux-ci en font effectivement partie.

 

L’analyse polyglotte est encore faiblement appliquée en général, et pour Moose elle est peu introduite. Pour avancer, il est nécessaire de commencer par la génération de métamodèles permettant de représenter divers langages (Python, TypeScript, C#, VB, Go, R…).

 

Une solution existe pour générer une première version des métamodèles FAST, capables de représenter des AST (Abstract Syntax Tree) du code source, grâce à Tree-Sitter, qui sait parser plusieurs langages et produire des modèles.

 

Cependant, la génération des métamodèles FAST avec Tree-Sitter reste incomplète, notamment parce qu’il manque deux compléments très importants :les tests et les propriétés

 

 

🎯 Objectif :

 

Le stage aura pour objectif d’automatiser la génération des tests et des propriétés pour chaque métamodèle FAST généré.

Pour cela, le/la stagiaire devra s’appuyer sur les dépôts Tree-Sitter de chaque langage, qui fournissent de nombreux exemples couvrant la majorité des nœuds des métamodèles.

L’utilisation de l’intelligence artificielle pourra être envisagée pour analyser ces exemples et les associer automatiquement aux nœuds correspondants.

 

 

🛠️ Missions :

  • Explorer Pharo et Moose (Famix, FAST, MoTion actuellement) étant débutant. (1 semaine)

  • Ajouter 5 propriétés pour FASTTypeScript avec 5 tests manuellement pour pouvoir comprendre comment ça fonctionne (1semaine)

  • Faire des recherches pour comprendre:

              - Comment on peut automatiser la génération des tests en utilisant l’IA ou autre outil

              - Est-ce que l’IA peut comprendre un exemple, ça donne quoi …

  • Générer des métamodèles FAST: on souhaite commencer par Python, et on peut continuer par C#, VB …

  • Travailler sur la génération des propriétés des nodes (comme par exemple pour FASTTypeScriptClass on a des proriétés comme ‘body’ et ‘name’).


Profil recherché

  • Vous êtes étudiant(e) en dernière année d’école d’ingénieur ou équivalent universitaire (BAC+5), ayant une orientation en Génie Logiciel et vous recherchez un stage de 6 mois débutant au printemps 2026.
  • Vous possédez un langage orienté objet (Java, C#, Pharo, …).
  • Vous utilisez un environnement Git.
  • Vous avez une capacité rédactionnelle et de synthèse.
  • Vous faites preuve d’autonomie.

Déroulement des entretiens

  • Postulez via notre espace candidat.
  • Si votre profil nous fait lever un sourcil, attendez-vous à recevoir un appel pour un premier échange téléphonique
  • Vous avez réussi à piquer notre curiosité ! Attendez-vous à ce qu'on vous propose un deuxième échange, que ce soit à distance ou dans nos locaux. Et naturellement, on ne vous laissera pas en plan, vous aurez une réponse de notre part, que cela soit positif ou négatif
  • DIVERSITE ET INCLUSION : CHEZ NOUS, C’EST PLUS QU’UNE POLITIQUE, C’EST UNE FORCE !

    Nous nous engageons à :

  • Accueillir et intégrer les talents uniques des personnes en situation de handicap
  • Cultiver une culture d'inclusion où la différence est valorisée
  • Sensibiliser et accompagner nos équipes aux enjeux de diversité
  • Parce que la singularité de chacun est une richesse, nous mettons tout en place pour que chaque collaboratrice et collaborateur puisse s'exprimer et s'épanouir pleinement.

    Envie d’en savoir plus ?

    D’autres offres vous correspondent !

    Ces entreprises recrutent aussi au poste de “Développement de logiciels et de sites Web”.

    Postuler