v2.11.0 (5976)

Programme d'approfondissement - CSC_52071_EP : Foundations in software verification

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 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 Programmes d'échange internationaux

Vos modalités d'acquisition :

TDs : 20%

Projet : 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 : 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