Scheduler verification and enlarging the scope of Coccinelle to Software Heritage

Contract type : Fixed-term contract

Level of qualifications required : Graduate degree or equivalent

Fonction : Temporary scientific engineer

Level of experience : Recently graduated

Context

The position will take place in the Whisper team at Inria Paris, that has a long experience with program analysis and transformation of C code, particularly the Linux kernel.

Assignment

This position will consist of two parts.

The first part will focus on designing a framework for the verification of the core selection algorithm of the Linux kernel scheduler, in a way that this verification can be carried out continuously across releases.  This is part of the ANR project VeriAmos.

The second part will focus on extending Coccinelle to handle the various constructs found in the C code found in Software Heritage, to generalize the use of Coccinelle beyond the Linux kernel.  This is part of the CampusCyber project SWHSec.

 

Main activities

The main activities will be:

  1. Slicing of the Linux kernel scheduler code to obtain a fragment that is manageable and meaningful to analyze in proof assistants, likely Frama-C, followed by development of appropriate invariants and carrying out of the proof.
  2. Application of Coccinelle to the C-language software in Software Heritage to identify bottlenecks and then to resolve them

 

Skills

OCaml programming.  Theorem proving.

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 (after 6 months of employment) 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
  • Social security coverage