What are your favorite tools of the embedded systems trade? Jack interprets the results from Embedded Market Survey.
Other static analyzers include the tools from Polyspace, Klocwork, and many others that look for execution-time errors without actually running the code. They'll see what values a variable can assume, for instance, and look for out-of-range problems. My informal surveys of embedded systems developers using static analyzers have almost universally found the engineers are satisfied with these tools. Everyone is unhappy with the cost, which can be surprisingly hard to pin down as salesmen do the old "investment, not cost" two-step. But I've little doubt costs will come down and the capabilities will improve.
The study found the least popular or least important tools are those that help with software test. That's an astounding finding, considering the importance of test in creating great products. Perhaps the result stems from the poor selection of testing tools concurrently on the market. But some amazing products do exist. One of the challenges we face is moving test from the end of the project (since things run late test is inevitably cut) to an on-going process that starts as soon as the first line of code appears. For instance, Virtutech, VaST, and others help you create an entire simulation of your system, including all of the peripherals and the external world with which they interact. I've played with some of these and have been amazed at the accuracy of the simulations and their speed.
They cost money, though, serious money in absolute terms. But on a large project figure tens of cents per line of code in your firmware. That's about two orders of magnitude cheaper than the cost of your development effort. Viewed in this light, the costs are reasonable and will be recouped by earlier verification and validation.
For my entire career tool costs have been a problem for software developers. The hardware crowd routinely get funding for $50k logic analyzers while firmware people struggle to justify a decent compiler. Something like 80% of the cost of engineering an embedded project is in the software development; to me it's logical that spending money there to get the product to market faster and cheaper is a no-brainer. Management seems to disagree. Sometimes the fault lies with the tool vendors who do a poor job of demonstrating the benefits to the bottom line.