[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [csmith-dev] Random configuration file for csmith



On 5/12/11 4:34 AM, haihao shen wrote:
[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 ;)

I am sorry I missed it.

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:


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?

No. The probabilities are not sorted in the output (Maybe we should do that). For example, Here is a sample output:

[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?

Yes :)

(40-35)% for continue statements, (45-40)% for break statements and (50-45)% for goto statements.

- Yang