CVISE(1)
π CVISE(1) π
okay so bestie, welcome to cvise β that's section 1 of the manual, "User Commands" β and no cap, this thing is a super-parallel Python port of the C-Reduce project. it takes your big messy test case and shrinks it down to the tiny little diva that still reproduces the bug. slay. β¨
β¨ NAME β¨
cvise β super-parallel Python port of the C-Reduce project π¦
πΈ DESCRIPTION πΈ
so here's the whole vibe, and the usage line is literally this, verbatim, don't touch it:
usage: cvise [-h] [--n N] [--tidy] [--shaddap] [--die-on-pass-bug]
[--sllooww]
[--also-interesting EXIT_CODE] [--debug] [--log-level
{INFO,DEBUG,WARNING,ERROR}] [--log-file LOG_FILE] [--no-give-up]
[--print-diff] [--save-temps] [--skip-initial-passes]
[--skip-interestingness-test-check] [--remove-pass REMOVE_PASS]
[--start-with-pass START_WITH_PASS] [--no-timing] [--timestamp]
[--timeout [TIMEOUT]] [--no-cache] [--skip-key-off]
[--max-improvement BYTES] [--pass-group
{all,binary,opencl-120,delta} | --pass-group-file
PASS_GROUP_FILE] [--clang-delta-std
{c++98,c++11,c++14,c++17,c++20,c++2b}]
[--clang-delta-preserve-routine CLANG_DELTA_PRESERVE_ROUTINE]
[--not-c] [--renaming] [--list-passes] [--version] [--commands
COMMANDS] [--shell SHELL] [--to-utf8] [--skip-after-n-transforms
SKIP_AFTER_N_TRANSFORMS] [--stopping-threshold
STOPPING_THRESHOLD] [INTERESTINGNESS_TEST] TEST_CASE [TEST_CASE
...]
C-Vise π
π positional arguments:
INTERESTINGNESS_TESTβ the executable that checks whether a test case is still interesting, aka the little oracle that tells cvise "yes bestie keep it" or "no bestie throw it out" π₯TEST_CASEβ the test cases themselves, give it as many as you want π
π options:
-h,--helpβ show this help message and dip out--n,-n Nβ how many cores to use; C-Vise tries to automatically pick a good setting but its choice may be too low or high for your situation (she's guessing, be nice π)--tidyβ do not make a backup copy of each file to reduce asfile.orig(yes the original really is spelledfile.orig, we don't ask questions)--shaddapβ suppress output about non-fatal internal errors π€«--die-on-pass-bugβ terminate C-Vise if a pass encounters an otherwise non-fatal problem π--slloowwβ try harder to reduce, but perhaps take a long time to do so (the name is the vibe, it's giving patience π)--also-interesting EXIT_CODEβ a process exit code (somewhere in the range64-113would be usual) that, when returned by the interestingness test, will cause C-Vise to save a copy of the variant--debugβ print debug information (it's an alias for--log-level=DEBUG)--log-level {INFO,DEBUG,WARNING,ERROR}β define the verbosity of the logged events--log-file LOG_FILEβ log events intoLOG_FILEinstead of stderr. new events are appended to the end of the file--no-give-upβ don't give up on a pass that hasn't made progress for50000iterations (she believes in it π«Ά)--print-diffβ show changes made by transformations, for debugging--save-tempsβ don't delete/tmp/cvise-xxxxxxdirectories on termination--skip-initial-passesβ skip initial passes (useful if input is already partially reduced)--skip-interestingness-test-check,-sβ skip initial interestingness test check--remove-pass REMOVE_PASSβ remove all instances of the specified passes from the schedule (comma-separated)--start-with-pass START_WITH_PASSβ start with the specified pass--no-timingβ do not print timestamps about reduction progress--timestampβ print timestamps instead of relative time from a reduction start--timeout [TIMEOUT]β interestingness test timeout in seconds--no-cacheβ don't cache behavior of passes--skip-key-offβ disable skipping the rest of the current pass whensis pressed--max-improvement BYTESβ largest improvement in file size from a single transformation that C-Vise should accept (useful only to slow C-Vise down π)--pass-group {all,binary,opencl-120,delta}β set of passes used during the reduction--pass-group-file PASS_GROUP_FILEβJSONfile defining a custom pass group--clang-delta-std {c++98,c++11,c++14,c++17,c++20,c++2b}β specifyclang_deltaC++ standard, it can rapidly speed up allclang_deltapasses β‘--clang-delta-preserve-routine CLANG_DELTA_PRESERVE_ROUTINEβ preserve the given function inreplace-function-defwith-declclang delta pass--not-cβ don't run passes that are specific to C and C++, use this mode for reducing other languages π--renamingβ enable all renaming passes (that are disabled by default)--list-passesβ print all available passes and exit--versionβ show program's version number and exit--commands,-c COMMANDSβ use shell commands instead of an interestingness test case--shell SHELLβ use selected shell for the--commandsoption--to-utf8β convert any non-UTF-8 encoded input file to UTF-8--skip-after-n-transforms SKIP_AFTER_N_TRANSFORMSβ skip each pass after N successful transformations--stopping-threshold STOPPING_THRESHOLDβ CVise will stop reducing a test case once it has reduced by this fraction of its original size. between0.0and1.0.
π available shortcuts:
Sβ skip execution of the current passDβ toggle--print-diffoption
for bug reporting instructions, please use: https://github.com/marxin/cvise/ π
and that's the whole page bestie, go forth and reduce π§β¨
this was cvise 2.12.0, dated October 2025, from the CVISE(1) page β mwah, ily, bye ππ
π¦ where this page comes from
- ubuntu questing: cvise 2.12.0-1ubuntu1
- ubuntu resolute: cvise 2.12.0-2 Β· BSD-3-Clause
- ubuntu stonking: cvise 2.12.0-4 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms