Mise à disposition de l`ingénieur Xavier Clerc dans le projet Regal

Commentaires

Transcription

Mise à disposition de l`ingénieur Xavier Clerc dans le projet Regal
Mise à disposition de l’ingénieur Xavier Clerc
dans le projet Regal
Xavier Clerc, Frédéric Gilbert
Octobre 2013
1
Résumé
Mission
soutien au développement du logiciel d’analyse de programmes en langage C, Coccinelle.
Ingénieur mis à disposition de ce développement
Xavier Clerc (SED)
Durée de la mise à disposition
40% du temps de présence INRIA de Xavier Clerc, sur la fin de l’année 2013 et sur l’année
2014, soit 3 à 4 jours par semaine, deux semaines consécutives sur quatre. Xavier Clerc apporte
également une aide au projet πr 2 à hauteur de 40% de son temps de présence, ainsi que Gallium
à hauteur de 10 %.
Encadrement
Julia Lawall (Regal).
Autre(s) intervenant(s)
Gilles Muller (équipe Regal), et contributeurs historiques de Coccinelle.
2
Rôles et activités
Xavier Clerc intervient au sein de Regal en tant qu’expert en développement logiciel, pour
contribuer au développement du logiciel Coccinelle. Les tâches actuellement identifiées sont les
suivantes :
D1. Amélioration du parsing et du unparsing : améliorations et extensions (notamment prise en compte de nouveaux éléments de syntaxe du C, e.g. do ... while),
amélioration de la lisibilité des messages du parser.
Certaines de ces améliorations seront réalisées pour prendre en compte du code
fourni dans le cadre d’un contrat avec la société Metaware.
D2. Parsing du C++ : il s’agit également d’une extension des possibilités de parsing,
dont le but est de rendre le parser capable de prendre en compte un sous ensemble
de la syntaxe spécifique du C++, correspondant à des exemples de code à traiter.
Il ne s’agit ni de prendre en compte la totalité du langage, ni de tenir compte du
paradygme objet sous-jacent (e.g. templates).
Cette possibilité peut notamment intéresser les développeurs de Mozilla OS, basé
sur une machine virtuelle écrite en C++.
1
D3. Fabrication du logiciel : dans la mesure du possible, analyse, amélioration voire
refonte du processus de fabrication de Coccinelle, actuellement basé sur un Makefile
sophistiqué mais difficilement maintenable.
D4. Support : prise en compte des demandes de support dans la mailing-list Coccinelle,
si elles sont dans le domaine et dans les compétences de Xavier Clerc.
D5. Intégration Continue : éventuellement migration des tests utilisant une plateforme d’intégration continue hébergée à Bordeaux, vers la plate-forme nationale.
D6. Portabilité : fonctionnement sur plate-formes Windows et Mac.
Par ailleurs, Xavier Clerc garde à l’esprit le besoin de mutualisation en terme de parsers C, issu
des demandes de Xavier Rigal pour le logiciel MemCAD, et de Xavier Leroy pour le logiciel
CompCert. Coccinelle peut donner des pistes pour réaliser le parser dont ces projets ont besoin,
ou à l’inverse bénéficier de l’éventuelle réalisation d’un parser pour ces projets.
Malgré tout les besoins semblent assez différents, notamment par le fait qu’il est acceptable dans
le cas de Coccinelle de faire l’impasse sur un pourcentage faible du code analysé.
3
Suivi
– Participation aux réunions de coordination et d’avancement entre les chercheurs et ingénieurs
concernés
– Réunions de suivi à prévoir avec le responsable du SED (environ 1 fois par semestre)
4
Evaluation
Un rapport sur l’avancement du travail pourra être fourni à la demande du responsable du SED.
2