Skip to content

Shrinker for spirv-fuzz#2708

Merged
afd merged 8 commits intoKhronosGroup:masterfrom
afd:fuzzer-simple-shrinker
Jul 7, 2019
Merged

Shrinker for spirv-fuzz#2708
afd merged 8 commits intoKhronosGroup:masterfrom
afd:fuzzer-simple-shrinker

Conversation

@afd
Copy link
Copy Markdown
Contributor

@afd afd commented Jul 2, 2019

Adds to spirv-fuzz the option to shrink a sequence of transformations that lead to an interesting binary to be generated, to find a smaller sub-sequence of transformations that still lead to an interesting (but hopefully simpler) binary being generated. The notion of what counts as "interesting" comes from a user-provided script, the "interestingness function", similar to the way the spirv-reduce tool works. The shrinking process will give up after a maximum number of steps, which can be configured on the command line.

Tests for the combination of fuzzing and shrinking are included, using a variety of interestingness functions.

@afd afd requested a review from paulthomson July 2, 2019 15:55
Copy link
Copy Markdown
Contributor

@paulthomson paulthomson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comments

@afd afd requested a review from paulthomson July 4, 2019 11:11
Copy link
Copy Markdown
Contributor

@paulthomson paulthomson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but I think the tests are still failing

afd added 3 commits July 5, 2019 11:55
…rinker test, to try to understand why some CI targets fail.
workout, but about which we cannot expect anything other than the
shrinker not crashing.
@afd afd merged commit b8ab808 into KhronosGroup:master Jul 7, 2019
@afd afd deleted the fuzzer-simple-shrinker branch July 7, 2019 07:55
dneto0 pushed a commit to dneto0/SPIRV-Tools that referenced this pull request Sep 14, 2024
Roll third_party/re2/ 848dfb7e1..e356bd3f8 (6 commits)

google/re2@848dfb7...e356bd3

$ git log 848dfb7e1..e356bd3f8 --date=short --no-merges --format='%ad %ae %s'
2019-07-07 junyer Make RE2::Set canonicalize DFA states.
2019-07-05 junyer Fix SimplifyStringSet() for really reals. And the test.
2019-07-04 junyer Don't let Prefilter::OrStrings() return NULL.
2019-07-04 junyer Fix SimplifyStringSet() properly. Ensure test coverage.
2019-07-04 junyer Fix a typographical error.
2019-07-04 junyer Stop SimplifyStringSet() from finding "" in everything.

Roll third_party/spirv-cross/ 9a6e2534e..53ab2144b (7 commits)

KhronosGroup/SPIRV-Cross@9a6e253...53ab214

$ git log 9a6e2534e..53ab2144b --date=short --no-merges --format='%ad %ae %s'
2019-07-08 post Fall back to complex loop if non-trivial continue block is found.
2019-07-08 post Add test shaders for NonUniformEXT propagation.
2019-07-08 post Propagate NonUniformEXT to dependent expressions.
2019-07-05 post Add simple test for extended debug operations.
2019-07-04 lifeng.pan Parse SPIR-V debug information extended instructions, as well as OpNoLine.
2019-07-03 post Don't use scalar dot().
2019-07-03 post MSL/HLSL: Support scalar reflect and refract.

Roll third_party/spirv-headers/ 123dc27..29c1114 (1 commit)

KhronosGroup/SPIRV-Headers@123dc27...29c1114

$ git log 123dc27..29c1114 --date=short --no-merges --format='%ad %ae %s'
2019-06-15 antiagainst Reserve ID 23 for MLIR SPIR-V Serializer

Roll third_party/spirv-tools/ 9702d47..b8ab808 (5 commits)

KhronosGroup/SPIRV-Tools@9702d47...b8ab808

$ git log 9702d47..b8ab808 --date=short --no-merges --format='%ad %ae %s'
2019-07-07 afdx Shrinker for spirv-fuzz (KhronosGroup#2708)
2019-07-04 stevenperron Perform merge return with single return in loop. (KhronosGroup#2714)
2019-07-04 stevenperron Do not inline OpKill Instructions (KhronosGroup#2713)
2019-07-04 afdx Refactor reducer options (KhronosGroup#2709)
2019-07-03 52076061+digit-google Fix BUILD.gn for Fuchsia platform build. (KhronosGroup#2692)

Created with:
  roll-dep third_party/effcee third_party/glslang third_party/googletest third_party/re2 third_party/spirv-cross third_party/spirv-headers third_party/spirv-tools
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants