Closed Earthwater closed 5 years ago
You are right. --max_event
and $g_maximum_events
indicate the maximal number of events that are allowed to construct the app model.
At one iteration, Stoat only sends one event. So it makes senses to compare $g_maximum_events
with $default_A3E_iteration
. In rec.rb, $default_A3E_iteration
increases one time when one event is executed (see this code line)
Let me know if you still have confusion.
Thanks a lot! The iteration equals to actions in FSM period indeed.
But i also noticed that in MCMC sampling period, the mcmc_iteration(default set as 500 when invoke agentManager.rb) usually be very small like 6(while the iteration could be 200 with 20 minutes and 2s delay in FSM period),so does that mean the mcmc_iteration in MCMC sampling period is not same as actions in meaning.
If it is yes, how could i set the max actions allowed to be executed during MCMC sampling period as the setting of '--max_event' in FSM period?
Thanks a lot!
Okay. I understood what is your confusion. Let me illustrate this.
In model construction (fsm), the option --max_event
specifies the maximum number of events that are allowed to explore the app.
In MCMC sampling (mcmc), Stoat does not use the option --max_event
to constrain the testing resource. As you can see this line:
Stoat uses the option --max_iteration
to specifiy the maximum allowed resource. In MCMC sampling, each iteration will generate a set of test cases (i.e., a test suite, one test case therein corresponds to a sequence of events) to execute. It then guides the test suite generation during each iteration.
You can also refer to this tool paper for more details (https://tingsu.github.io/files/nasac2017-stoat.pdf)
Thanks very much! I understand it now. Very appreciate it.
--max_event, the meaning provided by stoat is the max num of executed events
But, with serious check, it firstly be passed to a3e by '--events' (treated as $g_maximum_events ), and then the variable compared with this $g_maximum_events is $default_A3E_iteration.
However, one iteration may have many events that could be executed.
Hence, here may exist some confusion