)]}'
{
  "log": [
    {
      "commit": "c7c3d851fdc9a1f7cba0a6c27ba861edd526b116",
      "tree": "e53a745dc493185b77f312bce42ff6d6782e4a57",
      "parents": [
        "a073f1f50a7bcc981c8d3d4bb7c3a267644af1e2"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Fri Jun 30 17:10:38 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Wed Jul 05 15:41:21 2017 -0700"
      },
      "message": "Invoke Changer\n\nThis mutator changes the invoke call to a different one.\n\nTest: ran dexfuzz and waited until this\nmutation(InvokeChanger.java) came up. ran dexdump2 and found the diff.\nChange-Id: I38e9b6523b36319ff1b2785d00e4f51943664b23\n"
    },
    {
      "commit": "abae6379353e4dec21d9e1ac707fd061049c99d8",
      "tree": "aa32e73261effc545de42622ac4ddfaa68aa538c",
      "parents": [
        "58de3f7394a86425fa80f69439e736cc16ef61c5"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Thu Jun 22 15:03:02 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Thu Jun 29 14:20:13 2017 -0700"
      },
      "message": "If branch changer which changes the opcodes.\n\nThis program mutates the program by changing the current if comparision\noperators.\n\nTest: run dexfuzz with the two mutations\nChange-Id: I1b8a3009bc829678d84f3f2fb42d0e6ba3deeb0a\n"
    },
    {
      "commit": "35dd8dc17e48f6530adc8f74a7b8e4d8eaa76931",
      "tree": "cc05222f32977da9504d7a09aae88675cc0414f0",
      "parents": [
        "854461a4cd5e4a38debe3616e12b52fe7f160782"
      ],
      "author": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Thu Jun 08 09:30:55 2017 -0700"
      },
      "committer": {
        "name": "Sumnima Joshi",
        "email": "sumnima@google.com",
        "time": "Thu Jun 08 13:43:48 2017 -0700"
      },
      "message": "Documented serialization method in dexfuzz mutator class\n\nThis  was done to explain why the getstring method and parse string\nmethods are used in the class.\n\nTest: skipped\nChange-Id: Ib48934f6e81023eebde713416d7fea019720e8ae\n"
    },
    {
      "commit": "daacc5ed75cfa1de26c22d48efc82acb8245afef",
      "tree": "e07aed148283483af0fe752c574bbb77a1961a1f",
      "parents": [
        "6579b099786c8cac8fdb0c86d98ad4b232a52ea0"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 16 12:53:49 2017 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 16 12:54:42 2017 -0700"
      },
      "message": "Quiet run for nightly fuzzing (and some minor edits)\n\nRationale:\nMaking the output of nightly fuzzing test runs easier to read.\n\nChange-Id: I2219468574c9f5ece8c50965a1cda5e75000e6ed\nTest: nightly fuzzer\n"
    },
    {
      "commit": "49cda06d5bf003f588ba7839bbf89d606237dfa7",
      "tree": "bc97607c6ae33a69ebdea2346c781f7ac238c9e3",
      "parents": [
        "aa03f6fa38da0166790f2b22b679e6568ad56f7d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 13:08:25 2017 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 21 13:25:15 2017 +0100"
      },
      "message": "Rename and obsolete compiler filter names.\n\nART side of the change.\n\nbug:34715556\ntest: test-art-host, jdwp, libcore\nChange-Id: I3a73ae4af2d602431150c8ecfceaddb9ba519cee\n"
    },
    {
      "commit": "5618a576c2ac71ebc4e3351055d80ca6e4849c01",
      "tree": "b26615aeba12d50effbeaeac8b9ef22f6fbf107e",
      "parents": [
        "84b93b2d9ff806679f98b13ed4a96ac1a310b5a5"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jan 24 10:27:52 2017 -0800"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue Jan 24 16:21:37 2017 -0800"
      },
      "message": "Minor edits to make nightly reports.\n\nRationale:\nbit more output that helps interpreting the nightly results;\nalso fixed a bit of bitrot in the dexfuzz runners.\n\nTest: nightly fuzzer\nChange-Id: I342968bd2b21e86539c4ec03b6a167c7844d2a7c\n"
    },
    {
      "commit": "626aa2c27db883c35affa732e768b208da910eba",
      "tree": "1440471233218bbd695ead4f01a5303eb5ff7870",
      "parents": [
        "fff9d4474a60030b443b7f2fed0d61e228718491"
      ],
      "author": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Fri Dec 23 16:19:09 2016 +0000"
      },
      "committer": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Fri Jan 20 11:50:46 2017 +0000"
      },
      "message": "Dexfuzz: Added --divergence-retry option.\n\nThis option controls the number of retries done when checking for self-divergence.\n\nTest: dexfuzz --inputs\u003dseeds --execute --arm --optimizing --interpreter --repeat\u003d100 --divergence-retry\u003d20\n\nChange-Id: I90e2705e40c6f23d47ddbb856828147c4f6a4157\n"
    },
    {
      "commit": "02de20038ae0b75d809c33eb0b36127dff7e7220",
      "tree": "bb7fe35a16bb28c4388406b70100e5d8c78b2ee3",
      "parents": [
        "3d32bf0b1e9469ffcb7fd7793d56d0193e1d5d5c"
      ],
      "author": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Wed Nov 23 13:42:13 2016 +0000"
      },
      "committer": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Mon Dec 05 11:18:21 2016 +0000"
      },
      "message": "Fixed a few bugs in dexfuzz:\n\n- Set error level on exit when there are divergences.\n- Fix cleanCodeCache not preprending adb shell.\n- Fixed clearCache.\n- Fixed bug in reading end of try block.\n- Fixed bug in shifting try block.\n- Fixed a bug reading debug info.\n\nTest: Extract dex files from art-tests as named below and test run commands:\ndexfuzz --arm --interpreter --optimizing --repeat\u003d2 --execute --input\u003dseeds/068-classloader.dex\ndexfuzz --arm --interpreter --optimizing --repeat\u003d2 --execute --input\u003dseeds/510-checker-try-catch.dex\nYou should not get errors.\n\nChange-Id: I0e0fb6dc27ef6f828a6427b088f6b2ca36aae243\n"
    },
    {
      "commit": "10096becf60af4f0164db861d91e239177e1f47e",
      "tree": "e623dafee5e746ca7a96928f127f0ae288be0ae7",
      "parents": [
        "d7a7c7f3e93de9fa915e66d54dfc799efcc12ffb",
        "2194a6ffe9014a7ac969ed730eaea20c68de1a1f"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Wed Nov 30 00:26:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 30 00:26:22 2016 +0000"
      },
      "message": "Merge \"Added support for android root in dexfuzz.\""
    },
    {
      "commit": "2e44560338780dd1877f7cf8ac18e67a50ef0b2d",
      "tree": "4b0fa15c180d31fde2faebabaf84e591c4fa92d5",
      "parents": [
        "d34d4f303bff900249cce15ff5e4a3844f71546b"
      ],
      "author": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Tue Nov 29 14:02:04 2016 +0000"
      },
      "committer": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Tue Nov 29 14:21:20 2016 +0000"
      },
      "message": "Disabled fallback to interpreter in dexfuzz.\n\nAdded the -Xno-dex-file-fallback option when running optimizing backends so\nthat it fails in case compilation fails.\n\nTest: Introduce an artificial crash in the optimizing compiler. There should\nbe a divergence reported.\ndexfuzz --input\u003dHello.dex --execute --arm --interpreter --optimizing --repeat\u003d20 --dump-output\n\nChange-Id: I8adfc68b176b7482efce0cc7335c3cc50857c5a2\n"
    },
    {
      "commit": "2194a6ffe9014a7ac969ed730eaea20c68de1a1f",
      "tree": "47e6c9e3628ca32718bbb01b70d0b3e2db17d883",
      "parents": [
        "c23d5e478365914f08477b7aca151a140e063b55"
      ],
      "author": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Wed Nov 23 13:44:28 2016 +0000"
      },
      "committer": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Tue Nov 29 11:14:32 2016 +0000"
      },
      "message": "Added support for android root in dexfuzz.\n\nTest: Execute dexfuzz with option --android-root\u003dfolder\nAll tests should be VerifyFail since folder does not exist on device.\n\nChange-Id: I3f1d75386475661f09bc2a4d2c8ae3e94a202526\n"
    },
    {
      "commit": "f559b572db39dce9228dcf08a36c63b8f35b3d00",
      "tree": "e54cef7952405738d9dbdd3d9716d0a3d0faa019",
      "parents": [
        "7b7a78e81128c30865b2b17a6f77bee286cbde74"
      ],
      "author": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Wed Nov 23 11:41:43 2016 +0000"
      },
      "committer": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@linaro.org",
        "time": "Thu Nov 24 14:15:24 2016 +0000"
      },
      "message": "Removed quick support from dexfuzz.\n\nTest: Execute: dexfuzz --quick. You should get the following error:\n[ERROR] Unrecognised flag: --quick\n\nChange-Id: Iccc5509edfa5e5febfd67904d1d2d76336975070\n"
    },
    {
      "commit": "83d3b79af2b607d2a1991f7438196263e7ea68ef",
      "tree": "604965fbd9de230732e417fc58c5896aefe7790c",
      "parents": [
        "7f7fb9c0dcb5fc0ed251b3f9bb775de5278534a7"
      ],
      "author": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Wed Sep 28 17:51:06 2016 -0700"
      },
      "committer": {
        "name": "Wojciech Staszkiewicz",
        "email": "staszkiewicz@google.com",
        "time": "Fri Sep 30 16:18:11 2016 -0700"
      },
      "message": "Integrate dexfuzz with bisection search\n\nAdds --bisection-search switch to dexfuzz. When specified makes\ndexfuzz run bisection search on discovered output divergences.\n\nBisection search output is saved to bisection_outputs/ directory which\nis assumed to be present.\n\nIf --bisection-search is used, bisection_search.py has to be on PATH.\n\nTest: ./run_dex_fuzz_test.py , with hardcoded change to emit a known\ndivergent program instead of calling jfuzz.\n\nChange-Id: I8fcb45e201761f1f05adee74e6b8636bcc452332\n"
    },
    {
      "commit": "4c8bacc07b20babb6cc9ae777e53ba72c66e8599",
      "tree": "a7c19bc02f6e97a4ce5ce8f639e311e2ebd4c6e6",
      "parents": [
        "fde261814318ba1fdab5cc371c9220286173d997"
      ],
      "author": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Fri May 20 10:45:57 2016 -0700"
      },
      "committer": {
        "name": "Aart Bik",
        "email": "ajcbik@google.com",
        "time": "Tue May 24 10:15:17 2016 -0700"
      },
      "message": "Fix minor issues that prevented DexFuzz to run on host.\n\nBUG\u003d27036745\n\nChange-Id: I8715efb9219f25c6b8ae2d14c5bdcfd83f881d40\n"
    },
    {
      "commit": "fa8598dc6ef0358c20109faf58101425bbd80941",
      "tree": "3013d616012c5acfae594e78d91a1ce4d69b1194",
      "parents": [
        "f4849547579504fc660fe601687f7c60242473bb"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Feb 29 21:09:08 2016 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Mar 01 21:02:58 2016 -0800"
      },
      "message": "Remove references to $(ACP)\n\nWe\u0027re changing the implementation of these macros to not use acp.\nInstead of having to keep this in sync, move to using a standard\nprebuilt module. The build system has been updated to explicitly add the\nexecutable bit to prebuilt modules in the EXECUTABLES class.\n\nChange-Id: I29cf4d48619e022b7da65ef2df05a92bed08a456\n"
    },
    {
      "commit": "733840f23a6983436437d4334f33d5032f494696",
      "tree": "9076ff001735c4aaa653c6202b0c1c12a838281f",
      "parents": [
        "f9492310913a09f7c63ca2c8cc948b731adf150a"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 07 12:31:39 2015 +0100"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Apr 07 17:02:36 2015 +0100"
      },
      "message": "Remove fuzzer build-time dependency on core image.\n\nTest if the image exists at runtime.\n\nForcing this dependency slows down development. For example, if after a\nchange dex2oat does not compile anymore you need to first revert to a\nstable state and rebuild the core image to be able to move foreward.\nSince this is a test tool, it is ok to assume that the core image has\nalready been built if host execution was selected.\n\nChange-Id: Id61a960ba62bb8d1d21acb07114f72208fbc9720\n"
    },
    {
      "commit": "1ec46bc71778dc1463e60c53f7126dcf6c913a44",
      "tree": "7d6651f8a3c9b43013123cafde86b7a3dfb06525",
      "parents": [
        "c6e949a6d93fae2351fc59ed825657adee8185dc"
      ],
      "author": {
        "name": "Stephen Kyle",
        "email": "stephenckyle@googlemail.com",
        "time": "Fri Mar 27 18:50:10 2015 +0000"
      },
      "committer": {
        "name": "Stephen Kyle",
        "email": "stephenckyle@googlemail.com",
        "time": "Thu Apr 02 13:01:27 2015 +0100"
      },
      "message": "Update dexfuzz after optimizing default selection.\n\nNow that the optimizing compiler is the default backend, the quick\ncompiler must be explicitly selected as an argument.\n\nChange-Id: I5e6b8e6a79432118e0a91c9aea85bdd9cd7305dc\n"
    },
    {
      "commit": "807f17831e2749d5765599df1c9fbc58af3c6c7c",
      "tree": "976607bfaa263e10d428ac9b0532ea7d4ab63d1b",
      "parents": [
        "c8924c6ea9e83ba3832dd5551df38ab06f4aaca9"
      ],
      "author": {
        "name": "Stephen Kyle",
        "email": "stephenckyle@googlemail.com",
        "time": "Tue Mar 24 17:44:27 2015 +0000"
      },
      "committer": {
        "name": "Stephen Kyle",
        "email": "stephenckyle@googlemail.com",
        "time": "Thu Mar 26 16:03:21 2015 +0000"
      },
      "message": "Adds host execution to dexfuzz.\n\nUse --host to execute fuzzed tests using the host-build of ART.\nSee the README for more information.\nAlso includes some refactoring of Executors/Devices.\n\nChange-Id: I789d6b3e102074b22431d8afa5a5c966b2710272\n"
    },
    {
      "commit": "d7cbf8a6629942e7bd315ffae7e1c77b082f3e11",
      "tree": "fc8c3371ed4ddac96bbe90a2f94ef5fb5c5472ee",
      "parents": [
        "f5988cf0c47ff935bb19c89ed0398be5fbe44bb6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 19 12:43:20 2015 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 19 20:00:50 2015 -0700"
      },
      "message": "Change RETURN_VOID_BARRIER to RETURN_VOID_NO_BARRIER\n\nWe want to default to having a barrier for the case where we don\u0027t\ndex to dex.\n\nBug: 19762303\nChange-Id: I60348d89eaf0b9e1e480298afcecbb5f52e8661b\n"
    },
    {
      "commit": "959ffdf65f280ee90b7944a8dd610564e7f99e69",
      "tree": "e4bfa45abeaaac0e9fc4e3162d2cf0cef1496a7f",
      "parents": [
        "152f391b17080e2dcc2294425c7fa2afe73a4f44"
      ],
      "author": {
        "name": "Stephen Kyle",
        "email": "stephen.kyle@arm.com",
        "time": "Fri Nov 28 14:27:44 2014 +0000"
      },
      "committer": {
        "name": "Stephen Kyle",
        "email": "stephen.kyle@arm.com",
        "time": "Mon Dec 15 15:29:12 2014 +0000"
      },
      "message": "Adds the dexfuzz fuzzing tool to ART.\n\nThis tool can mutate DEX files, and execute them with multiple backends\nof ART, making sure that all backends agree on the output of the\nprogram. This should help identify bugs in particular backends, should\nthey produce output that disagrees with the other backends.\n\nBuild with mmm tools/dexfuzz from within art/.\n\nSee the README for details about how to use dexfuzz.\n\nChange-Id: I3fc5d84a08b7d142a1fdc3d43a0324ce16b43608\n"
    }
  ]
}
