Stage PFE – Injection d’erreurs pour mesurer la qualité d’une suite de tests

Allegro_light1
Our Company

Créée en 2003, Allegro DVT est une entreprise internationale en forte croissance. Son expertise est mondialement reconnue dans le domaine de la vidéo numérique sur le marché des semi-conducteurs.

Les équipes sont basées en France, en Chine, aux Etats-Unis et au Royaume-Uni. Le savoir-faire d’Allegro DVT est notamment présent dans les caméras de voitures, les jeux vidéo, les téléphones portables, les montres connectées, les caméras de surveillance, etc…

Les acteurs majeurs de la micro-électronique, de l’industrie automobile et les acteurs dans le secteur de diffusion et streaming vidéo comptent parmi ses clients. Ses produits sont des leviers d’attractivité pour les marchés émergents tels que l’IA, les véhicules autonomes, la robotique et la santé.

Chez Allegro DVT vous trouverez des projets innovants, variés et passionnants !

CONTEXTE

Les normes d’encodage vidéo sont de plus en plus complexes. Cette complexité nécessite le développement de décodeurs matériels dédiés afin de pouvoir décoder des vidéos en temps réel. Allegro DVT développe des suites de test (sous forme de flux vidéo compressés) permettant de valider pleinement ce type de décodeur.

De par leur complexité, les codecs vidéo récents nécessitent la mise en place de cas de tests très particuliers pouvant faire intervenir différents outils de la norme, dans le cadre de leur validation. Pour construire une suite de tests, nous utilisons notre propre générateur. Pour avoir une suite de tests qualitative, il est nécessaire de vérifier que cette suite permet bien de mettre en évidence toute différence d’implémentation par rapport à une spécification.

Job Tasks

Ce stage a pour but la mise en place d’un outil d’injection d’erreurs dans un décodeur vidéo, afin de vérifier que notre suite de tests les détecte bien. On attend de cet outil qu’il puisse injecter différents types d’erreurs (modification de valeurs dans un tableau statique, dans des calculs, des conditions, suppression de lignes, …) de façon aléatoire (avec possibilité de choisir des distributions), dans des endroits spécifiques du code source. L’idée sera de partir de l’AST d’un programme C++ et de modifier ce dernier pour injecter les erreurs voulues. Beaucoup d’erreurs injectées ne seront pas pertinentes et vont ainsi constituer du bruit. Il y aura donc une réflexion sur la façon de supprimer au maximum ce bruit. Ces travaux seront appliqués sur des exemples concrets de décodeurs vidéo récents (VVC et AVS3).

Ce stage sera complet puisqu’il demandera :

  • L’utilisation de l’AST (Abstract Syntax Tree) de Clang pour développer la base de l’outil d’injection d’erreurs ;
  • Une réflexion sur les meilleurs types d’erreurs à injecter ;
  • L’implémentation principalement en langage C++ (Bash également utilisé).
Profile

Nous recherchons des étudiant(e)s en dernière année d’école d’ingénieur intéressé(e)s par le domaine de la vidéo.

  • Connaissances en C++ souhaitées ;
  • Connaissances en compilation.

Une forte appétence pour le domaine de la vidéo numérique ? Nous avons beaucoup à nous apporter mutuellement alors postulez pour nous rejoindre !

INFORMATIONS PRATIQUES

Stage basé à Montbonnot-Saint-Martin (Inovallée) accessible avec le bus C1.

Rémunération : 1.200 € bruts mensuels + chèques déjeuners 9,5 €/jour avec prise en charge de 60% par l’employeur + remboursement 50% des transports en commun.

Send an application for this job