Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sauzeauyannis/ls-projet

An interpreter for an imperative language and a Hoare logic prover
https://github.com/sauzeauyannis/ls-projet

coq hoare-logic imperative-language interpreter ocaml prover school-project

Last synced: about 2 months ago
JSON representation

An interpreter for an imperative language and a Hoare logic prover

Awesome Lists containing this project

README

        

# LS-Projet

##### Table of Contents
* [Français](#fr)
* [Présentation](#fr_pr)
* [Utilisation](#fr_ut)
* [Compétences acquises](#fr_cp)
* [Résultat](#fr_rs)
* [English](#en)
* [Presentation](#en_pr)
* [Use](#en_u)
* [Skills acquired](#en_sk)
* [Result](#en_rs)

## Français

### Présentation

Ce projet a été effectué en quatrième année du [CMI Informatique](http://formations.univ-poitiers.fr/fr/index/autre-diplome-niveau-master-AM/autre-diplome-niveau-master-AM/cmi-informatique-JD2XQGVY.html) à l'[UFR SFA Université de Poitiers](https://sfa.univ-poitiers.fr/) dans le cadre de l'enseignement [Logiciels sûrs](https://formations.univ-poitiers.fr/fr/index/autre-diplome-niveau-master-AM/autre-diplome-niveau-master-AM/cmi-informatique-JD2XQGVY/cmi-parcours-conception-logicielle-K56KZ5KL/specialite-s8-K5C80CME/ue-a-choix-s2-KVWH4P9T/logiciels-surs-KZSZWASS.html).

Ce projet a été développé en trinôme avec l'IDE [Visual Studio Code](https://code.visualstudio.com/).

### Utilisation

Notre code se trouve dans le fichier [projet.ml](https://github.com/SauzeauYannis/LS-Projet/blob/main/projet.ml), ce fichier peut être interprété pas à pas ou bien être exécuté.

Pour exécuter notre projet, il suffit d'utiliser la commande `make` qui compile les sources, vous pouvez ensuite lancer le projet avec la commande `./a.out`.

### Compétences acquises

* Vérification formelle de logiciels
* Introduction à l’assistant de preuves Coq
* Validation et vérification d’un programme
* Preuve de propriétés d’un programme
* Limites des techniques de tests
* Vérification par la preuve formelle de programmes
* Périmètre de la vérification formelle
* Notions d’équivalence de programmes et de transformations de programmes
* Logique de Hoare
* Triplets de Hoare
* Assertions
* Décoration de programmes
* Invariants de boucles
* Précondition la plus faible

### Résultat

Nous avons obtenu la note de 20/20.

## English

### Presentation

This project was done in the fourth year of the [CMI Computer Science](http://formations.univ-poitiers.fr/fr/index/autre-diplome-niveau-master-AM/autre-diplome-niveau-master-AM/cmi-informatique-JD2XQGVY.html) at the [UFR SFA Université de Poitiers](https://sfa.univ-poitiers.fr/) in the context of the teaching [Secure software](https://formations.univ-poitiers.fr/fr/index/autre-diplome-niveau-master-AM/autre-diplome-niveau-master-AM/cmi-informatique-JD2XQGVY/cmi-parcours-conception-logicielle-K56KZ5KL/specialite-s8-K5C80CME/ue-a-choix-s2-KVWH4P9T/logiciels-surs-KZSZWASS.html).

This project was developed in trinomial with the IDE [Visual Studio Code](https://code.visualstudio.com/).

### Use

Our code is in the file [project.ml](https://github.com/SauzeauYannis/LS-Projet/blob/main/projet.ml), this file can be interpreted step by step or executed.

To execute our project, you just have to use the command `make` which compiles the sources, you can then launch the project with the command `./a.out`.

### Skills acquired

* Formal software verification
* Introduction to the Coq proof assistant
* Validation and verification of a program
* Proof of program properties
* Limits of testing techniques
* Verification by formal proof of programs
* Perimeter of formal verification
* Notions of program equivalence and program transformations
* Hoare logic
* Hoare's triplets
* Assertions
* Decoration of programs
* Loop invariants
* Weakest precondition

### Result

We obtained a score of 20/20.