1. Alternance
  2. NFP120 : Spécification logique et validation des programmes séquentiels (6 ECTS)

NFP120 : Spécification logique et validation des programmes séquentiels (6 ECTS)

Pré-requis

Le cours présente progressivement toutes les connaissances requises, néanmoins il est souhaitable d'avoir des notions de logique (propositionnelle, des prédicats). L'UE NFP108 est par exemple une très bonne introduction.

Objectifs

Donner les principes fondamentaux d'une programmation et d'une documentation rigoureuse.
Montrer comment la documentation formelle permet la validation des logiciels.
Remarque: Ce cours comportait précédemment une longue introduction à Prolog, cet aspect du cours a été retiré.

Contenu

Programmation et logique
 

  • sémantique des formules logique
  • méthode de déduction logique: tableaux sémantiques
  • sémantique des programmes
  • méthode de déduction sur les programme: preuves de Hoare, invariants de boucles
  • Application aux programmes Java ou C (assertions, outils de validation)

Modalités de validation

Une évaluation en contrôle continu est conseillée (TP, QCMs...). Un examen final sur table est obligatoire, avec un coefficient minimal de 50% de la note finale.

Compétences visées

Maitrise de techniques formelles de spécification et de validation de programmes.

Formations

Cette unité d'enseignement est dispensée dans les formations suivantes :