Careers > Software Engineer - Revamp of the GNAT Studio’s testing framework
Last modified 11/28/2022 9:52:06 AM

Software Engineer - Revamp of the GNAT Studio’s testing framework

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:

GNAT Studio [1] is a multi-language IDE with advanced support out-of-the-box for Ada, SPARK, C and C++. It also integrates with numerous tools provided by AdaCore, in particular static analysis tools such as CodePeer [2] or coverage tools like GNATcoverage [3].

One of GNAT Studio’s limitations is its testing framework: currently, it only provides support for AdaCore’s GNATtest [4], a tool that creates unit-test skeletons as well as a test driver infrastructure (harness). The integration is outdated and limited compared with otherIDEs.

Goal:

The goal of this internship would be to revamp and modernize GNAT Studio’s testing  framework, to match the state-of-the-art of other IDEs regarding testing integration facilities. In particular, we would like to make it more flexible and extensible, making it easy to add a new testsuite, based on another test driver (i.e: not necessarily GNATtest). Another goal is to improve the existing UI, in particular the Tests view, which currently only displays all the unit tests for a given project,  and allows users to navigate among them. A good basis for this internship would be to have a look at the VS Code Testing API [5]. 

The successful applicant will work together with the rest of the IDE team and will have a chance to participate in all phases of software engineering, from design to implementation and validation.

 

Skills required or Nice to have:

  • Ease with UNIX command-line shell and git

  • Good ability to design a proper software architecture

  • Good programming skills in a high-level language (e.g. Ada or C++) are also required.

  • Some interest for UX/UI design in general

 

Timeframe:

During 2023 - 6 months

References:

[1] GNATStudio https://www.adacore.com/gnatpro/toolsuite/gnatstudio

[2] CodePeer https://www.adacore.com/codepeer

[3] GNATcoverage https://www.adacore.com/dynamic-analysis/gnatcoverage

[4] GNATtest https://www.adacore.com/dynamic-analysis/gnattest

[5] VS Code Testing API https://code.visualstudio.com/api/extension-guides/testing

Powered by Hello Talent