مخطط الموضوع

  • Fiche du module

    • Chargé du cours : Tarek Boutefara (t_boutefara@univ-jijel.dz)
    • Coefficient : 2
    • Crédits : 4
    • Volume horaire présentiel :
      • une sénace du cours (1h30)
      • une séance TD (1h30)
    • Volume horaire de travail personnel requis/semaine : 1h00
    • Modalité d'évaluation :
      • Examen écrit : 60%
      • Evaluation continue : 40%
        • Devoirs
        • Assiduité
        • Interrogation

  • Objectifs d'apprentissage

    L'objectif de ce module est de présenter quelques approches formelles pour la spécification des langages de programmation. Ces méthodes sont utilisées pour prouver des programmes, c'est-à-dire, pour démontrer sa validité.

    Contrairement aux méthodes de test unitaire, les méthodes formelles s'appuient sur des logiques non-classiques et sur le lambda-calcul (les systèmes formels) pour spécifier la sémantique d'un langage de programmation ce qui permet, par la suite, d'écrire une "preuve" pour un programme écrit dans le langage en question.


  • Pré-requis

    Avant de pouvoir étudier les preuves des programmes en utilisant la sémantique formelle, il est important de se rappeler des notions de base suivantes :

    • La notion du logiciel (et de programme) comme étant l'objet principal résultant d'un processus Génie Logiciel.
    • La notion du langage de programmation. Cette notion est elle-même dépend de plusieurs autres notions comme : paradigme de programmation, interprétation/compilation et instruction.
    • L'architecture de Van neu Mann et la Machine de Turing. Ce qui nous conduit à rappeler la notion de Calculabilité.
    • Logique mathématique classique.
  • Plan du cours

    • Initiation au Lambda-Calcul,
    • Logique classique et Intuitionniste,
    • Notion de Sémantique,
    • Expression formelle de sémantiques.
  • Chapitre 00 : Rappel

  • Chapitre 01 : Systèmes Formels et Lambda Calcul

  • Chapitre 02 : Logique Constructive et Logique de Hoare

  • Chapitre 03 : Sémantique des Langages de Programmation

  • Chapitre 04 : Expression formelle de la sémantique

  • Références

  • Examens et Corrigés