Malo MONIN

Computer science student at ENS Rennes.

M1 research project in DiverSE team (2024–2025).

A novel method to study the emergence of software vulnerabilities in code.

IRISA, Inria center at Rennes University (Rennes, France).

Year-long, one-day-a-week research project at IRISA in the DiverSE team, supervized by Djamel Eddine Khelladi and Arnaud Blouin.

Large codebases with many contributors inevitably fall victim to the emergence of bugs and vulnerabilities. The precise way they are progressively introduced is not yet fully understood. Prior works have focused mainly on small amounts of Java codebases because they rely on slow tools and require human intervention. We propose and evaluate a novel process for extracting from a Git commit history the changes that induce a fixing commit and mining patterns from those changes. For tracking down fix-inducing changes, we use HyperAST, a tool that far surpasses its predecessors both in terms of memory usage and in terms of execution time.

Project report.

L3 research internship in Cambium team (summer 2024).

Higher-level error messages for OCaml modules.

Inria Paris center (Paris, France).

Eight-week internship within the Cambium team, supervized by Florian Angeletti.

Small mistakes in OCaml modules often result in huge error messages that are both hard to read and uninformative, although technically correct. Indeed, some modules contain many thousands of items. Detecting typos in field names can greatly improve error messages by providing a few “did you mean”-like suggestions to the user instead of a long list of missing fields. In order to display those hints in reasonable time, we have explored a way to compute them efficiently using an ingenious combination of commonly known data structures and algorithms.

During this internship, we explored a way to improve OCaml module error messages by detecting spelling mistakes efficiently using an ingenious combination of algorithms and data structures. An implementation of this work in a fork of the OCaml compiler has been done, and will soon be proposed as a pull request on the main compiler branch.

Internship report.