v2.11.0 (6131)

Programme d'approfondissement - CSC_52071_EP : Fondements de la vérification des logiciels

Domaine > Informatique.

Descriptif

Dans ce cours, nous apprenons les bases du raisonnement formel sur les programmes avec l’assistant de preuve Rocq. Nous spécifions formellement les langages de programmation, c’est-à-dire leur syntaxe et leur sémantique opérationnelle. Nous formulons également des spécifications de programmes et prouvons que les programmes donnés satisfont à ces spécifications.

 

Ce cours s'appuie sur la série Software Foundations.

Objectifs pédagogiques

  • Utiliser des outils formels pour analyser et vérifier la correction des programmes.
  • Acquérir une compréhension solide de la logique de Hoare et de la sémantique opérationnelle.
  • Développer des compétences pour la recherche dans les domaines liés à la logique de programmation et à la théorie des langages.

Pour les étudiants du diplôme M1 MPRI - Fondements de l'Informatique

CSC_51051_EP

Pour les étudiants du diplôme Programmes d'échange internationaux

CSC_51051_EP

Pour les étudiants du diplôme Titre d’Ingénieur diplômé de l’École polytechnique

CSC_51051_EP

Format des notes

Numérique sur 20

Littérale/grade réduit

Pour les étudiants du diplôme M1 MPRI - Fondements de l'Informatique

Vos modalités d'acquisition :

TDs : 20%

Projet (avec rapport et soutenance incluant quelques questions de cours) : 80%

Le rattrapage est autorisé (Note de rattrapage conservée)
    L'UE est acquise si Note finale >= 10
    • Crédits ECTS acquis : 5 ECTS

    Pour les étudiants du diplôme Programmes d'échange internationaux

    Vos modalités d'acquisition :

    TDs : 20%

    Projet (avec rapport et soutenance incluant quelques questions de cours) : 80%

    Pour les étudiants du diplôme Titre d’Ingénieur diplômé de l’École polytechnique

    Vos modalités d'acquisition :

    TDs : 20%

    Projet (avec rapport et soutenance incluant quelques questions de cours) : 80%

    Le rattrapage est autorisé (Note de rattrapage conservée)
      L'UE est acquise si note finale transposée >= C
      • Crédits ECTS acquis : 5 ECTS

      La note obtenue rentre dans le calcul de votre GPA.

      Programme détaillé

       

      1. Programmation fonctionnelle en Coq, preuve par induction

      2. Preuve par induction, travail avec des données structurées

      3. Polymorphisme et fonctions d’ordre supérieur

      4. Tactiques dans Coq

      5. Logique dans Coq, propositions définies inductivement

      6. Applications totales et partielles, programmes impératifs simples

      7. Équivalence de programmes

      8. Logique de Hoare

      9. Sémantique opérationnelle à petits pas

       

      Veuillez patienter