Offres de stage ou d’essai, printemps 2016

Le Laboratoire d’informatique formelle sollicite les candidatures de haut calibre pour des mandats à réaliser dans le cadre des cours 8INF859 (Stage) ou 8INF860 (Essai) de la maîtrise en informatique, profil professionnel.

Modalités

Durée: 6 mois
Date de début: flexible, à partir de juin 2016
Rémunération: montant forfaitaire, à discuter avec le responsable
Activité créditée: le candidat doit être inscrit à l’activité 8INF859 (Stage) ou 8INF860 (Essai) durant le mandat

Projets offerts

Le LIF est à la recherche de candidats pouvant prêter main forte à l’équipe actuelle dans les domaines suivants.

LIF16-S1: Couverture de tests et profiling pour un logiciel de Complex Event Processing

Le LIF développe depuis plusieurs années un logiciel de Complex Event Processing (CEP) appelé BeepBeep 3, qui a déjà fait l’objet de plusieurs publications scientifiques.

Tâches du candidat: développer des suites de test visant à augmenter la couverture du code actuel; faire du profiling de l’exécution de ces tests afin de proposer des optimisations à l’implémentation du logiciel; réaliser des bancs d’essai (benchmarks) comparant les performances de BeepBeep à d’autres logiciels semblables; réaliser une banque d’exemples illustrant le fonctionnement du logiciel et visant à compléter le site web actuel.

Compétences requises ou à acquérir durant le mandat: développement Java avancé, notions de Complex Event Processing, utilisation des outils Ant, Git, JUnit, EclEmma, FindBugs, Semaphore. Une connaissance préalable du profiling et des outils existants (Jprof, Jensor) est un atout. Le candidat est invité à se renseigner sur le fonctionnement de BeepBeep 3 et le CEP avant de postuler.

LIF16-S2: Mise en place d’un environnement de traitement distribué

Un projet en cours au LIF consiste à évaluer la performance d’algorithmes de model checking dans une infrastructure distribuée. Ce projet en est à ses débuts et la première étape consiste à mettre en place une architecture où seront ensuite réalisés des tests.

Tâches du candidat: en collaboration avec un professeur et un doctorant du LIF, mettre en place une infrastructure virtualisée permettant l’exécution de tâches distribuées; installer et configurer divers environnements de calcul distribué (Hadoop, Giraph) et s’assurer de leur fonctionnement sur des exemples simples; documenter la mise en place et l’usage de ces plateformes; réaliser des tests et mesurer les performances de chaque plateforme.

Compétences requises ou à acquérir durant le mandat: vmWare, Hadoop, MongoDB, Apache Giraph, notions de théorie des graphes et de calcul distribué. Une bonne connaissance de l’environnement Linux est un atout.

LIF16-S3: Développement de la plateforme d’exécution de tests ParkBench

ParkBench est un logiciel développé au LIF permettant d’automatiser l’exécution d’expériences et la collecte de données. Un exemple simple serait de lancer plusieurs algorithmes de tri sur plusieurs listes de tailles variées, de mesurer leur temps d’exécution et de le présenter sous la forme d’un graphe. Au moyen de ParkBench, il est possible de faire tout cela en quelques lignes de code: l’effort de coordination des tâches et de collecte des données est assuré par la plateforme.

L’objectif du projet est d’augmenter la robustesse et les fonctionnalités de ParkBench, de manière à supporter le déroulement de la Competition on Runtime Verification (CRV) en 2017. Dans cette compétition, plusieurs logiciels de runtime monitoring sont exécutés sur les mêmes entrées, et leur performance est comparée selon diverses métriques. À l’heure actuelle, l’exécution de ces logiciels, la prise de données et le calcul des métriques sont effectués manuellement.

Tâches du candidat: comprendre le fonctionnement de ParkBench; développer des exemples illustrant son fonctionnement, à la manière d’un tutoriel; exécuter divers logiciels de runtime monitoring; préparer un banc d’essai et automatiser la collecte de résultats.

Compétences requises ou à acquérir durant le mandat: développement Java avancé, threads, notions de runtime monitoring, bonne connaissance de la ligne de commande Linux et de l’exécution en batch; utilisation des outils Ant, Git, JUnit, EclEmma, FindBugs, Semaphore, Graphviz, Gnuplot. Le candidat est invité à se renseigner sur le fonctionnement de ParkBench et le déroulement de la CRV avant de postuler.

À propos du LIF

Le Laboratoire d’informatique formelle (LIF) est une unité de recherche de l’Université du Québec à Chicoutimi. Trois professeurs-chercheurs et plus d’une dizaine d’étudiants de tous les cycles y travaillent sur des projets de recherche appliquée tournant autour du test, de la vérification et de la sécurité.

Les projets menés au LIF sont financés à la fois par des subventions publiques et des contributions de l’industrie; quelques récents partenaires industriels du LIF sont BlooBuzz, Hydro-Québec, Novum Solutions, Omnimed et Ericsson Canada. Le LIF dispose d’installations modernes au Pavillon principal de l’UQAC et a cumulé plus d’un million de dollars en fonds de recherche de toutes provenances depuis sa création.

Les étudiants ayant passé par le LIF se sont ensuite trouvé des emplois en informatique dans des organisations variées telles Behaviour Interactive, CGI, le Cégep de Chicoutimi, INT, PG Solutions, TLM et le Gouvernement du Québec.

Pour postuler

Les candidatures doivent être acheminées au professeur Sylvain Hallé (shalle@uqac.ca) avec le sujet «Offre de stage ou d’essai» avant le 1er juin 2016. Les demandes doivent inclure:

  • Un CV à jour
  • Un relevé de notes
  • Une lettre de motivation ainsi que les noms d’au moins deux répondants
  • Elles doivent également préciser le projet sur lequel le candidat souhaite postuler
Tags : , , , , ,

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Top