Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Yesterday I asked a question that happened to have another meaning inside. I can see that Control/data flow is often mentioned to be static analysis (when tools is used) or dynamic analysis testing in terms of white box testing. Could it be that automatic analysis tools can just help by creating graphs or they do actually test it with inputs (then it would not be static IMHO).

share|improve this question
up vote 1 down vote accepted

You can also have automatic analysis tools that perform symbolic execution. Klee is an example of this. Basically it goes through the program trying to figure out what are the possible values of variables at different points. Using that it decides which input variables can cover which parts of the code. It even does some cool things with modelling file systems and environment variables. Their paper is a fairly easy read and quite informative

So in general I think the distinction is not that simple. KLEE runs the code in a way, but I would not call that proper execution.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.