On 5/12/11 4:34 AM, haihao shen wrote:I am sorry I missed it.[Haihao] Does "statement_assign_prob=100" mean the total prob for statement_prob is 100%? Is always the latter one minus the former? How about "statement_for_prob=30,statement_ifelse_prob=15"? Please explain more ;)
The above example means that we have (100-60)% chance to get assignment statements, (15-0)% to have if-else statements and (30-15)% to for statements. If the probability value for a statement type is 0, Csmith won't generate that kind of statements, for example, "statement_block_prob = 0" means that Csmith is not going to produce "standalone" block statements (besides those block statements belonging to if-else and for).
- Yang
On Thu, May 12, 2011 at 6:33 PM, Yang Chen <chenyang@cs.utah.edu> wrote:
On 5/12/11 4:29 AM, haihao shen wrote:Yes :)
No. The probabilities are not sorted in the output (Maybe we should do that). For example, Here is a sample output:
However, in the latest generated sample configure file by csmith, statement_assign_prob=100, statement_block_prob=0. Does it mean only -100% chance to get statement_block_prob?
[statement_prob,statement_assign_prob=100,statement_block_prob=0,statement_for_prob=30,statement_ifelse_prob=15,
statement_return_prob=35,statement_continue_prob=40,statement_break_prob=45,statement_goto_prob=50,
statement_arrayop_prob=60]
It means that we have (15-0)% = 15% change to generate if-else statements, (35-15)% = 20% chance to generate return statements, etc.
[Haihao] Next is 40-35? 45-40? 50-45?
(40-35)% for continue statements, (45-40)% for break statements and (50-45)% for goto statements.
- Yang