You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are situations when we don't analyze a code before executing it:
Fuzzing
Execution in the middle of symbolic analyzing
So, in the code may appear some functions which behavior is not deterministic such as random, thus result of execution may be not deterministic too. To fix it we can memorize results of executed functions that we consider non-deterministic, and respect them in final results, for instance, by mocking.
Optimize symbolic analyzing by executing context-free methods
There are functions that don't depend on external variables, we can call this functions context-free. So, for symbolic analyze we can get just result from context-free methods without executing them symbolically.
Dynamic symbolic execution
Developing previous idea we can use concrete executing instead symbolic one on functions and instructions that depend on only variables with concrete values. To do this we should analyze memory usage and separate it on concrete and symbolic types.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
What can Concrete Executor do:
There are some enhancements for Concrete Executor, that should be done in the nearest future.
Non-deterministic behavior mocking #1193
There are situations when we don't analyze a code before executing it:
So, in the code may appear some functions which behavior is not deterministic such as random, thus result of execution may be not deterministic too. To fix it we can memorize results of executed functions that we consider non-deterministic, and respect them in final results, for instance, by mocking.
Optimize symbolic analyzing by executing context-free methods
There are functions that don't depend on external variables, we can call this functions context-free. So, for symbolic analyze we can get just result from context-free methods without executing them symbolically.
Dynamic symbolic execution
Developing previous idea we can use concrete executing instead symbolic one on functions and instructions that depend on only variables with concrete values. To do this we should analyze memory usage and separate it on concrete and symbolic types.
All reactions