As part of my work at Swift Navigation I’ve done a lot of work analyzing the results of test runs and building CI frameworks to generate metrics or raise alarms based on the results. One of the challenges is that since the analysis is being performed on devices that are under development, they often create results that violate assumptions made by the analysis code. It can also be hard to trace through the analysis code and come up with the initial failure that led to a missing downstream result.
I made a generic framework to try to help with this sort of analysis.
I didn’t do too much of the actual meat of the software. My job was mostly to program the inter-board communication, set up the kernel and software on the main processor, and do some of the hardware development to connect everything together.