We were tasked with performing detailed Software testing and analysis of a safety-critical medical diagnostic device. As we investigated the code we discovered:
- Unbounded recursion through 8 levels of calls in an error detection / reporting routine
- Critical data which could be corrupted when Interrupt Service Routines (ISRs) ran at specific relative times
- Execution times for critical ISRs which were much longer than the designers intended
- Dozens of other potential problems of varying severity