diff --git a/_jobs/2022-03-28-machine-learning-for-improving-formal-verification-of-code.md b/_jobs/2022-03-28-machine-learning-for-improving-formal-verification-of-code.md
new file mode 100644
index 0000000000000000000000000000000000000000..3c24e10225159d0e4a80bbd945aa2d45d65b981c
--- /dev/null
+++ b/_jobs/2022-03-28-machine-learning-for-improving-formal-verification-of-code.md
@@ -0,0 +1,114 @@
+---
+layout: job
+title: PhD Position at CEA LIST - LSL
+short_title: PhD Position
+short: Machine Learning for Improving Formal Verification of Code
+date: 28-03-2022
+filled: false
+keywords: machine learning, graph neural networks, code representation learning, formal methods
+---
+
+# {{ page.short }}
+
+[Full description](2022-03-28-machine-learning-for-improving-formal-verification-of-code.pdf)
+
+#### Context: CEA LIST, Software Security and Reliability Lab
+
+[CEA List](http://www-list.cea.fr/en/)'s offices are located at the heart of
+Université Paris-Saclay, the largest European cluster of public and private
+research. Within [CEA List](http://www-list.cea.fr/en/), the Software Safety and
+Security Lab has an ambitious goal: help designers, developers and validation
+experts ship high-confidence systems and software.
+
+Systems in our surroundings are getting more and more complex, and we have built
+a reputation for efficiently using formal reasoning to demonstrate their
+trustworthiness through the design of methods and tools to ensure that
+real-world systems can comply with the highest safety and security standards. In
+doing so, we get to interact with the most creative people in academia and the
+industry, worldwide.
+
+Our organizational structure is simple: those who pioneer new concepts are the
+ones who get to implement them. We are a fifty-person team, and your work will
+have a direct and visible impact on the state of formal verification.
+
+#### Work Description
+
+Formal verification consists in providing mathematical guarantees on the
+conformity of a program's behavior with respect to certain property
+specifications. In particular, static program verification aims at determining
+the properties of a program for all possible concrete inputs, without executing
+the program itself. A notable example is static verification of the absence of
+errors at runtime.
+
+Our team develops [Frama-C](https://www.frama-c.com), a code analysis platform
+for C programs which provides several analyzers as plug-ins.
+[Frama-C](https://www.frama-c.com) allows the user to annotate a C program with
+formal specifications, written in the
+[ACSL](https://www.frama-c.com/html/acsl.html) specification language, and then
+ensure it satisfies its formal specification by relying on several static
+verification techniques including abstract interpretation, provided by the
+plug-in [Eva](https://www.frama-c.com/fc-plugins/eva.html), and the weakest
+preconditions calculus, provided by the plug-in
+[WP](https://www.frama-c.com/fc-plugins/wp.html).
+
+Both plug-ins provide highly parametrizable techniques that may be efficiently
+combined, but their activation may be costly in terms of resources such as time
+of computation and memory footprint. It requires a thorough knowledge of
+[Frama-C](https://www.frama-c.com) and its analysis techniques to choose wisely
+which to use in which cases. Moreover, many of these techniques are more or less
+based on heuristics which are usually manually conceived. These heuristics are
+often suboptimal, fragile, and require considerable technical knowledge and
+effort to be devised. As such, they do not generalize or scale well to different
+code bases, and need to be updated over time.
+
+Machine learning has been recently used to perform several tasks on code, and
+seems particularly adapted to help in overcoming the aforementioned obstacles.
+On the one hand, it allows to treat the difficulty no longer as a problem of
+understanding the analysis tool but as a problem of understanding the forms of
+code adapted to the different techniques. On the other hand, the automatic
+learning of strategies can be repeated as the requirements and the tool evolve.
+These improvements can be achieved at a much finer level than a human can
+accomplish in a reasonable amount of time.
+
+The ultimate goal of the PhD is to integrate machine learning approaches to the
+[Frama-C](https://www.frama-c.com) static analyzers in order to improve their
+usability and scalability. The PhD will start by studying which heuristics
+already in place in [Eva](https://www.frama-c.com/fc-plugins/eva.html) or
+[WP](https://www.frama-c.com/fc-plugins/wp.html) could be automatically learned.
+Later, the PhD will investigate the best representations and learning algorithms
+for treating code, with a particular focus on maintaining as much as possible
+the semantic elements. A special interest will be devoted to graph embeddings
+and graph neural networks which seem the best approaches for the task.
+
+The PhD student will design and implement a machine learning pipeline for code
+verification strategies. Furthermore, the PhD student will integrate such
+strategies into [Frama-C](https://www.frama-c.com) and evaluate their
+performances with respect to those already in place today.
+
+#### Application
+
+Knowledge in the following fields is required:
+
+- Machine learning or deep learning
+- Python programming
+
+Knowledge in the following fields is welcome:
+
+- OCaml programming (or another functional programming language)
+- Deep learning frameworks (TensorFlow or PyTorch)
+- Program verification (abstract interpretation, deductive verification, etc.)
+- C programming
+- Formal semantics of programming languages
+
+**Salary:** Competitive PhD salary.
+
+**Availability:** September 2022. However, since a 3+ month procedure for
+administrative and security purposes is required, we suggest to get in touch
+with us as soon as possible.
+
+**Contact:**
+
+- [Michele Alberti](mailto:julien.signoles@cea.fr)
+- [Valentin Perrelle](mailto:valentin.perrelle@cea.fr)
+
+Please join a detailed CV, and a motivation letter.
diff --git a/_jobs/2022-03-28-machine-learning-for-improving-formal-verification-of-code.pdf b/_jobs/2022-03-28-machine-learning-for-improving-formal-verification-of-code.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..8d2a2bd2d89f1f995e1ee9dcc4a7f7b8c101af99
Binary files /dev/null and b/_jobs/2022-03-28-machine-learning-for-improving-formal-verification-of-code.pdf differ