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.
AdaCore maintains an Ada toolchain (GNAT Pro) that targets a wide matrix of cross platforms: different architectures, operating systems, execution context, execution platforms and development hosts.
To help our development team cope with this complexity, we aim at providing the same debug interface for all of these configurations, and make it as simple as possible: a single command would set up the whole debug environment, launch all debug servers, connect the debugger to them and then developers will be all set.
The development has started, but at this point this interface has been implemented only on a fairly low number of configurations.
In cooperation with our experts, the internship would consist in:
familiarize oneself with the existing debug interface by implementing an additional feature: a way to monitor each debug services that have been launched in background;
Identify configurations that are the main pain points of our development team in order to focus on them first;
Create new drivers for these configurations;
Integrate the debug interface into a testsuite for our debugging solution;
Relying on this experience, suggest new improvements to the debug interface; design, implement and document them;
Update user-level documentation.
Skills required or Nice to have
The work will require interacting closely with engineers from AdaCore (mostly in english).
The applicant should have a fair knowledge about the following topics. Having a solid knowledge about these topics is a plus, but it is not required for the applicant to know them all before applying.
QEMU and GDB usage.
Knowledge of some communication protocols (GDB remote, Sun RPC, TCP/UDP, etc).
Knowledge of python
Knowledge of various other programming languages (e.g. Ada, C/C++, Makefiles, bash, yaml, etc).
During 2023 - 6 months