Critères de l'offre
Description du poste
La fiabilité de nos logiciels est essentielle en raison de la nature des systèmes qu'ils contrôlent. Nous travaillons habituellement avec les langages C et C++, mais ils sont intrinsèquement porteur de problèmes de programmation (pointeurs erratiques, aliasing des données, …). Ces problèmes, pour être limités, nécessitent des développeurs hautement compétents et des méthodologies de travail rigoureuses. En réponse, le langage Rust a été créé.
L'objectif du stage est d'évaluer le langage Rust pour nos besoins. L'approche retenue est de réimplémenter un composant critique de nos logiciels en Rust, de valider cette réécriture et enfin de procéder à une analyse quantitative et qualitative du logiciel réécrit par rapport à celui existant écrit en C++.
La mission se décline selon les objectifs suivants :
•Prendre connaissance du routeur de messagerie de notre bus logiciel artillerie
•De le réécrire en Rust
•De le valider
•De comparer les résultats pour vérifier l'iso fonctionnalité des deux versions
•De comparer les performances relatives des deux versions
•D'évaluer les autres paramètres : vitesse de programmation, maintenabilité, intégrabilité, intérêt pour les différents interlocuteurs du développement logiciel (Développeurs, architectes, SdF, …)
•De fournir un catalogue de ressources pour le développement en Rust (guide de bonnes pratiques, librairies, outils d'analyse statique, outils de test, …)
•D'en tirer des conclusions objectives et de les présenter
Description du profil
Le stagiaire, de niveau Bac+5 dans le domaine du développement des logiciels, devra avoir une connaissance élémentaire des langages C++ et Rust. Une bonne capacité de dialogue est attendue pour échanger avec l'architecte logiciel en charge de l'évaluation ainsi qu'avec l'ensemble de l'équipe et des interlocuteurs externes.
Salaire et avantages
Salaire : Salaire selon profil
Date de démarrage souhaitée : 3 février 2025
Référence : KNDS-CBO-2025-7968