datasheets.com EBN.com EDN.com EETimes.com Embedded.com PlanetAnalog.com TechOnline.com  
Events
UBM Tech
UBM Tech

Test & Measurement Designline Blogs

Comment


EREBUS

4/5/2011 3:08 PM EDT

It is not an issue of static or dynamic code analysis. You need to do both in ...

More...

Static analysis vs. dynamic test: A matter of multiple choice?

Bernard Cole

3/28/2011 2:11 AM EDT

Engineers and software developers sometimes fall into an either/or mindset, as we all do from time to time, in which there are only two possible outcomes: your solution or the other person’s – and the other person’s is the wrong one.

But in the diverse domain of software code analysis and test, the answer to the question of the right approach to ensuring code quality may be a multiple choice one, not just a choice between static analysis and dynamic testing.

My Editor’s Top Picks for this week’s Tech Focus newsletter illuminate this issue:

Static analysis vs. dynamic testing, by GrammaTech’s Paul Anderson
Think static analysis cures all ills? Think again, by LDRA’s Mark Pitchford.

My view is that their apparent disagreement is not the no-win either/or dichotomy, but is more about differences in point of view and emphasis. But in addition to a number of different ways to do static code analysis and software testing, there are also at least a half a dozen alternative methods to ensure the quality of your code, including: the use of assertions, semantic analysis, mutation-based code coverage, pattern-based code and flow analysis, software DNA mapping, and Boolean satisfiability.

If after you have evaluated these various methods you still can’t determine the best approach for your particular application, be sure to register and attend the 2011 Spring ESC, May 2-5. Several class tracks offer possible answers: Best Practices, Debugging and optimizing, Design and test, Multicore debug, Languages and techniques and Software processes and tools.





EREBUS

4/5/2011 3:08 PM EDT

It is not an issue of static or dynamic code analysis. You need to do both in order to verify that each processing thread gets access to the system components when they need them without interferring with the needs of the other threads to accomplish the same goal.
Correct timing does not just happen, you have to understand the processing environment, the system environment, the signal acquisition dynamics and the reaction/presentation requirements. Until you know what is going on inside the box, you can have critical timing issues and not be aware that they exist.
If you have nonreproduceable gremlins, it is usually an indicatiion that there is a timeing issue in your system.

Thanks,
DAB

Sign in to Reply



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)