Cours : INF 752 Techniques de vérification et de validation Trimestre : Automne 2015 Enseignant : Évariste Valéry BÉVO WANDJI



Documents pareils
Plan de cours. 1. Mise en contexte. 2. Place du cours dans le programme. 3. Descripteur du cours

CHARGÉE DE COURS : Catherine Pelletier, MBA, chargée de communication, Service des communications et des relations avec le milieu, FSA

Soutien technique en informatique

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

A.E.C. - Gestion des Applications, TI LEA.BW

Gauthier, Benoît (dir.) Recherche sociale : de la problématique à la collecte des données. Québec : Presses de l Université du Québec.

POL 1100 (Méthodes de recherche en politique) Hiver 2012 Local B-0305 Lundi de 13h00-14h30

Plan de cours. 2. Place du cours dans le programme Préalable : IFT-487 Base de données, ou expérience en conception d une base de données.

PLAN DE COURS DÉPARTEMENT ÉLECTRONIQUE INDUSTRIELLE. TITRE DU COURS Ordinateur Outil RA 1-4-2

MRK A : Méthodes d Analyse de Données en Marketing Automne 2010

ASR-2102 : Produits financiers: assurances et rentes

Model checking temporisé

ECVET GUIDE POUR LA MOBILITÉ

Guide du mémoire de fin d études

Plan de cours. Chiffriers et bases de données en gestion commerciale

PLAN DE COMMUNICATION TACTIQUE COMM Faculté des lettres : Département d'information et de communication PLAN DE COURS

Techniques de l informatique 420.AC. DEC intensif en informatique, option gestion de réseaux informatiques

Courriel : waguih.laoun@collegeahuntsic.qc.ca

ÉCOLE DES SCIENCES DE LA GESTION DE L UQAM MBA pour cadres spécialisés en gestion des villes et métropoles

GEP 360 Recherche terrain sur les sites de pouvoir (3 crédits) Été 2013

APPROCHE PAR COMPÉTENCES

PLAN DE COURS. Reconnaître le rôle des mathématiques ou de l informatique dans la société contemporaine (0011)

SIO-6029-Z1 : Gestion de projet et du changement

Baccalauréat universitaire (bachelor) en mathématiques et sciences informatiques

NUMÉRO (GR) TITRE DU COURS CYCLE

PLAN DE COURS. Description du cours. Approche pédagogique. Matériel pédagogique Gestion de portefeuille Automne 2005

HIVER 2004 MÉTHODOLOGIE DE LA RECHERCHE EN MARKETING MRK

PLAN DE COURS. Pierre G. Bergeron, La gestion dynamique : concepts, méthodes et applications, 3 e édition, Boucherville, Gaëtan Morin, 2001.

J ai des idées pourquoi plagier?! Campagne de sensibilisation sur le plagiat

COLLÈGE DE MAISONNEUVE

Plan d études. Traitement visuel 2D. Techniques d intégration multimédia HU. legault/2d/ 1-2-2

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Consignes pour les travaux d actualité Premier quadrimestre

Format de l avis d efficience

PROGRAMME DE MENTORAT

PLAN DE COURS CEGEP DU VIEUX-MONTRÉAL

Le travail collaboratif avec

Intelligence Artificielle et Robotique

Faculté des sciences de l administration Automne 2005

Section 3. Utilisation des ressources informatiques et du réseau de télécommunication

GIE-3100 : Gestion des ressources humaines en contexte interculturel

EXIN Agile Scrum Master

Technologie 9 e année (ébauche)

Conception des systèmes répartis

COLLÈGE D'ENSEIGNEMENT GÉNÉRAL ET PROFESSIONNEL BEAUCE-APPALACHES POLITIQUE RELATIVE À LA FORMATION GÉNÉRALE COMPLÉMENTAIRE

RÉSULTAT DISCIPLINAIRE RÈGLE DE RÉUSSITE DISCIPLINAIRE Programme de formation de l école québécoise Secondaire - 1 er cycle

