Our SW Engineering department suggests we use the tool Imagix 4D to analyze our preemptive C code in order to detect data consistency risks. By data consistency risk we mean cases where one task/thread/ISR accesses data that another thread was in the process of accessing.
By looking at the website of the tool, it looks promising. However I've heard some comments from colleagues who say it is difficult to use. They say there is a big manual effort to instrument and stub your code for the analysis to work.
I have several questions about the tool. If you have some experience with it maybe you can answer this.
- It looks like the tool can do a lot of things. By only using it to detect data consistency risks, are we wasting some of its capabilities?
- Does a human mistake in the code instrumentation undermine the accuracy of the results?
- What is your general impression of the tool?
- Is this tool worth the price?