Research & Development Engineer – Internship – RDEI-2017-2

Objective

Develop an in-kernel debugger for a secure operating system.

Mission

In addition to providing a formally proven microkernel that gives strong security guarantees, ProvenCore comes with a full development environment to create new applications running on top of it. The ProvenCore SDK includes a PC simulator to speed up initial development but real-world platform debugging is a must most of the time. Bare metal debugging is possible but requires a certain level of skills that application developers may not have.

As a Research & Development Engineer, you will interact with the team in charge of developing our embedded security solutions. More precisely, you will extend a secure operating system to add an in-kernel debugger that allows monitoring of a specific application and provides an interface similar to gdbserver. In order to achieve this goal, you will have to:

  • Investigate existing solutions and analyze how they could be applied on our microkernel and supported hardware,
  • Implement the in-kernel debugger in the development version of ProvenCore,
  • Implement the necessary interfaces to communicate with the debugger from the developer’s computer.

Profile

You are currently completing a Master’s Degree or an equivalent degree. You have a significant experience of software development. You are rigorous, independent and have good interpersonal skills.

An interest in one or more of the following topics will be appreciated positively:

  • Embedded software development
  • Operating systems
  • Software security
  • Low-level mobile software development

Previous experience with the following tools will help ensure that you can hit the ground running:

  • Cross-compilation toolchains
  • Source code management tools
  • Issue tracking systems
  • Debuggers (GDB, etc)

A good level of English is required.

Benefits

All interns will receive the following benefits:

  • Compensation of €1000-1200/month (gross)
  • Daily meal stipends (Tickets Restaurant)

Are you interested in joining Prove & Run and becoming a key part of our team? If so, please check what it means to be an intern at Prove & Run, or apply right away!

Objective

Add support for floating point operations in a formally proven microkernel.

Mission

ProvenCore, our formally proven microkernel, is designed to run in the TrustZone part of powerful ARM Cortex-A-powered System-on-Chips. These processors include advanced SIMD and vector floating point instructions through the usage of the NEON coprocessor.

As a Research & Development Engineer, you will interact with the team in charge of developing our embedded security solutions. More precisely, you will extend a secure operating system to allow secure applications to use floating point and vector arithmetic operations. In order to achieve this goal, you will have to:

  • Assess the security implications of enabling NEON support in ProvenCore,
  • Modify the development version of the micro-kernel to enable it and allow secure applications to use it,
  • Evaluate performance impacts if any.

Profile

You are currently completing a Master’s Degree or an equivalent degree. You have a significant experience of software development. You are rigorous, independent and have good interpersonal skills.

An interest in one or more of the following topics will be appreciated positively:

  • Embedded software development
  • Operating systems
  • Device drivers
  • Software security
  • Low-level mobile software development

Previous experience with the following tools will help ensure that you can hit the ground running:

  • Cross-compilation toolchains
  • Source code management tools
  • Issue tracking systems

A good level of English is required.

Benefits

All interns will receive the following benefits:

  • Compensation of €1000-1200/month (gross)
  • Daily meal stipends (Tickets Restaurant)

Are you interested in joining Prove & Run and becoming a key part of our team? If so, please check what it means to be an intern at Prove & Run, or apply right away!

This offer is obsolete and is retained for reference only. Current offers are available on this page.

Mission

As a Research & Development Engineer, you will join a team in charge of developing embedded security applications that leverage our core security products, e.g. our ProvenCore microkernel and our ProvenVisor hypervisor.

This is offer is for a permanent, full-time position (“CDI”) and is based at our headquarters in Paris, with frequent travel to one of our partners’ premises in Saclay.

Profile

You have either a Master’s Degree in Computer Science or an equivalent degree, as well as at least 3 years of experience in the field of embedded software development. You are fluent in C and have a working knowledge of ASM, especially in the context of low-level embedded software development such as embedded applications and device drivers on ARM® Cortex-A and Cortex-M architectures.

An interest in one or more of the following topics will be appreciated positively:

  • Operating systems
  • Security architectures
  • Applied cryptography
  • Software assurance and certification

You are rigorous, independent and have good interpersonal skills.

A good level of English is required.

