Solid Sands and Rapita Systems have entered into a strategic partnership to develop ways to improve code coverage analysis on parts of the C++ standard library code that are traditionally invisible to coverage analysis tools.
Due to a joint customer that required large-scale coverage analysis for the C++ standard library implementation, the companies were introduced. Now they are seeing possibilities to deepen their offerings 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. “During this analysis, 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, the world-leading provider of testing and qualification technology for compilers and libraries, reached out to many 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.
“As the safety-critical industry evolves to use more modern programing features, it is crucial that verification tools keep up with the pace and support these features,” said Antoine Colin, CTO of Rapita Systems. “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 is an international company that 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.
Solid Sands says this collaboration comes just in time as they are working on launching SuperGuard for C++ at the end of 2023.