csmith-project / creduce

C-Reduce, a C and C++ program reducer
Other
1.47k stars 128 forks source link

Make renaming optional #202

Open marehr opened 4 years ago

marehr commented 4 years ago

Is there an option to make all renaming optional?

I have two use cases:

I find myself often in a situation where I let creduce run overnight, but it fails to reduce everything and I need manual intervention. This is much easier with descriptive names.

If for example my (complicated) code base ICEs. Normally it is easier to find a workaround on a reduced snippet and then apply it on the code base. For that I must be able to find the offending code in the unreduced test case. This is much easier if I have some keywords to search for.

Thank you!

marehr commented 4 years ago

Oh there is a PR https://github.com/csmith-project/creduce/pull/200#issuecomment-574622204 to manually remove passes. I think there should be a standalone flag that removes the renaming passes using that functionality.

dgrunwald commented 4 years ago

This is what I've been using: creduce --remove-pass pass_clang rename-fun --remove-pass pass_clang rename-param --remove-pass pass_clang rename-var --remove-pass pass_clang rename-class --remove-pass pass_clang rename-cxx-method --remove-pass pass_clex rename-toks

It would be nice to have a single option to simplify all of this.

marxin commented 4 years ago

That's exactly what I implemented for cvise:

  --no-renaming         Skip all renaming passes