Your salary will depend on your level of experience and how well your skills match the position. Range: 40k€ to 60k€.

Are you interested in joining Prove & Run and becoming a key part of our team? If so, please apply right away!

This offer is obsolete and is retained for reference only. Current offers are available on this page.

Mission

As a Research & Development Engineer, you will join a team in charge of delivering customer projects, leveraging our core security products, e.g. our ProvenCore OS/Kernel and our ProvenVisor hypervisor:

  • System development on ProvenCore and ProvenVisor,
  • Porting ProvenCore/ProvenVisor to new hardware platforms,
  • Developing sensitive embedded applications running on top of ProvenCore/ProvenVisor.

This is offer is for a permanent, full-time position (“CDI”) and is located in our new office in Sophia Antipolis.

Profile

You have either a Master’s Degree in Computer Science or an equivalent degree, as well as 3 to 5 years of experience in the field of embedded software development. You are fluent in C and ASM, especially in the context of:

  • Operating systems
  • Device drivers
  • ARM architectures

An interest in one or more of the following topics will be appreciated positively:

  • Intel architectures
  • Security
  • Software assurance and certification

You are rigorous, independent and have good interpersonal skills.

A good level of English is required. Short trips to our office in Paris will be required from time to time.

Your salary will depend on your level of experience and how well your skills match the position.

Are you interested in joining Prove & Run and becoming a key part of our team? If so, please apply right away!

This offer is obsolete and is retained for reference only. Current offers are available on this page.

Objective

Assess the impact of heterogeneous multi-processing (HMP) on a secure operating system and develop a proof of concept of an HMP-enabled secure microkernel.

Mission

As a Research & Development Engineer, you will interact with the team in charge of developing our embedded security solutions. More precisely, you will:

  • investigate the consequences on security of multi-processing,
  • develop a proof of concept of an HMP-enabled micro-kernel.

Our secure operating system is built upon a microkernel running alongside another more user-friendly operating system such as Android. Smartphones and tablets have become complex devices. Ever higher performance requirements and power consumption constraints have made the main application processor, in particular, become an advanced chip with multiple cores and even different types of cores. The first objective of this internship is to determine what these changes imply on our kernel.

The second objective of the internship will be to develop a multicore-enabled microkernel.

This offer is for a 6-month internship located in our office in Sophia-Antipolis.

Profile

You are currently completing a Master’s Degree or an equivalent degree. You have a significant experience of software development. You are rigorous, independent and have good interpersonal skills.

An interest in one or more of the following topics will be appreciated positively:

  • Embedded development
  • Multi-processing
  • Operating systems
  • Software security
  • Mobile development

Previous experience with the following tools will help ensure that you can hit the ground running:

  • Cross-compilation toolchains
  • Source code management tools
  • Issue tracking systems

A good level of English is required.

Benefits

All interns will receive the following benefits:

  • Compensation of €1000-1200/month (gross)
  • Daily meal stipends (Tickets Restaurant)

Are you interested in joining Prove & Run and becoming a key part of our team? If so, please check what it means to be an intern at Prove & Run, or apply right away!

This offer is obsolete and is retained for reference only. Current offers are available on this page.

Objective

Design and development of a Trusted User Interface for smartphones and tablets

Mission

As a Research & Development Engineer, you will interact with the team in charge of developing our embedded security solutions. More precisely, you will extend a secure operating system to add graphical capabilities and display rich content in a constrained environment. In order to achieve this goal, you will have to:

  • develop graphics and input drivers for the secure operating system,
  • make them available to secure applications through user interface APIs,
  • develop a demo application leveraging newly added UI capabilities.

Our secure operating system is built upon a microkernel running alongside another more user-friendly operating system such as Android. Smartphones and tablets have become so common in our daily lives, including sensitive activities such as banking, that they are now a target of choice for malwares. Some use cases require that user input be protected from ill-intentioned softwares that may have infected the main OS. The first objective is to enable the secure environment with basic graphics and input features. You will be in charge of developing drivers to receive events from the touchscreen and draw user interfaces on our reference platform.

The second objective of the internship will be to give secure applications the possibility to use these new features by developing a UI API layer.

