Having a problem with your Verification Testing? Don’t know how to test feature X? Can’t determine how these Y unrelated features might interact under load?
As Edsger Dijkstra famously said, "Program testing can be used to show the presence of bugs, but never to show their absence!"
Software Verification is often thought to be synonymous with testing. Testing can provide good evidence of correct operation, but in the real world, testing is not exhaustive.
Verification analysis picks up where testing leaves off. For critical parts of an application that are difficult or impossible to test exhaustively, the source code (or even the compiled code) is independently and deeply analyzed either manually, or by specialized tools. These analyses tend to be specialized in their nature. In some cases, analysis can even replace parts of test at a much lower cost.
As with testing, there is no limit on the amount of analysis that can be done, so the purpose and scope of the analysis must be established before starting. There are a myriad of tools that can help with these analyses. Often, a combination of tools can yield much better results than any single tool.
SafeCode can work with you to find opportunities to reduce your verification costs and schedules, as well as improving the strength of your verification results through targeted analyses.