HOME TRAINING WORK DOCUMENTS

Solène Mirliaz

Computer Scientist

Training


2016-2019 Master in Research and Computer Science innovation
During this three years, one was dedicated to abroad internships (Prélab).
École Normale Supérieure de Rennes - Université de Rennes 1
2015-2016 Bachelor in Research and Computer Science innovation
École Normale Supérieure de Rennes - Université de Rennes 1

Theory and practice of Computer Science.
With Distinction

2013-2015 Preparatory classes (MPSI-MP)
Lycée Michel Montaigne, Bordeaux
2013 Scientific Baccalaureate
Lycée François Mauriac, Bordeaux

With Distinction.

Internships


Jan. - Jun. 2019 Internship of Master
Irisa/Inria, Rennes, France

Supervisor: David Pichardie

Jan. - Jun. 2018 Internship of Prélab
Chalmers University, Göteborg, Sweden

The goal of this internship was to make Simplicity, a smart-contract language used for blockchain, a richer language. To achieve that, we connect Simplicity’s primitives with a categorical model. This worked was made in Haskell.

Supervisor: Alejandro Russo

Sept. - Dec. 2017 Internship of Prélab
Saarland Informatics Campus, Saarbrücken, Germany

Static Analysis for Temporal Safety

Abstract: The explicit memory management of low-level languages like C makes programs vulnerable to programming errors. Temporal memory errors, such as double free or dangling pointer are a source of security breaches. These errors have undefined behavior, which makes it a hard task to find and debug them. Common solutions include testing in a controlled environment (e.g. DieHard), which cannot detect all errors, and instrumentation of the code to add dynamic checks (SafeC, CCured), which usually induces a crippling overhead. To reduce the number of instructions that need to be instrumented, static analysis can be used to identify the instructions that are guaranteed to be safe.

Supervisor: Sebastian Hack

May - Aug. 2017 Internship of First Year of Master
UFMG Compilers Lab, Belo Horizonte, Brazil

Automatic Stub Generation for C functions.

In order to evaluate the empirical complexity of a C function in a program, it can be necessary to isolate it and generate random inputs for it. However these input must not provoke error such as out-of-bound memory accesses.
During this internship, I modelize the dependence between inputs and arrays with a graph and resolve the dependences thus obtained to determine ranges of possible value for each input variables.

Supervisor: Fernando Magno Quintão Pereira

May - July 2016 Internship of Bachelor
INSERM Stem Cell and Brain Research Institute, Lyon

Situation Model: a narrative structure for human-robot interaction.

The internship involved designing a model to represent a narrative event. This event could then be told by the iCub robot, which was already able to form sentences. The code of this project was mainly in C++.

Supervisor: Peter Ford Dominey

Download Report (in French)

Skills


Judging your own level is always delicate and the more you learn, the more you realize how little you knew. This scale is just a subjective indication of how confortable I am with each of this subject.

Novice Already used but only basic concepts

Apprentice Good understanding of basic concepts

Competent Understand advanced concepts

C

C++

Latex

OCaml

Haskell

Python

Ruby

Scala

Isabelle/HOL