[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [csmith-dev] arthur's bugs
By the way, I've been wondering about your original motivation for
printing only a final checksum,
Basically two reasons.
First, we wanted to give the compiler maximum freedom to mess with the
program without being constrained by the optimization-squashing
restrictions of an external function call.
Second, we wanted to keep things simple for the test harness by letting it
deal with a single integer as the program output.
For testcase minimization purposes the checksum is less than ideal. Note
however that you can give a Csmith program a "1" for its first command line
argument, causing it to print all globals at the end, in addition to
checksumming them. Also, there's a Csmith flag which causes it to just
emit a bunch of printfs instead of the checksum stuff.
I've seen you mention it on your blog before, but I've never looked at
it. I would assume that your long-term goal is to incorporate a
reducer directly into Csmith, though, rather than improving that
In fact Xuejun has built a fairly aggressive reducer into Csmith based on
exactly the ideas you mention. The problem is that it adds a fair amount
of complexity into an already complex program and also it ties the reducer
to a specific Csmith version.
Also, sometime we want to reduce a program not emitted by Csmith at all.
So we're pursuing both approaches.