Presentation
You may find on this page projects I've done in various contexts along my studies. They are antichronologically ordered.
M1 Project
This year I'm working with Timothée Haudebourg and Thomas Genet to help into implementing a lightweight formal verification tool for OCaml. This tool relies on tree automaton and term rewriting systems. It aims at testing programs where the benchmark takes a regular expression as input. It would allow to formally test an infinite number of cases at once, but within a test, thus the name: "lightweight formal verification tool".
- Links:
- Git link
Research internship
Last summer I did my first research internship, it took place among the SUMO team at INRIA in Rennes. I worked there on an algorithm for Petri net synthesis in order to make it synthesizing simpler Petri nets.
- Links:
- Internship report (french only)
Lisp interpreter
Within the programmation module, I studied Lisp, and with a team of three, we coded a Lisp interpreter in C++. Chosing C++ as a language to code an interpreter for such a functionnal language was a very good experience to distinguish languages paradigms, and their semantics. The result itself is pretty simple, its most original feature is to suggest corrections to the user if encountering unknown variable.
- Links:
- Project report (french only)
- Project archive (C++)
Other projects: raytracing et Delaunay triangulation
Still within this programmation module, me and three of my classmates developped a lightweight image synthesis engine, based on raytracing. It implements a few optical phenomenon such as reflection.
As the first project of this programmation module, we have implemented Delaunay triangulation for sets of points of the 2D plan.
- Links:
- raytracing project report (french only)
- triangulation project report (french only)