PhD Position F/M Machine Learning based Program Recognition

Contract type : Fixed-term contract

Level of qualifications required : Graduate degree or equivalent

Fonction : PhD Position

About the research centre or Inria department

The Inria research centre in Lyon is the 9th Inria research centre, formally created in January 2022.  It brings together approximately 300 people in 16 research teams and research support services.

Its staff are distributed at this stage on 2 campuses: in Villeurbanne La Doua (Centre / INSA Lyon / UCBL) on the one hand, and Lyon Gerland  (ENS de Lyon) on the other.

The Lyon centre is active in the fields of software, distributed and high-performance computing, embedded systems, quantum computing and privacy in the digital world, but also in digital health and computational biology.

Context

In the context of the Inria exploratory action ProgReco between Inria Lyon and Université Côte d'Azur, we are hiring a PhD student in co-advising between ENS de Lyon and université Côte d'Azur.
The PhD student could be registered either at université Côte d'Azur or at ENS de Lyon.

Assignment

The overall objective is to design a static analysis able to recognize automatically a program by leveraging machine learning; and its application to automatic program optimization. The research includes the implementation of the solution and the experimental validation required for the related publications.

Main activities

The main steps of the research include the following points:

  1. Find a relevant program representation. A program might be directly modeled by a graph. We seek to keep syntactic elements while encoding the semantics (computation) by keeping relevant data- and control-flow informations. SSA form and its variants might be a good starting.
  2. Choose a learning model. Once the right representation is found, an appropriate learning model must be selected. Graph neural networks and gated-graph sequence neural networks were already used successfully in static analysis and might be a good starting point to investigate.
  3. Generating a training set. Several variants of a program should be generated while being sufficiently uniform to avoid overfitting. Compiler transformations as well as polyhedral code generation techniques will be investigated.
  4. Application to program optimization. Once an algorithm is recognized, it might be substituted by a better version, available for instance in a performance library. Many challenges must be addressed. First, our classifier does only predictions. Hence exact equivalence must be checked. Second, recognized kernels might overlap. Hence, some high-level selection must be applied. These questions will be addressed while trying to be as general as possible.

In addition to these research activities, the PhD student could have teaching activities at university or ENS de Lyon.

Skills

The applicant must hold a master in computer science or an engineering degree. He/she is expected to have a strong background in theoretical computer science (compilers, advanced programming, machine learning, graphs). On the  implementation side, the applicant is expected to be skilled in C++.

Benefits package

  • Subsidized meals
  • Partial reimbursement of public transport costs
  • Leave: 7 weeks of annual leave + 10 extra days off due to RTT (statutory reduction in working hours) + possibility of exceptional leave (sick children, moving home, etc.)
  • Possibility of teleworking (90 days / year) and flexible organization of working hours
  • Professional equipment available (videoconferencing, loan of computer equipment, etc.)
  • Social, cultural and sports events and activities
  • Access to vocational training
  • Complementary health insurance under conditions

Remuneration

1st and 2nd year: 2 100 euros gross salary /month

3rd year: 2 190 euros gross salary / month