The companies were introduced whilst working on a joint customer’s requirement for large-scale C++ standard library coverage and consequently saw a number of possibilities to deepen their offering to the market of safety-critical applications.
“To the best of our knowledge, we were the first to attempt large-scale coverage analysis for the C++ standard library,” said Marcel Beemster, CTO of Solid Sands. “We found that significant parts of the C++ standard library implementation are implemented by code that is evaluated at compile time. This is an essential feature for C++, which aims to exchange run-time overhead for safety and speed of compile-time evaluation. However, this makes it hard to do code coverage analysis because such analysis is based on recording run-time execution effects.”
Solid Sands is a provider of testing and qualification technology for compilers and libraries, and engages with companies that offer coverage analysis solutions and found that, at this time, only some are enthusiastic about tackling coverage analysis for compile-time executed code. Solid Sands believes this is a safety-critical feature.
Antoine Colin, CTO of Rapita Systems said, “As the safety-critical industry evolves to use more modern programming features, it is crucial that verification tools keep up with the pace and support these features. We are delighted to work with Solid Sands to achieve this aim by exploring how RapiCover can collect coverage of compile-time code to support the development of Solid Sands’ solutions and our customers’ verification needs.”
Rapita Systems develops on-target embedded verification software solutions for customers in the avionics and automotive electronics industries. Their tool RapiCover is now used to jointly look for ways to perform large-scale coverage analysis for the complete C++ standard library.
For Solid Sands, this collaboration comes just in time as they are working on launching SuperGuard for C++ at the end of 2023.