PDF
Implementation of a Continuous Integration platform for space software

Spécialité

Génie logiciel

Niveau d'étude

Bac+4/5

Formation

Ingenieur/Master

Unité d'accueil

Candidature avant le

07/06/2017

Durée

5 mois

Poursuite possible en thèse

non

Contact

CHATEAU Frederic
+33 1 69 08 57 09

Autre lien

Résumé/Summary
Sujet détaillé/Full description
SVOM est un projet franco-chinois pour le développement d'un satellite scientifique d'observation des sursauts gamma (GRB).
Au sein de ce projet, le CEA développe le software et le firmware embarqués du calculateur UGTS de l'instrument français ECLAIRs, en charge de la détection des GRB en temps réel et de l'émission d'alertes.

Dans le cadre de ce projet, nous proposons un stage ingénieur orienté vers la mise en place des outils de support à l'assurance qualité pour le logiciel embarqué de l'UGTS.
L'objectif principal consiste à développer, tester et déployer une plateforme d'Intégration Continue pour les activités de développement software.
Cette plateforme devra effectuer un certain nombre de tâches automatiquement :
* construction des binaires à partir des sources
* exécution des tests (unitaires, intégration) sur PC et sur cible embarquée
* calcul du taux de couverture des tests
* calcul des métriques "produit" (ex: complexité cyclomatique, couplage, cohésion, taille des binaires, etc.) à l'aide de l'outil Parasoft C++ Test
* vérification du standard de codage (dérivé de MISRA C++ 2008) avec Parasoft C++ Test
* génération de la documentation Doxygen
* présentation des résultats (métriques, couverture, warnings, etc.) par build, dans des tableaux, diagrammes et/ou courbes de tendance.
* envoi de notifications en cas de non-conformités/régressions
* archivage des binaires, rapports, etc.

En fonction du temps disponible, d'autres thématiques en lien avec l'assurance qualité pourront être abordées:
* calcul et présentation des métriques sur le process de développement, et sur le design (couverture des spécifications, des composants, des tests validation) défini dans l'outil Polarion
* génération des matrices de traçabilité à partir de la base de données Polarion
* génération de rapports qualité pour les revues logicielles
* autre...

Les technologies utilisées (ou susceptibles de l'être) sont: Linux, Git, Parasoft C++ Test, Polarion, Jenkins, Docker, Shell, Perl, Python, Java, C++, Makefile, Autotools, g++, gcov, Doxygen, XML, XSLT, HTML, CSS
Il serait souhaitable que l'étudiant soit à l'aise avec Linux, les scripts Shell, XML, et avec un gestionnaire de version (Git, SVN, ...) au minimum, et qu'il dispose d'un bon niveau d'anglais à l'écrit (documentation en anglais).
Le stage se déroulera au sein du Laboratoire d'Ingénierie Logicielle pour les Applications Scientifiques (LILAS) de l'IRFU (Institut de Recherche sur les lois Fondamentales de l'Univers), sur le centre CEA de Saclay.
SVOM is a France-China project for the development of a scientific satellite for the observation of Gamma-Ray Bursts (GRB).
Inside this project, CEA is developing the embedded software and firmware of the "UGTS" data processing unit of the "ECLAIRs" french instrument, which is in charge of the real-time detection of GRB and alerts broadcasting.

The UGTS team seeks an intern who could help setting up tools for the quality assurance of the UGTS embedded software.
The main objective would be to develop, test and deploy a Continuous Integration platform for software development activities.
This platform shall carry out a number of tasks automatically:
* build of binaries from sources
* execution of tests (unit, integration) on Linux desktop and on embedded target
* computation of the coverage level of tests
* computation of "product" metrics (eg: cyclomatic complexity, coupling, cohesion, size of binaries, etc.) using Parasoft C++ Test
* checking of the coding standard (derived from MISRA C++ 2008) with Parasoft C++ Test
* generation of the doxygen documentation
* reporting of the results (metrics, coverage, warnings, etc.) by build, using tables, diagrams and/or trend charts
* notifications in case of non-conformities/regressions
* archiving of binaries, reports, etc.

According to the available time, other thematics related to quality assurance could be approached:
* computation and reporting of metrics about the development process and the design (coverage of specifications, components, validation test cases) defined in the Polarion tool.
* generation of traceability matrices from the Polarion database
* generation of quality reports for software reviews
* other...

The technologies used (or likely to be) are: Linux, Git, Parasoft C++ Test, Polarion, Jenkins, Docker, Shell, Perl, Python, Java, C++, Makefile, Autotools, g++, gcov, Doxygen, XML, XSLT, HTML, CSS
It is advisable that the student is comfortable with Linux, Shell scripts, XML, and a software version control tool (Git, SVN, ...) at least.
The internship will take place inside the laboratory of software engineering for scientific applications (LILAS) of IRFU (Institute of Research into the Fundamental laws of the Universe), on the site of Saclay (France).
Mots clés/Keywords
Génie Logiciel, Tests, Intégration Continue, Systèmes Embarqués, Systèmes Informatiques, Web, Qualité, Assurance Produit
Software Engineering, Tests, Continuous Integration, Embedded systems, IT, Web, Quality, Product Assurance
Compétences/Skills
Linux, Git, Jenkins, Shell, Makefile, XML, HTML
Linux, Git, Jenkins, Shell, Makefile, XML, HTML

 

Retour en haut