Le raffinement est une méthode pour dériver des programmes corrects à partir de spécifications. Un langage de types expressif est un autre moyen d'assurer la correction des programmes. Nous proposons une extension du langage ML permettant de vérifier la correction des programmes ML en combinant ces deux approches : les programmes peuvent être construits par raffinements successifs de spécifications, la correction de chaque étape étant garantie par un système de types. Au niveau syntaxique, notre extension ajoute les types de base aux expressions, introduisant de ce fait du sous-déterminisme et des types dépendants. Elle intègre également une nouvelle construction, appelée application démoniaque, de manière à augmenter la puissance du langag...
Nous présentons d'abord un système théorique permettant la preuve de programmes d'ordre supérieur av...
La programmation modulaire est un principe de développement consistant à séparer une application en ...
Exprimer le parallélisme dans la programmation de manière simple et performante est un défi auquel l...
Au cours des dernières années, les assistants de preuves on fait des progrès considérables et ont at...
La réutilisation est un moyen permettant d'améliorer la qualité et la productivité des logiciels. Ce...
Les ornements fournissent un moyen de définir des transformations de définitions de types de données...
COUSINEAU GUY (Président), GOLDBERG BENJAMIN (Rapporteur), MAUNY MICHEL (Rapporteur), QUEINNEC CHRIS...
Prouver l’équivalence de programmes écrits dans un langage fonctionnel avec références est un problè...
Lustre est un langage de programmation spécialement conçu pour la réalisation des systèmes réactifs....
Soit un réseau de machines exécutant des programmes ML qui s'échangent des données. Comment peut-on ...
L’analyse statique des programmes est une technique de vérification qui permet de statuer si un prog...
La sémantique des langages de programmation donne la signification des constructions de programme. L...
Directeur de thèse : Didier Rémy (INRIA Rocquencourt) Rapporteur : Benjamin Pierce (Université de Pe...
Dedukti est un cadre logique dans lequel l’utilisateur encode la théorie qu’il souhaite utiliser à l...
The polymorphic type discipline, as in the ML language, fits well within purely applicative language...
Nous présentons d'abord un système théorique permettant la preuve de programmes d'ordre supérieur av...
La programmation modulaire est un principe de développement consistant à séparer une application en ...
Exprimer le parallélisme dans la programmation de manière simple et performante est un défi auquel l...
Au cours des dernières années, les assistants de preuves on fait des progrès considérables et ont at...
La réutilisation est un moyen permettant d'améliorer la qualité et la productivité des logiciels. Ce...
Les ornements fournissent un moyen de définir des transformations de définitions de types de données...
COUSINEAU GUY (Président), GOLDBERG BENJAMIN (Rapporteur), MAUNY MICHEL (Rapporteur), QUEINNEC CHRIS...
Prouver l’équivalence de programmes écrits dans un langage fonctionnel avec références est un problè...
Lustre est un langage de programmation spécialement conçu pour la réalisation des systèmes réactifs....
Soit un réseau de machines exécutant des programmes ML qui s'échangent des données. Comment peut-on ...
L’analyse statique des programmes est une technique de vérification qui permet de statuer si un prog...
La sémantique des langages de programmation donne la signification des constructions de programme. L...
Directeur de thèse : Didier Rémy (INRIA Rocquencourt) Rapporteur : Benjamin Pierce (Université de Pe...
Dedukti est un cadre logique dans lequel l’utilisateur encode la théorie qu’il souhaite utiliser à l...
The polymorphic type discipline, as in the ML language, fits well within purely applicative language...
Nous présentons d'abord un système théorique permettant la preuve de programmes d'ordre supérieur av...
La programmation modulaire est un principe de développement consistant à séparer une application en ...
Exprimer le parallélisme dans la programmation de manière simple et performante est un défi auquel l...