The third objective will be to develop a proof of concept of a graphical application on top of the enhanced operating system for demo purposes.

This offer is for a 6-month internship located in our office in Sophia-Antipolis.

Profile

You are currently completing a Master’s Degree or an equivalent degree. You have a significant experience of software development. You are rigorous, independent and have good interpersonal skills.

An interest in one or more of the following topics will be appreciated positively:

  • Embedded development
  • Device drivers
  • Operating systems
  • Software security
  • Mobile development

Previous experience with the following tools will help ensure that you can hit the ground running:

  • Cross-compilation toolchains
  • Source code management tools
  • Issue tracking systems

A good level of English is required.

Benefits

All interns will receive the following benefits:

  • Compensation of €1000-1200/month (gross)
  • Daily meal stipends (Tickets Restaurant)

Are you interested in joining Prove & Run and becoming a key part of our team? If so, please check what it means to be an intern at Prove & Run, or apply right away!

Mission

As a Research & Development Engineer, you will join a team in charge of creating models (both high-level and implementation-level) of sensitive software components using Prove & Run’s tools.

This is offer is for a permanent, full-time position (“CDI”) and is located in our new office in Sophia Antipolis.

Profile

You have either a PhD in Computer Science, a Master’s Degree or an equivalent degree. You are rigorous, independent and have good interpersonal skills.

An interest in one or more of the following topics will be appreciated positively:

  • Embedded software development (consumer-oriented or industrial)
  • Operating Systems
  • Software Assurance and Certification

Previous experience with the following tools with help ensure that you can hit the ground running:

  • The Eclipse development environment
  • Source code management tools
  • Issue tracking systems
  • Documentation generation tools

A good level of English is required. Short trips to our office in Paris will be required from time to time.

Your salary will depend on your level of experience and how well your skills match the position.

Are you interested in joining Prove & Run and becoming a key part of our team? If so, please apply right away!

This offer is obsolete and is retained for reference only. Current offers are available on this page.

Objective

Design and implementation of an Eclipse plugin to support the Markdown language.

Mission

As a Research & Development Engineer, you will join the team in charge of the Integrated Modeling Environment (IME), one essential component of the complete development toolchain created by Prove & Run. The IME consists of an Eclipse plugin offering rich engineering support to write models using Prove & Run’s language. During your internship you will be in charge of a project aimed at improving the productivity of the engineers who write the IME’s user documentation. This documentation is written in Markdown, a markup language for which there is no suitable Eclipse plugin. Thus, although Prove & Run’s engineers use the Eclipse IDE to program the toolchain, they have to write the user documentation using editors such as Emacs or Vim. These editors lack support for editing links between Markdown files and integration of the documentation compiler is rudimentary. This makes the documentation process cumbersome, which is quite frustrating for people who themselves provide a powerful Eclipse plugin to their customers.

The project consists in designing and implementing a Markdown plugin for Eclipse. The plugin will include basic features such as syntax highlighting and an outline, but also, depending on needs you’ll have to identify, more advanced features such as:

  • Support for Markdown links within the documentation (auto-completion, dead links detection, references finding, refactoring). This requires implementing a parser of (at least a subset of) Markdown.
  • Build automation (to enhance integration with the above mentioned documentation compiler)
  • Automatic generation of tables of content
  • An Eclipse View showing the compiled version (HTML) of the documentation
  • etc.

This project will be implemented using Xtext, a framework to develop Eclipse-based IDEs for Domain-specific Languages. As this framework is also used to develop the IME, the internship may lead to a permanent position in the IME team.

This offer is for a 4 to 6-month internship and is located in our office in Paris.

Profile

You are currently completing a Master’s Degree or an equivalent degree. You have a significant experience of software development and good knowledge in compiler development. You are rigorous, independent and have good interpersonal skills.

Previous experience with the following tools will help ensure that you can hit the ground running:

  • The Java programming language
  • The Eclipse development environment
  • Source code management tools

A good level of English is required.

Benefits

All interns will receive the following benefits :

  • Compensation of €1000-1200/month (gross),
  • Daily meal stipends (Tickets Restaurant),
  • Half of the monthly cost of the Navigo card (the public transportation card in Paris).

 

