[TYPES/announce] Open Engineer Position in ProofInUse joint laboratory
Claude Marché
Claude.Marche at inria.fr
Wed Sep 12 08:43:12 EDT 2018
[Feel free to redistribute this announcement/Apologizes for multiple
copies]
The Joint Laboratory ProofInUse (https://www.adacore.com/proofinuse)
hires an experienced R&D engineer (M/F) in the domain of Formal Methods
for Software Engineering:
https://jobs.inria.fr/public/classic/en/offres/2018-01034
ProofInUse originates from the sharing of resources and knowledge
between the Toccata research team (http://toccata.lri.fr/), specializing
in techniques for deductive program verification and the SME AdaCore, a
software publisher, specializing in providing software development tools
for critical systems. The SME TrustInSoft (https://trust-in-soft.com/),
specialized in advanced static analysis techniques for safety and
security of C/C++ source code, recently joined the ProofInUse Laboratory.
The purpose of ProofInUse is to increase significantly the number of
customers of the SPARK 2014 and the TrustInSoft Analyzer technologies,
by popularizing the use of formal proof techniques. This popularization
requires the resolution of several scientific and technological
challenges. A first axis of work is to design and implement a new
plug-in for deductive verification in the TrustInSoft Analyzer, making
use of the Why3 intermediate (https://why3.lri.fr/) tool for
verification condition generation, along the guidelines and design
choices previously adopted for SPARK, that include strong restrictions
on the analyzed code regarding the possibility of aliasing in data
structures. This new plug-in must support new techniques for analyzing
bit-level and floating-point codes, as well as new facilities for
providing counterexamples when proofs fail. A second axis of work is to
leverage the former non-aliasing restrictions, via an alias analysis
based on a Rust-style sharing control and borrowing. A third axis is to
actively participate to the development of a formally proved C/C++
software library.
The recruited engineer will work in close collaboration with the
ProofInUse Research and Development team, to address both the scientific
and the technological challenges presented above. It is expected that
the engineer contributes both to advancing the academic knowledge in
ProofInUse context and to the transfer of this knowledge into the
software products distributed by AdaCore and TrustInSoft. The engineer
will participate actively to the production of scientific publications,
and to the software development of the Why3 tool and the TrustInSoft
Analyzer.
We expect from the candidate some experience with Formal Methods for
Software Engineering in a broad sense, typically the candidate should
have defended a PhD in the domain of Formal Methods. More specifically,
a plus would be some experience in formal logic and proof techniques, in
automated deduction, in Satisfiability Modulo Theory solvers, in Model
Checking or in Abstract Interpretation techniques.
The candidate should have a fair experience in software development, a
plus would be the knowledge of functional programming, and the knowledge
of the programming languages OCaml, C/C++ and/or Rust.
The candidate should be able to write and speak in English fluently.
The job will take place both on Toccata's lab site in building 650 of
University Paris-Sud in Orsay, and at TrustInSoft's site in Paris, France.
The position is to be filled as soon as possible starting from Nov 1st
2018, for a duration of 36 months.
Apply by sending a CV and a motivation letter to the e-mail contact
addresses below, and/or via the URL given at the top of this message.
Contact/Information: Claude.Marche at inria.fr,
Benjamin.Monate at trustinsoft.com, Yannick.Moy at adacore.com
More information about the Types-announce
mailing list