)]}'
{
  "commit": "dfcb5a1e1042f2debae1ca11405d5d2e508e50c5",
  "tree": "97096ea27ba5345de78bf20246d62f89d484a729",
  "parents": [
    "888aeef8a908f881d83ab70f0b5f42d4da4b050f"
  ],
  "author": {
    "name": "Alastair Donaldson",
    "email": "afdx@google.com",
    "time": "Tue Jun 25 20:49:46 2019 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Jun 25 20:49:46 2019 +0100"
  },
  "message": "Refactor fuzzer transformations (#2694)\n\nIntroduced abstract class for transformations, and refactored all transformations to inherit from this abstract class.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a12e4f4fb80d55f1c25b1ae44031ff48a5c38703",
      "old_mode": 33188,
      "old_path": "source/fuzz/CMakeLists.txt",
      "new_id": "2e065b72c5c57a652d2a52dd6f8ca1a55dce5abc",
      "new_mode": 33188,
      "new_path": "source/fuzz/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "eef28d91dea5eb890030cc2e634d2e30d490d722",
      "old_mode": 33188,
      "old_path": "source/fuzz/fuzzer_pass_add_dead_breaks.cpp",
      "new_id": "62e2a8b8913d4e0bec118823f2e46f617e80fd53",
      "new_mode": 33188,
      "new_path": "source/fuzz/fuzzer_pass_add_dead_breaks.cpp"
    },
    {
      "type": "modify",
      "old_id": "23606debaecad5f318705434ef27e38e53ea21ac",
      "old_mode": 33188,
      "old_path": "source/fuzz/fuzzer_pass_add_useful_constructs.cpp",
      "new_id": "6ac4ae97143def4c753ba92ce40e3a4e6ff98047",
      "new_mode": 33188,
      "new_path": "source/fuzz/fuzzer_pass_add_useful_constructs.cpp"
    },
    {
      "type": "modify",
      "old_id": "36fcb8bd564dc6045e4db74a51a7462e552af5ed",
      "old_mode": 33188,
      "old_path": "source/fuzz/fuzzer_pass_obfuscate_constants.cpp",
      "new_id": "ff52ea9b3e0eaa82a6a28c11cf260b17f14458be",
      "new_mode": 33188,
      "new_path": "source/fuzz/fuzzer_pass_obfuscate_constants.cpp"
    },
    {
      "type": "modify",
      "old_id": "34131dc4ccfdac47f70e3f167dfc04b7825ac7d4",
      "old_mode": 33188,
      "old_path": "source/fuzz/fuzzer_pass_permute_blocks.cpp",
      "new_id": "7ab2ee3e0da2bb1fbf99e9742c1cd1c7edb4a2e1",
      "new_mode": 33188,
      "new_path": "source/fuzz/fuzzer_pass_permute_blocks.cpp"
    },
    {
      "type": "modify",
      "old_id": "7c023987ff16ecb69ccc161fefbe6876d2a51689",
      "old_mode": 33188,
      "old_path": "source/fuzz/fuzzer_pass_split_blocks.cpp",
      "new_id": "39f84ecf59e8421c513f58562d6b4e6308c7034c",
      "new_mode": 33188,
      "new_path": "source/fuzz/fuzzer_pass_split_blocks.cpp"
    },
    {
      "type": "modify",
      "old_id": "9c9967549294de2232b9f15840e539c45abffea4",
      "old_mode": 33188,
      "old_path": "source/fuzz/replayer.cpp",
      "new_id": "951b2a5d071889fd1c05bcfc9d7dec19cd16b331",
      "new_mode": 33188,
      "new_path": "source/fuzz/replayer.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "18a66d41ebdb4e3f35a0ac86d22616477f0517a7",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c6b852fd787ac2f74e83788f3081fab74cbced46",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation.h"
    },
    {
      "type": "modify",
      "old_id": "f5488e6ddd6321b09c7975b153da0b3c0bc654da",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_constant_boolean.cpp",
      "new_id": "21c8ed3fcfc2a7b49187373238c5265d4b6ea409",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_constant_boolean.cpp"
    },
    {
      "type": "modify",
      "old_id": "f336de14245118b8adfe8c7ba96aef579b629251",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_constant_boolean.h",
      "new_id": "79df1cdaf71a52123830d2bd436a5437f8c66812",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_constant_boolean.h"
    },
    {
      "type": "modify",
      "old_id": "1f0ef723d2b68cbf505c0171a3f187b3d00fca7c",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_constant_scalar.cpp",
      "new_id": "36af5e01cc29128949b3fd6160717e281c251faa",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_constant_scalar.cpp"
    },
    {
      "type": "modify",
      "old_id": "0279feb79d35fedf9b69fc1daa7dff0f1f073e29",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_constant_scalar.h",
      "new_id": "914cfe62afa35d956710bde3cb289689ba66c6ea",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_constant_scalar.h"
    },
    {
      "type": "modify",
      "old_id": "e5da8c9b69b44f2b54a29af32870e2e47cf843a9",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_dead_break.cpp",
      "new_id": "7b55f474cd8b1ed6282143327ad4a99254a39edb",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_dead_break.cpp"
    },
    {
      "type": "modify",
      "old_id": "c99e3ff2337bbab03c249cebf4c743996bd7b175",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_dead_break.h",
      "new_id": "23392ba58edc28bda88ad59b1cd8347c3cc6f806",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_dead_break.h"
    },
    {
      "type": "modify",
      "old_id": "0a26b9651c263de5448ed3d226624e4e8e7f7daf",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_type_boolean.cpp",
      "new_id": "b55028a6bec9b9795b58109d7eaf5ceb3d000b7b",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_type_boolean.cpp"
    },
    {
      "type": "modify",
      "old_id": "4361acfa41c7892e56e757271ece6147eb20f07b",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_type_boolean.h",
      "new_id": "98c1e639c7fb23946138083fd22977b25186052a",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_type_boolean.h"
    },
    {
      "type": "modify",
      "old_id": "1a5ce4662f449d41dc8061c6e170ab137df62054",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_type_float.cpp",
      "new_id": "d2af5f885b463a26b25dba949cf0eb0dd4f82eb2",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_type_float.cpp"
    },
    {
      "type": "modify",
      "old_id": "ac54193a53296858fa55d44832a658e2fb30106f",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_type_float.h",
      "new_id": "0fdc8314efcb69a03955fe89fdb5eb9db29b7f8d",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_type_float.h"
    },
    {
      "type": "modify",
      "old_id": "749294a98e6c8630653e5e82e3421e673a774e34",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_type_int.cpp",
      "new_id": "6f592709a80318cfeb236c0bbfa9528fe7391da9",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_type_int.cpp"
    },
    {
      "type": "modify",
      "old_id": "9e0264b5a28677a0d5396444aac5b38b5970c529",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_type_int.h",
      "new_id": "86342d06ddd64ed665ab8d7545a1837d39728762",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_type_int.h"
    },
    {
      "type": "modify",
      "old_id": "9098cba89bbeebda78a49e7e96f7fb2204e432c5",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_type_pointer.cpp",
      "new_id": "426985a37eba443b8ec6f1399424f656bfd17d15",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_type_pointer.cpp"
    },
    {
      "type": "modify",
      "old_id": "2cc4d30a2aa7f4e015a57dd1cfd7fbb378c0414b",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_add_type_pointer.h",
      "new_id": "2b9ff77fdb1e9016a18574acc223aa77d3e3ba37",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_add_type_pointer.h"
    },
    {
      "type": "modify",
      "old_id": "858af741ab5c002c7537c32f349affd8ad846fe2",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_move_block_down.cpp",
      "new_id": "916913f75ca132335c56312bd01c5ffba1ddb68b",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_move_block_down.cpp"
    },
    {
      "type": "modify",
      "old_id": "072ad5392d15fe9c9a69490c568152b6e1fdca97",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_move_block_down.h",
      "new_id": "1b5a256fa9466a3b7f515096248c28b95e5258bc",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_move_block_down.h"
    },
    {
      "type": "modify",
      "old_id": "85844c5444b6576a0c40febd24b576587010c3d7",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_replace_boolean_constant_with_constant_binary.cpp",
      "new_id": "91b4007c271e389caf7c2f68ddc0322818e50d11",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_replace_boolean_constant_with_constant_binary.cpp"
    },
    {
      "type": "modify",
      "old_id": "a6dae2acf468791b31cbc2895e3738487df2b8d4",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_replace_boolean_constant_with_constant_binary.h",
      "new_id": "c38409395de7d6488ca4cde618de14e2433be719",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_replace_boolean_constant_with_constant_binary.h"
    },
    {
      "type": "modify",
      "old_id": "cc6e1374af1bcab65fb969fb4d4e57d47e5918f8",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_replace_constant_with_uniform.cpp",
      "new_id": "48334ba9615f4a20e3670ab6a2feca2a314beb1c",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_replace_constant_with_uniform.cpp"
    },
    {
      "type": "modify",
      "old_id": "0112e8078d7ada5abbe7010fa2cd827ada9d33f6",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_replace_constant_with_uniform.h",
      "new_id": "ed354b1dbcb7240bc4e9f36afcd52e10bc40a55a",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_replace_constant_with_uniform.h"
    },
    {
      "type": "modify",
      "old_id": "943bed07a00542b3d10201edc30131674d5a6cf1",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_split_block.cpp",
      "new_id": "a8c33ded936472b21db6164a62db4383fac663a4",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_split_block.cpp"
    },
    {
      "type": "modify",
      "old_id": "9ae419bc32e5432f35d68114fcbd270f1d14a466",
      "old_mode": 33188,
      "old_path": "source/fuzz/transformation_split_block.h",
      "new_id": "ef4aa759682eb4a9e4281e0e2782b5794850e11e",
      "new_mode": 33188,
      "new_path": "source/fuzz/transformation_split_block.h"
    },
    {
      "type": "modify",
      "old_id": "96dab6407ecfad71fc5cdf3c327774f87ba20251",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_add_constant_boolean_test.cpp",
      "new_id": "f51c46bf4199757ace80a313220fb88eafc9fd7f",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_add_constant_boolean_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "5d4bac65fedef0c27c5094d767dc9324d6284d44",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_add_constant_scalar_test.cpp",
      "new_id": "b15611124e2fb42a1a5a4b2a093d856a9d38dc22",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_add_constant_scalar_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "b664a59914b609f3b4019cdcfacb88186cf89160",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_add_dead_break_test.cpp",
      "new_id": "99bc9d960f4ad78c3cb9865830770353194f74e5",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_add_dead_break_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "9d13d73636fde4e9a61f70c87975c357c0a46fcd",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_add_type_boolean_test.cpp",
      "new_id": "9975953baca86a8bebe800c7e9fdcfdbd8cf0558",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_add_type_boolean_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "4c574189b9c9bf2934bb3a1589b3939b0342361c",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_add_type_float_test.cpp",
      "new_id": "67408da5a0d1f68c3bfa2cf2163ecc59313770ae",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_add_type_float_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "a46e5cceede69a630cd72c72265a2bbb9ae4242b",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_add_type_int_test.cpp",
      "new_id": "c6f884c203246d88210cabf5698780efb251bc56",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_add_type_int_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "184b69984e1b9cb12abb5bbe3de3437323bd2546",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_add_type_pointer_test.cpp",
      "new_id": "e36707f54a6eae7d1a2daab6ead6fc2306f8c146",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_add_type_pointer_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "122d007ae794c5fd2ea522bbc19824b88bacd3ce",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_move_block_down_test.cpp",
      "new_id": "5942c6cffbe48625c9817d91f6b8fc4c7db74c46",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_move_block_down_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "8472633ee237c1e263d6111519cce1503bc6ad39",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_replace_boolean_constant_with_constant_binary_test.cpp",
      "new_id": "b97d00f615270c496a4d48b1c6531b9b8207e0cb",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_replace_boolean_constant_with_constant_binary_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "5a101732df65c1f453f18a4989239b8662d26ba9",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_replace_constant_with_uniform_test.cpp",
      "new_id": "06ee025859dd53380d8a1f8dec9de3974309d037",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_replace_constant_with_uniform_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "976e81a88636eac80e9014c8c92d0264815aa8f5",
      "old_mode": 33188,
      "old_path": "test/fuzz/transformation_split_block_test.cpp",
      "new_id": "d33ccba5b2958277e5580f155c381d7f24b0eae1",
      "new_mode": 33188,
      "new_path": "test/fuzz/transformation_split_block_test.cpp"
    }
  ]
}
