Achieving real-time performance improvements within the SPARK framework

RapiTime is the only commercial tool on the market suitable for optimising reactive, real-time software, where average case performance is irrelevant and the worst-case performance must be studied. Working on SPARK projects has highlighted an issue which we decided to bring to your attention. When RapiTime highlights potential optimisation candidates, we are informed that the code may be inefficient but it conforms to SPARK guidelines.
Read More

An introduction to Modified Condition/Decision Coverage (MC/DC)

Modified Condition/Decision Coverage (MC/DC) is a method of ensuring adequate testing for safety-critical software. At its core lies the idea that if a choice can be made, all the possible factors (conditions) which contribute to that choice (decision) must be tested.
Read More

Real-Time Taskset Generation and the WATERS workshop

I recently presented a paper at the WATERS 2010 workshop held during the Euromicro Technical Committee on Real-Time Systems (ECRTS) conference. The aim of the WATERS workshop was to showcase tools being used by real-time researchers to make published results easier to reproduce and compare.
Read More

Inserting binary values into C

This is an old C programmers trick for binary literals in C and is taken from a posting by Tom Torfs ( It is particularly useful in a mixed C/Ada environment because Ada allows binary literals and you may wish to move one or more into C when doing optimisation or other development. The trick is to take a binary literal, pretend it is a hex value and then combine the hex nibbles into binary digits.
Read More

Code coverage for applications running on Windows

I was recently asked by a customer if they could use RapiTime to analyse a program compiled for Windows using GCC and CygWin. The answer, with a few caveats, is yes!
Read More