Stage de fin d’études en ingénierie logicielle et IA appliquée aux tests automobiles
About Lucid
At Lucid, we are creating exceptional mobility experiences through innovation to drive the world forward. Built on Lucid’s proprietary technology and software-defined vehicle architecture, our award-winning vehicles bring our “Compromise Nothing™” approach to the global automotive market. That means refusing to choose between performance and sustainability, design and engineering, ambition and integrity. In Lucid Air and Lucid Gravity, we have designed and built vehicles that have redefined their segments, combining exceptional range, performance, design, and expansive space in a single experience.
We achieve this through deep vertical integration, with design, engineering, and production happening in-house across our global offices and manufacturing facilities. Our teams come from industries around the world, united by a shared commitment to excellence. By refusing to settle, you can help redefine what’s possible and shape the future of mobility.
Stage de fin d’études en ingénierie logicielle et IA appliquée aux tests automobiles
Chez Lucid Motors, la qualité logicielle est essentielle pour offrir une expérience exceptionnelle à bord de véhicules de plus en plus sophistiqués et largement définis par le logiciel.
En rejoignant notre équipe Software Engineering basée à Toulouse, vous intégrerez nos activités dédiées à la qualité et à l’automatisation des logiciels d’infodivertissement.
Vous travaillerez sur un projet concret situé à la croisée de plusieurs domaines particulièrement recherchés :
- développement logiciel ;
- automatisation des tests ;
- analyse de données techniques ;
- débogage de systèmes complexes ;
- Machine Learning et intelligence artificielle générative ;
- systèmes embarqués et logiciels automobiles.
Les plateformes modernes d’infodivertissement exécutent des milliers de tests automatisés sur différentes versions, configurations et couches logicielles. Lorsque ces tests échouent, les équipes d’ingénierie doivent rapidement comprendre ce qui s’est passé :
- Quelle fonction a échoué ?
- Quelle est la cause probable de l’échec ?
- S’agit-il d’un défaut du produit, d’un problème d’infrastructure ou d’une anomalie déjà connue ?
- Un problème similaire a-t-il déjà été identifié ?
- Quelle équipe ou quel composant logiciel doit être analysé ?
Votre objectif sera de concevoir une solution capable d’automatiser une partie de cette analyse et de fournir aux ingénieurs des informations fiables pour accélérer l’identification des causes racines.
Votre mission
Vous concevrez et développerez un prototype permettant d’analyser, regrouper et catégoriser automatiquement les défaillances issues de campagnes de tests d’infodivertissement automobile.
La solution exploitera les résultats de tests, les journaux d’exécution, les traces système et différentes données de diagnostic. Elle pourra également intégrer des techniques de Machine Learning et d’intelligence artificielle générative afin de suggérer des causes potentielles ou de retrouver des incidents similaires.
Analyser automatiquement les résultats de tests
Vous serez notamment amené à :
- analyser les résultats produits par des campagnes de tests automatisés ;
- développer des composants logiciels permettant de collecter et de traiter les résultats, journaux d’exécution, traces, rapports de crash et données de diagnostic ;
- détecter des schémas de défaillance récurrents ;
- associer les anomalies aux cas de test, composants logiciels, configurations et contextes d’exécution concernés ;
- distinguer les défauts potentiels du produit des problèmes liés aux tests, à l’infrastructure ou à l’environnement d’exécution.
Classer et regrouper les défaillances
Vous contribuerez à :
- développer des algorithmes capables de regrouper et de classer des défaillances similaires ;
- identifier les anomalies récurrentes ou dupliquées entre plusieurs campagnes de tests ;
- extraire des signatures pertinentes à partir des logs, messages d’erreur, événements système et stack traces ;
- associer une défaillance à un domaine ou à un composant logiciel potentiel ;