Internship position at CEA Grenoble

Posted on October 14, 2014

Context and objectives

The CEA is developing a technology for runtime code generation around a tool called deGoal, which initial motivation is the observation that execution performance may be strongly correlated to the characteristics of the data to process (cf. related publications on this website).

Preliminary developments have been carried out to achieve the objectives of the project: the deGoal framework has been extended so that code polymorphism could be applicable to embedded constrained platforms such as microcontrollers; a preliminary validation of our approach has been performed on AES and experimental measures have been carried out.

The objectives of this internship are to continue the implementation of our software solution for code polymorphism, and to focus in particular on the performance of runtime code generation to reduce the overall overhead of our approach.

The intern will be in charge of:

  1. identifying the main performance issues in the current implementation
  2. design and implement more efficient solutions. The solutions will be taken in the perspective of the amount of polymorphic instances that could be generated with the new solution.
  3. validate the approach experimentally

Skills and academia

MSc in computer engineering, electrical engineering or computer science.


  • C, with the ability to understand low-level programming
  • Python
  • Background on compilation / code generation, in particular of backend techniques.
  • A background on security and/or cryptography is appreciated.


Damien Couroussé (damien dot courousse arobase cea point fr)

The application should include a Curriculum Vitae, a Letter of Motivation, and a copy of the diploma already obtained with transcripts (courses + grades).

Description of the internship in french.