Blog

Summer fun: computer games for programmers

As it's the time of summer vacations, I thought it would be interesting to look at something a little more light-hearted than usual – a computer game designed to replicate the experience of low-level, bare metal programming on a hypothetical multicore system. TIS-100 (www.zachtronics.com/tis-100) is a game that features a simulator of an imaginary, loosely-coupled, multicore system, together with a range of interesting programming problems.
Read More

Breaking the switch statement

While refreshing our RapiCover qualification kit, we looked harder for corner-cases and undefined behaviours. One of the more bizarre things we came across is the issue of code before the first case label of a switch statement. Such a simple concept turns out to have some rather unique challenges. Here's a fairly standard-looking C switch statement with five branches (five code sequences to choose among):
Read More

Software randomization of execution times for avionic systems

Among the wide range of research work we've done during the past, one of the "most blue sky" areas has been in the area of probabilistic timing analysis (PTA), where specific hardware support randomizes sources of execution time variability, making it possible to produce accurate statistical predictions of worst-case execution probabilities, see our PROXIMA research project and
Read More

What are the overheads of code coverage? Using "Doom" as an example

One question that we are frequently asked is what instrumentation overhead RapiCover introduces. Achieving low overhead instrumentation is recognized by our customers as a key strength of RapiCover. To measure structural code coverage of embedded software, or for that matter any software, code coverage tools like RapiCover use instrumentation (additional code that records what code has been executed).
Read More

CAST-10 "Literal" Interpretation of Decision Coverage Increases Rigor of Testing Requirements

The Certification Authorities Software Team (CAST) issue guidance on various issues regarding the interpretation of DO-178B and DO-178C. In the CAST-10 position paper [1], they discuss the interpretation of a "decision". In CAST-10, three possible interpretations are made for a decision:
Read More

Pages