Pause
Lecture
Moteur de recherche d'offres d'emploi CEA

Deep Learning pour la sélection intelligente de stratégies d'analyse de code H/F


Détail de l'offre

Informations générales

Entité de rattachement

Le Commissariat à l'énergie atomique et aux énergies alternatives (CEA) est un organisme public de recherche.

Acteur majeur de la recherche, du développement et de l'innovation, le CEA intervient dans le cadre de ses quatre missions :
. la défense et la sécurité
. l'énergie nucléaire (fission et fusion)
. la recherche technologique pour l'industrie
. la recherche fondamentale (sciences de la matière et sciences de la vie).

Avec ses 16000 salariés -techniciens, ingénieurs, chercheurs, et personnel en soutien à la recherche- le CEA participe à de nombreux projets de collaboration aux côtés de ses partenaires académiques et industriels.  

Référence

2021-18373  

Description de l'unité

Le CEA LIST est un centre de recherche technologique sur les systèmes à
logiciel prépondérant qui mène ses recherches en partenariat avec les grands
acteurs industriels (nucléaire, automobile, aéronautique, défense et médical)
pour étudier et développer des solutions innovantes adaptées à leurs besoins.
Au sein du CEA LIST, le Laboratoire Sûreté des Logiciels (LSL), localisé à
Palaiseau (Essonne), développe les outils d'aide à la validation et à la
vérification de logiciels et de systèmes matériels / logiciels, tout
particulièrement dans les domaines des systèmes embarqués critiques et de la
cybersécurité.
L'un des nos outils, nommé Frama-C (http://frama-c.com), est une
plate-forme logicielle open-source développée en OCaml, facilitant le
développement d'analyses de programmes C. Le stage se déroulera au sein de
l'équipe développant Frama-C.

Description du poste

Domaine

Mathématiques, information  scientifique, logiciel

Contrat

Stage

Intitulé de l'offre

Deep Learning pour la sélection intelligente de stratégies d'analyse de code H/F

Sujet de stage

Frama-C intègre de nombreuses techniques d'analyse statique, notamment dans
l'un de ses plugins, Eva, dédié à la recherche de propriétés de programme
et en particulier à la recherche d'erreurs à l'exécution (débordements
arithmétiques, accès mémoire invalides et autres comportements indéfinis du C).
Ces techniques sont efficacement combinées, mais leur activation peut coûter
cher en termes de temps d'analyse. Il convient donc de choisir judicieusement
quelles techniques utiliser dans quel cas.

Durée du contrat (en mois)

Deep Learning pour la sélection intelligente de st

Description de l'offre

Cadre du stage
Le CEA LIST est un centre de recherche technologique sur les systèmes à logiciel prépondérant qui mène ses recherches en partenariat avec les grands acteurs industriels (nucléaire, automobile, aéronautique, défense et médical) pour étudier et développer des solutions innovantes adaptées à leurs besoins. Au sein du CEA LIST, le Laboratoire Sûreté des Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide à la validation et à la vérification de logiciels et de systèmes matériels / logiciels, tout particulièrement dans les domaines des systèmes embarqués critiques et de la cybersécurité.
L'un de nos outils, nommé Frama-C (http://frama-c.com), est une plate-forme logicielle open-source développée en OCaml, facilitant le développement d'analyses de programmes C. Le stage se déroulera au sein de l'équipe développant Frama-C.


Objectifs du stage
Frama-C intègre de nombreuses techniques d'analyse statique, notamment dans l'un de ses plugins, Eva, dédié à la recherche de propriétés de programme et en particulier à la recherche d'erreurs à l'exécution. Ces techniques sont efficacement combinées, mais leur activation peut coûter cher en termes de temps d'analyse. Il convient donc de choisir judicieusement quelles techniques utiliser dans quel cas.
Ces choix sont aujourd'hui réalisés par l'analyste, qui utilise l'outil afin de réaliser des preuves de sûreté sur un logiciel. Ils nécessitent une connaissance fine de Frama-C et de ses techniques d'analyse, tous deux évoluant avec le temps. En outre, pour être le plus fin possible, ces choix peuvent être réalisés à l'échelle de la fonction ou de la boucle dans un code source parfois grand. Cette double difficulté, reposant à la fois sur la quantité de connaissances et sur le temps nécessaire, peut s'avérer être un obstacle bloquant.
Pour lever cet obstacle, nous avons mis en place des techniques prometteuses de machine-learning. Il s'agit de traiter la difficulté non plus comme un problème de compréhension de l'outil d'analyse, mais comme un problème de compréhension des formes de code adaptées aux différentes techniques. Ceci a deux avantages. D'une part, l'apprentissage peut être répété à mesure que l'outil évolue, afin de rester adapté aux caractéristiques des dernières techniques disponibles. D'autre part, le choix automatique des techniques peut être réalisé à un niveau beaucoup plus fin que ce qu'un humain peut accomplir en un temps raisonnable.
Les objectifs du stage sont de contribuer à notre chaîne d'apprentissage spécialisée dans le code source :

- explorer les techniques d'apprentissage spécialisées sur les graphes,
- développer des représentations intermédiaires prenant en compte les flots
de données et les flots de contrôle,
- explorer les techniques d'apprentissage en présence de données déséquilibrées
et
- exploiter les prédictions obtenues dans Eva.

Localisation du poste

Site

Saclay

Localisation du poste

France, Ile-de-France, Essonne (91)

Ville

Saclay

Critères candidat

Langues

  • Anglais (Intermédiaire)
  • Français (Intermédiaire)

Diplôme préparé

Bac+5 - Master 2

Possibilité de poursuite en thèse

Non