Are you interested in joining Prove & Run and becoming a key part of our team? If so, please check what it means to be an intern at Prove & Run, or apply right away!

This offer is obsolete and is retained for reference only. Current offers are available on this page.

Objective

Extend a secure operating system to add graphical capabilities and display rich content in a constrained environment.

Mission

As a Research & Development Engineer, you will interact with the team in charge of developing our embedded security solutions. More precisely, you will:

  • Develop graphics and input drivers for our secure operating system,
  • Make them available to secure applications through user interface APIs,
  • Develop a demo application leveraging newly added UI capabilities.

Our secure operating system is built upon a microkernel designed to run alongside another more user-friendly operating system such as Android. Smartphones and tablets have become so common in our daily lives, including sensitive activities such as banking, that they are now a target of choice for malwares. Some use cases require that user input be protected from ill-intentioned softwares that may have infected the main OS. The first objective will be to enable the secure environment with basic graphics and input features. You will be in charge of developing drivers to receive events from the touchscreen and draw user interfaces on our reference platform.

The second objective of the internship will be to give secure applications the possibility to use these new features by developing a UI API layer.

The third objective will be to develop a proof of concept of a browser application on top of the enhanced operating system. You will narrow down a relevant subset of HTML to be supported in a first version and put together the corresponding application for demo purposes.

This offer is for a 6-month internship located in our R&D Center in Sophia Antipolis.

Profile

You are currently completing a Master’s Degree or an equivalent degree. You have a significant experience of software development. You are rigorous, independent and have good interpersonal skills.

An interest in one or more of the following topics will be appreciated positively:

  • Embedded Software Development
  • Device Drivers
  • Operating Systems
  • Software Security
  • Mobile Software Development

Previous experience with the following tools with help ensure that you can hit the ground running:

  • Cross-compilation toolchains
  • Source code management tools
  • Issue tracking systems

A good level of English is required.

Benefits

All interns will receive the following benefits:

  • Compensation of €1000-1200/month (gross),
  • Daily meal stipends (Tickets Restaurant).

Are you interested in joining Prove & Run and becoming a key part of our team? If so, please check what it means to be an intern at Prove & Run, or apply right away!

This offer is obsolete and is retained for reference only. Current offers are available on this page.

Objective

Extend our code generation process and use this extension to enable our modeling tools to prove a part of themselves.

Mission

As a Research & Development Engineer, you will interact both with the team in charge of developing our Integrated Modeling Environment (IME), and with the team in charge of creating models of sensitive software components using that IME. More precisely, you will:

  • extend the compiler that transforms programs written with our modeling language into C source code,
  • model, with our IME, some of its own proof search algorithms.

Our modeling language is a functional language. This language is compiled to an intermediate imperative language, allowing our tools to generate efficient C code. The first objective of this internship will consist in implementing a new compiler from this intermediate language to Java.

The second objective will be to use this compiler to generate new implementations of two proof search algorithms. These two algorithms are already part of the IME, but their current implementations have been written manually.  These new implementations will be written using our modeling language and will be specified and proved using our IME.

The third objective will be to integrate these generated algorithms back with our IME, which is written in Java. This will require you to complete the compiler implemented during the first part of the internship with linking information. Finally, you will compare the performance of the generated implementations against the original implementations.

This is offer is for a 6-month internship and is located in our office in Paris.

Profile

You are currently completing a Master’s Degree or an equivalent degree. You have a significant experience of software development. You are rigorous, independent and have good interpersonal skills.

An interest in one or more of the following topics will be appreciated positively:

  • Program Verification
  • Compilation
  • Interactive Proving
  • Specifying algorithms

Previous experience with the following tools with help ensure that you can hit the ground running:

  • The Eclipse development environment
  • Source code management tools
  • Issue tracking systems

A good level of English is required.

Benefits

All interns will receive the following benefits:

  • Compensation of €1000-1200/month (gross),
  • Daily meal stipends (Tickets Restaurant),
  • Half of the monthly cost of the Navigo card (the public transportation card in Paris).

 

Are you interested in joining Prove & Run and becoming a key part of our team? If so, please check what it means to be an intern at Prove & Run, or apply right away!