Careers > Software Engineer - WebAssembly for Ada/SPARK programming languages
Last modified 11/28/2022 9:52:55 AM

Software Engineer - WebAssembly for Ada/SPARK programming languages

Internship
AdaCore
Paris, France
Bac +4/5

Everything we do at AdaCore is centered around helping developers build the safest, most secure open-source software. 

For over 25 years, we've worked with global leaders across avionics, aerospace and defense industries, building tools and providing services that ease the complex and difficult process of developing high-integrity software. As the need for truly secure and reliable applications expands into industries such as automotive, medical, energy, and IOT, we’re advancing our time-tested technologies to bring expertise and services to help a whole new generation of developers.

Our 150 experts worldwide in the US (New York), France (Paris, Toulouse, Grenoble and Vannes), the UK, Estonia and Germany all play a role in developing bleeding edge technologies to meet the highest grade of software development.

Joining AdaCore is about joining a culture of innovation, openness, collaboration and dependability, which defines how we work together, with our customers and partners.

Context:

WebAssembly (a.k.a. Wasm) is relatively new technology that enables the use of compiled languages such as C/C++, Rust, and others as alternatives for JavaScript in web development. Beyond, standalone Wasm run-times can bring portability and security features for native applications.

The use of Wasm opens a new world of possibilities for existing codebase as well as new usages for the programming ecosystems. Applications can be reused in different contexts without a complete rewrite of the project, as demonstrated by companies such as Adobe or Autodesk that converted existing native applications to the cloud. 

For AdaCore, Wasm can both bring portability options for our customers with legacy applications (Web, Android, IOS), and enable new possibilities for both existing customers, emerging markets and open-source community members.

The C/C++ and Rust ecosystem are already up and running on WebAssembly, on the other hand the Ada/SPARK offering is limited to experiments. The main goal of this internship is to define and start to implement a long term plan for WebAssembly support in Ada/SPARK.

Goals:

  • Get a first understanding of the WebAssembly technology and its possibilities

  • Get some experience using existing WebAssembly frameworks (C/C++, Rust)

  • Report on the current state of WebAssembly support for Ada/SPARK

  • Design with the mentor(s) a plan for WebAssembly support in Ada/SPARK (missing tools, libraries, frameworks, etc.)

  • Implement at least part of this plan

  • Implement demonstrators and publish blog posts to communicate the effort to the Ada/SPARK community

  • Possible extensions to this list could include the use of WebAssembly in embedded context with specialized run-times

Skills required or Nice to have:

  • Knowledge or interest in WebAssembly

  • Knowledge or interest in Web development

  • Curiosity and interest for technical innovation 

  • Will and ability to work autonomously

Timeframe:

During 2023 - 6 months

Powered by Hello Talent