What is a "specific performance"?

I came across the terms "concrete and symbolic execution" when I went through the concept of concolic testing . (In the article mentioned there, “CUTE: A Bridge Testing Module for C” uses this term in its abstract section.)

"The approach used is based on previous work combining symbolic and concrete execution, and more specifically, using such a combination to generate test input data to study all possible execution paths."

Can anyone confirm what “concrete execution” means? Despite my search, I could not find any direct quotes / explicit statements.

From what I understood, “concrete execution” means “execution of a program with actual input values ​​as opposed to symbolic execution, which takes symbolic values ​​for variables, inputs, etc.” If I am wrong, please correct me (if possible, with a small example).

+6
source share
2 answers

Consistent execution is a combination between CONCrete and symOLIC for feasibility.

Symbolic execution allows us to execute a program through all possible execution paths, thereby achieving all possible path conditions (path condition = a set of logical constraints that leads us to a certain point of execution). The problem is that, with the exception of trace elements, the cost of executing a program through all possible paths of execution is exponentially high, and therefore prohibitive.

On the other hand, if we provide symbolic execution with specific values, you can lead it through a specific execution path (without going through all of them) and achieve the corresponding path condition. It is possible.

Hope this answers your question.

+12
source

In the context of which you spoke, I am sure that “concrete execution” means the actual execution of the program on certain inputs and viewing what is happening. The article "concolic testing" associated with you offers a hybrid approach between testing on specific inputs (concrete execution, which is complete but unreasonable) and symbolic testing (symbolic execution, which sounds, but incomplete).

Hope this helps!

+1
source

Source: https://habr.com/ru/post/981489/


All Articles