Brique BDL Gestion de Projet Logiciel

Curriculum Vitae 1 er février 2008

Plan thérapeutique infirmier et stratégies pédagogiques

Nom de l application

du 23 février Le Département de l'economie,

Les technologies mobiles en classe : Encadrer leur utilisation pour soutenir l apprentissage des étudiants

PRÉSENTATION DU PROGRAMME. Le cœur à l école. PROGRAMME DE PRÉVENTION DE L ÉCHEC SCOLAIRE ET SOCIAL Volets préscolaire et 1 er cycle du primaire

RES 224 Architecture des applications Internet. Presentation de l unitéd enseignement

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

Dessin Technique GMEC1311. PROFESSEUR Gabriel Cormier, Ph.D. Bureau : 217G2 Tél : Courriel : gabriel.cormier@umoncton.ca

COLLOQUE ARY BORDES. Investir dans les ressources humaines pour reconstruire un système de santé performant. Bilkis Vissandjée, PhD 24 mars 2011

UNIVERSITE DE TOULON UFR FACULTE DE DROIT REGLEMENT D EXAMEN ANNEE 2012/2017 LICENCE DROIT MENTION DROIT GENERAL

Options, Futures et autres Produits Dérivés

Atelier de simulation APOLLO XIII

Exigences spécifiques en matière de maîtrise des langues étrangères

Notre programme de formations

Université de Lorraine Licence AES LIVRET DE STAGE LICENCE

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

4.12 Normes et modalités des services de garde

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Politique des stages. Direction des études

Stratégies de méthodologie

CEG4566/CSI4541 Conception de systèmes temps réel

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Pas d installations ou d équipement particuliers.

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

RÈGLEMENT NUMÉRO 12 RÈGLEMENT SUR L UTILISATION DES TECHNOLOGIES INFORMATIQUES ET INTERNET

>> TECHNIQUES DE COMPTABILITÉ ET DE GESTION 410.B0

UNIVERSITE DE BORDEAUX Référence GALAXIE : 94

ENVIRONNEMENT NUMÉRIQUE D APPRENTISSAGE TIC PÉDAGOGIE APPRENTISSAGE ENA

PLAN DE COURS. Département de sociologie Université du Québec à Montréal

UE5 Mise en situation professionnelle M1 et M2. Note de cadrage Master MEEF enseignement Mention second degré

La formation. La session Comment candidater? Le label Docteur pour l entreprise

Introduction à l ISO/IEC 17025:2005

SCIENCES - TECHNOLOGIES - SANTE. STIC : Sciences et Technologies de l Information et de la Communication. Parcours Informatique

Intégration pédagogique des TIC en formation professionnelle

P R E S E N T A T I O N E T E V A L U A T I O N P R O G R A M M E D E P R E V E N T I O N «P A R L E R»

Concours de recrutement de professeurs de français - Genève Note d information

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Les formations en génie logiciel

Évaluation des logiciels et autres réalisations

Annule : Politique relative à l utilisation des technologies de l information de la Commission scolaire. 1. TITRE CONTEXTE...

Carbone Des occasions d'affaires pour les entreprises québécoises

PLAN DE COURS. CRM 142 Internet et multimédia 1 Hiver 2015

sous réserve de validation des modifications DROIT ECONOMIE GESTION SCIENCES DU MANAGEMENT FINANCE

Survie de fin de session

Cours d été Aux parents et élèves de 5 e secondaire

GENERALITES II. ORGANISATION ET ORGANES DE L EXAMEN III. INSCRIPTION A L EXAMEN, FRAIS ET CONDITIONS D ADMISSION IV. CONTENU ET MATIERE DE L EXAMEN

h + 120h 555 h

Présentation des éléments constitutifs d un plan de relève et de transmission d une entreprise

Planification financière

Transcription:

