DESCRIPTION :
L'un des objectifs de l'équipe EVREF est de soutenir des systèmes toujours en fonctionnement. Cet objectif est abordé sous deux angles complémentaires : la réingénierie des grands systèmes et les constructions pour les langages de programmation dynamiques et réfléchis.
Dans la perspective de la réingénierie, nous proposons de nouvelles analyses pour comprendre et restructurer les grandes applications existantes (métriques de paquets spécialisées, visualisations adaptées, identifications de couches, migration automatisée) en plus de Moose (une plateforme de réingénierie open-source) http://www.moosetechnology.org. Nous travaillons sur l'identification et la validation des règles. Nous avons créé Synectique http://synectique.eu, une société qui déploie des outils permettant d'analyser des logiciels.
Dans le contexte de la construction, nous revisitons les concepts de langage tels que les modules et la composition. En outre, nous travaillons sur une nouvelle génération de systèmes réfléchissants. Ces constructions en langage de programmation sont expérimentées sur Pharo http://www.pharo.org. Nous développons Pharo, un langage purement orienté objet, typographié dynamiquement et réfléchissant. Pharo est utilisé dans plusieurs universités du monde entier, par des groupes de recherche et des entreprises. http://consortium.pharo.org est un consortium industriel qui soutient Pharo.
Notre équipe recherche un(e) doctorant(e) pour une période de 3 ans. L'objectif du doctorant(e) recruté(e) sera d'investiguer les framework de génération de machines virtuelles incluant des composants tels que des interprètes haute performance, des compilateurs Just-in-time, des gestionnaires automatiques de memoire., Sous la supervision de Guillermo Polito, et en collaboration avec l'équipe EVREF et le consortium industriel Pharo, la personne recrutée sera amenée à investiguer les framework de génération de tests de performance en utilisant des techniques de fuzzing.
Pour une meilleure connaissance du sujet de recherche proposé :
Performance evaluation, often performed through benchmarking, is crucial to understand resource consumption both in academic and industrial settings. Sound benchmarking is a challenging task because it requires deep knowledge of realistic application usage scenarios, and a careful experimental design to cope with environmental non-determinisms.
In Sapper we propose a holistic approach to reduce the cost of benchmarking. Namely, we will study how to build relevant, reproducible, and interpretable benchmark programs. We will automate the generation, selection, execution and interpretation of benchmarks by reuniting fundamental, practical, and empirical knowledge from programming language implementation, software engineering, and statistics.
We will: (a) define how to use existing application tests as seeds for code generation; (b) design static and dynamic analyses to grow those seeds and execute them on relevant workloads; (c) detect application and language-specific metrics that minimise the effects of non-determinisms; (d) and we will design root-cause analyses to identify the cause of regressions. Sapper contributes to lowering the cost of tracking and understanding performance in object-oriented applications with an impact on both research and industry.
Collaboration :
La personne recrutée sera en lien avec Guillermo Polito, encadrant du projet, l'équipe EVREF expert en langages de programmation et le consortium industriel Pharo expert en machines virtuelles industrielles et fournisseur principale des cas d'études.
Responsabilités :
La personne recrutée fera des investigations dans le cadre d'une thèse en informatique. Ses responsabilités impliqueront le développement et experimentation avec des nouvelles techniques de traduction automatique du langage Pharo vers C, de l'écriture des compilateurs vers du C et code machine, et l'implémentation des optimisations spécifiques machine virtuelle., * Expérimentation et développement dans le cadre d'un générateur de cas de testing
* Expérimentation et développement dans le cadre d'un processus de benchmarking et d'évaluation de performance automatiques
* Expérimentation et développement dans le cadre des techniques statistiques pour l'analyse de données de performance
Activités complémentaires (3 maximum) :
* Écriture et présentation scientifique devant des publiques internationaux
* Participer de l'animation et la vie scientifique de l'équipe EVREF et la communauté open source Pharo
* Co-encadrement des étudiants de niveau Licence et Master
Niveau de formation : Bac+3
Temps partiel / Temps plein : Plein temps
Type de contrat : Contrat à durée déterminée (CDD)
Compétences : Compilateurs, Génération de Code, Fuzz Testing, Traduction Automatique, Développement Logiciel Orienté Objet, Technologie Open Source, Conception et Développement de Logiciel, Machines Virtuelles, Test de Performance, Programming Languages, Anglais, Axé sur le Succès, Apprentissage Expérientiel, Recherche, Analyse Comparative (Benchmark), Expérimentation, Génie Mécanique, Services aux Passagers, Visualisation, Réingénierie, Impression et Sérigraphie, Etudes et Statistiques, Manutention et Port de Charges, Métrique
Courriel :
Guillermo.Polito@inria.fr
Téléphone :
0139635511
Type d'annonceur : Employeur direct