Latest Blog Posts
![Verifying the compiler’s pipework](https://solidsands.com/wp-content/uploads/PictureBlogJul2023-1080x675.png)
Verifying the compiler’s pipework
Compilers are highly complex machines with two areas that deserve extra scrutiny. They are the register allocator and the calling convention. While register allocation is the subject of countless research papers, the calling...
![Can your compiler count to ten?](https://solidsands.com/wp-content/uploads/PictureBlogJune2023.png)
Can your compiler count to ten?
The size of integers and other primitive types is not fixed by the C/C++ programming language specifications. It is implementation-defined. Unlike unspecified and undefined behavior, that is not a free lunch for the compiler....
![Assessing C and C++ toolchains used in robotics](https://solidsands.com/wp-content/uploads/PictureBlogMay2023.png)
Assessing C and C++ toolchains used in robotics
The traditional industrial robot consists of an arm with multiple degrees of freedom and a specialized gripper. To prevent accidental injury to humans, it is typically incarcerated in a protective cage. However, next-generation...
![Automation saves time and is more accurate](https://solidsands.com/wp-content/uploads/PictureBlogApr2023.png)
Automation saves time and is more accurate
As we pointed out in the previous blog, before we qualify a compiler for a safety-critical project, it’s essential we know all the compiler options that the project intends to use. With typical projects being highly complex, like a...
![Before compiler qualification comes use case analysis](https://solidsands.com/wp-content/uploads/PictureBlogFeb2023.png)
Before compiler qualification comes use case analysis
Compilers comprise a complex pipeline of analysis and transformation stages. Changes in one stage are frequently amplified by subsequent stages. It makes compilers very sensitive to configuration, with a seemingly minor change to the...
![SuperTest and Frama-C: a clash of titans](https://solidsands.com/wp-content/uploads/PictureBlogNov2022.png)
SuperTest and Frama-C: a clash of titans
CEA List and Solid Sands entered into a partner agreement to make SuperTest available to the Frama-C team. Frama-C is a platform for source-code analysis of C software. The Frama-C analyzers assist with various source-code-related...
![C++ library qualification: cherry picking functions versus full headers](https://solidsands.com/wp-content/uploads/Untitled-design-2.png)
C++ library qualification: cherry picking functions versus full headers
We are pleased to see many companies in the automotive, industrial, medical, aviation, robotics and railway industries taking the safety of critical C++ applications seriously. With the latest safety-critical applications handling...
![The disadvantages of undefined behavior](https://solidsands.com/wp-content/uploads/PictureBlogSep2022-1.png)
The disadvantages of undefined behavior
In the previous blog I argued in favor of undefined behavior in C. The behaviors I was talking about, such as integer overflow, would be inefficient or counter-intuitive if they were defined. Nevertheless, it does mean that in their...
![The advantages of leaving it undefined](https://solidsands.com/wp-content/uploads/PictureBlogJuly2022.png)
The advantages of leaving it undefined
Undefined behavior remains an elusive subject. On the one hand, it potentially exposes your program to dangerous situations and exploitations. On the other hand, it enables the speed and portability that the C programming language is...
![Let’s talk about library qualification – in person this time](https://solidsands.com/wp-content/uploads/Untitled-design.png)
Let’s talk about library qualification – in person this time
Library qualification is key, because code from the library is linked into the application and installed onto the target device. Over the last few years, we have spoken many times about this topic in our blogs and webinars. We are...