[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [csmith-dev] Some random questions
I learnt from "scripts/compiler_test.pl <http://compiler_test.pl>"
that, a wrong code bug is determined by comparing the checksum output
value generated across
different optimization levels. So if a compiler wrong-code bug
exists across all optimization, how do i find it?
Bugs where a compiler emits the same wrong code at all optimization
levels are easy to find: you just need to include two independently
developed compilers in the set of compilers to test. We often test
Clang against GCC. Since most compiler bugs are in the optimizers, it
is quite uncommon to find these bugs. But it happens.
2. Suppose if set "bitfields_creation_prob=100" (100% probability?) in
my configuration file and use it to generate a testcase, should the
testcase contain atleast one bitfield structure in it? For me,
setting "bitfields_creation_prob=100" didn't create any testcase with
bitfield in it. i'm bit
It does not mean that your program will always contain bitfields. Yang
can explain the probability file more, but please do not consider these
to be a well-supported feature of Csmith.
If you want programs that always contain bitfields, you should generate
a lot of programs and filter out the ones you do not want.
3. What is the the ideal timeout value for csmith to generate a
testcase. Can i consider $CSMITH_TIMEOUT = 90; itself? or it may take
more than that also?
In my experience it can take longer than any timeout :). 90 seconds is
4. I'm not able to understand some of the statistics generated at the
end of each test case. i.e.
XXX max struct depth: 1
depth: 0, occurrence: 412
depth: 1, occurrence: 37
XXX max expression depth: 2
depth: 0, occurrence: 417
depth: 1, occurrence: 35
depth: 2, occurrence: 2
Xuejun will have to explain this.