Faculté des sciences Centre de formation en technologies de l information Cours : INF 752 Techniques de vérification et de validation Trimestre : Automne 2015 Enseignant : Évariste Valéry BÉVO WANDJI 1. Mise en contexte La vérification des systèmes parallèles ou répartis/distribués demeure encore aujourd hui un défi majeur pour l industrie du développement logiciel. Or de tels systèmes, constituées de parties qui fonctionnent concurremment, mais avec des liens de communication entre elles, sont monnaie courante aujourd hui (systèmes de télécommunication, applications Internet, jeux, les logiciels de contrôle de robots mobiles et autres). La conception et la réalisation de tels systèmes donnent lieu à des types d anomalies qu on ne rencontre pas dans des systèmes séquentiels/centralisés conventionnels et qui seraient difficiles à détecter sans outil approprié (interblocage, famine, vivacité et autres). Dans ce contexte, plusieurs de travaux de recherche et développement ont été et sont encore consacrés au développement de techniques et d outils permettant la vérification et validation de tels systèmes (garantir qu ils fonctionneraient correctement quels que soient les scénarios envisagés lors de l exécution). Dans ce cours, il est question d apprivoiser une de ces techniques de vérification de systèmes parallèles ou répartis/distribués : la «vérification de modèles» (ou «modelchecking» en anglais). Avec cette technique, pour vérifier un système, on le modélise d abord à l aide de transitions dans un espace d états (c'est-à-dire les états possibles du système). Ensuite, on modélise les propriétés du système qu on veut vérifier (par exemple, le fait que toute perte de message sera détectée ou la propriété que les processus parallèles du système ne se bloquent pas mutuellement et indéfiniment). Ensuite, on utilise un logiciel de vérification qui prend en entrée le modèle du système et le modèle des propriétés et donne en sortie des traces d exécution du modèle qui violent la propriété, s il y en a. S il n en y a pas, c est que la conception du système (via le model) est correcte. La «vérification de modèles» étant une technique de vérification/validation parmi tant d autres, la première partie du cours est consacrée à une sorte de mise en contexte, avec un survol des principales techniques de vérification et validation en génie logiciel, et un examen un peu plus détaillé de quelques techniques classiques de vérification et validation (revues et tests). Le cours se veut à la fois théorique est pratique. Sur le plan théorique, la vérification de modèles est fondée sur des théories bien établies qui seront exposées dans ce cours. Sur le INF 752 Automne 2015 Page 1

plan pratique, des algorithmes basés sur ces théories ont été développés et intégrés dans des logiciels de vérification de domaine public ou commercial. Un de ces logiciels (Spin) sera utilisé dans le cadre d un projet simple. 2. Place du cours dans le programme Qu il s agisse du programme de deuxième cycle en génie logiciel ou encore du programme de maîtrise en génie logiciel incluant un cheminement de type cours en technologies de l information, le cours permettra à l étudiant ou l étudiante d'approfondir ses connaissances en matière de vérification/validation de systèmes logiciels en général, vérification de systèmes parallèles en particulier (utilisation de la technique «vérification de modèles» (ou «model-checking» en anglais)). Le cours est conçu de façon à intégrer des étudiants ou des étudiantes ayant différents niveaux de connaissances et d expérience en matière de développement logiciel, en fournissant un cadre de référence uniforme pour l étude des techniques de vérification et de validation. Il est toutefois supposé que les étudiantes ou les étudiants sont familiers avec le processus de développement logiciel. 3. Objectifs généraux (Selon l annuaire des activités pédagogiques, disponible sur le site de l Université : http://www.usherbrooke.ca/programmes/cours/inf/inf752.htm) Cette activité pédagogique vise à développer chez l étudiante ou l étudiant les aptitudes suivantes : identification et utilisation des techniques de vérification et de validation; modélisation d un système logiciel ou d un protocole à l aide de transitions dans un espace d états ; modélisation des propriétés d un système logiciel qu on veut vérifier ; utilisation d un outil de vérification de modèles. 4. Objectifs spécifiques À la fin de cette activité pédagogique, l étudiante ou l étudiant sera capable de : classer et comparer les techniques de vérification et de validation; planifier et réaliser des tests ou des revues formelles classiques; expliquer en grandes lignes en quoi consistent les problèmes de vérification de programmes et tests de conformité; analyser un texte scientifique portant sur les techniques de vérification et validation; modéliser des systèmes/protocoles en langage Promela et les simuler à l aide SPIN; utiliser les automates sur mots infinis pour exprimer des propriétés de systèmes; INF 752 Automne 2015 Page 2

écrire, lire et comprendre des formules LTL (une alternative pour la spécification des propriétés de systèmes). utiliser SPIN et Promela pour vérifier des propriétés de systèmes; 5. Planification hebdomadaire Semaine Contenu du cours Travaux Poids Présentation du contenu du cours et entente d évaluation 1 Introduction à la vérification et validation des systèmes logiciels : terminologie; principes et techniques de vérification et validation. 2 Vérification et validation : les tests 3 Vérification et validation : les tests 4 Vérification et validation : les revues 5 Langage Promela 6 SPIN - le simulateur : Simulation d un programme Promela avec SPIN Petite révision 7 Examen de mi-session Article à résumer (proposition d un article) OU Plan détaillé de test à produire (proposition d une spécification) Article ou plan de test (remise des travaux au prof.) Examen de mi-session Projet de session (énoncé) 15% 20% 8 9 10 11 Logique propositionnelle & des prédicats : Les bases de la logique propositionnelle & des prédicats Spécifier avec des formules de la logique Automates et Promela (spécification de propriétés) : Automate sur mots infinis Modèle de Kripke La sémantique de Promela Automates et Promela (spécification de propriétés) : Vérification basique avec SPIN Utilisation d automates LTL (spécification de propriétés) : Spécifier en LTL Vérification avec SPIN INF 752 Automne 2015 Page 3

LTL (spécification de propriétés) : 12 Spécifier en LTL Vérification avec SPIN 13 Élaboration des projets / Présentation d une technique informelle de vérification et validation 14 Récapitulatif du cours et conclusion 15 Examen final Examen final Projet de session (remise des travaux au professeur) 40% 25% 6. Approche pédagogique préconisée L approche pédagogique qui permettra d atteindre les objectifs visés par le cours est la suivante : un enseignement hebdomadaire sous la forme d'un cours magistral, avec exemples et discussions en classe pour une période de trois heures. L étudiant ou l étudiante devra compléter sa formation par des travaux individuels proposés et des lectures personnelles suggérées. Le cours pourra être adapté selon les besoins des étudiants et étudiantes, si nécessaire. 7. Évaluation de l apprentissage Description sommaire Travail No1 (travail individuel) résumé d un article scientifique portant sur les techniques de vérification et de validation OU production d un plan détaillé de test d un module de système logiciel à partir de ses spécifications Pondération 15% Pondération individuelle Pondération de groupe Projet de session (par équipe de 3 au maximum) Le projet consistera à : a) trouver un système parallèle ou distribué à vérifier (par exemple un protocole de communication) b) modéliser ce système en Promela; c) modéliser des propriétés du système en Promela et en LTL et les vérifier à l aide de SPIN; 25% INF 752 Automne 2015 Page 4

Examen de mi-session : travail individuel 20% questions de cours et exercices Examen final : travail individuel L'examen sera constitué de questions techniques (par exemple, écrire un petit programme Promela qui modélise un processus donné; décrire le comportement de processus Promela 40% donné; ou donner une formule LTL pour une propriété quelconque) et/ou théorique (par exemple, des questions cherchant à vérifier si vous avez bien compris les différences fondamentales entre les différentes approches de V&V). Notez bien : Pour tous les travaux, un rapport classique de TP (documents papier et électronique) doit être remis au professeur. La qualité du français compte pour 5% de la note. La pénalité pour le retard dans la remise d un travail est de 5% de la note par jour ouvrable de retard. Toute modification reliée à une date de remise doit avoir été acceptée par le groupe et la direction du CeFTI dans un délai plus grand qu une semaine avant l échéance de la remise. 8. Plagiat Un document dont le texte et la structure se rapportent à des textes intégraux tirés d'un livre, d'une publication scientifique ou même d'un site Internet, doit être référencé adéquatement. Lors de la correction de tout travail individuel ou de groupe une attention spéciale sera portée au plagiat, défini dans le Règlement des études comme "le fait, dans une activité pédagogique évaluée, de faire passer indûment pour siens des passages ou des idées tirés de l œuvre d'autrui." Le cas échéant, le plagiat est un délit qui contrevient à l'article 8.1.2 du Règlement des études : "tout acte ou manœuvre visant à tromper quant au rendement scolaire ou quant à la réussite d'une exigence relative à une activité pédagogique.". À titre de sanction disciplinaire, les mesures suivantes peuvent être imposées: a)l'obligation de reprendre un travail, un examen ou une activité pédagogique et b) l'attribution de la note E ou de la note 0 pour un travail, un examen ou une activité évaluée. Tout travail suspecté de plagiat sera référé à la vice-doyenne à l'enseignement de la Faculté des sciences. 9. Adresse électronique pour remise des travaux evariste.valery.bevo.wandji@usherbrooke.ca INF 752 Automne 2015 Page 5

10. Bibliographie Manuel Obligatoire [1] Moti Ben-Ari, Principles of Spin Model Checker, Springer Verlag, Jan. 2008 Autres références [1] Galin, D., Quality Software Assurance, Pearson Addison-Wesley, 2004 [2] Claude Y. Laporte, Alain April - L assurance qualité logicielle 2 : processus de support, LAVOISIER, Paris, 2011, ISBN 978-2-7462-3222-8. [3] Claude Y. Laporte, Alain April - L assurance qualité logicielle 1 : concepts de base, LAVOISIER, Paris, 2011, ISBN 978-2-7462-3147-4. [4] Schulmeyer, G., Verification & Validation of Modern Software Intensive Systems, Prentice Hall, 2000 [5] Cristel Baier, Joost-Pieter Katoen, Kim Larsen, Principles of Model Checking, MIT Press, May 2008. [6] Gerard J. Holzmann, The Spin Model Checker: Primer and Reference Manual, Addison-Wesley, 2004. [7] Gerald D. Everett, Raymond McLeod, Software testing: testing across the entire software development life cycle, Wiley-IEEE, 2007 [8] Ronald A. RADICE, High Quality Low Cost Software Inspections, Paradoxicon Pub, 2002 [9] Karl Wiegers, Peer Reviews in Software - A Practical Guide, Addison-Wesley, 2001 [10] Dustin, Elfriede, Effective Software Testing. Addison Wesley, 2002. Logiciel SPIN http://spinroot.com/ Logiciel UPPAAL Uppaal est un environnement intégré pour la vérification et la modélisation de système en temps réel tels que les réseaux d automates temporels étendus avec des types de données. Cet outil a été développé en collaboration entre le groupe Design and Analysis of Real- Time Systems de l Université d Uppsala en Suède et le groupe Basic Research in Computer Science à l Université d Aalborg au Danemark. http://www.uppaal.com/ Logiciel CADP CADP est un environnement pour la vérification de programmes. Il possède de nombreux atouts et est très flexible. Il est possible d utiliser de nombreux mécanismes pour vérifier des propriétés : logique temporelle; bisimulation; etc. Il a été développé par l INRIA Rhône-Alpes en France. http://www.inrialpes.fr/vasy/cadp Testing tools http://www.softwareqatest.com/qattls1.html INF 752 Automne 2015 Page 6