{"action":"created","comment":{"url":"https://api.github.com/repos/diffblue/cbmc/pulls/comments/204562729","pull_request_review_id":139662520,"id":204562729,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwNDU2MjcyOQ==","diff_hunk":"@@ -0,0 +1,100 @@\n+/*******************************************************************\\\n+\n+Module: Aggressive Slicer\n+\n+Author: Elizabeth Polgreen, polgreen@amazon.com\n+\n+\\*******************************************************************/\n+\n+/// \\file\n+/// Aggressive slicer\n+/// Consider the control flow graph of the goto program and a criterion\n+/// description of aggressive slicer here\n+\n+#ifndef CPROVER_GOTO_INSTRUMENT_AGGRESSIVE_SLICER_H\n+#define CPROVER_GOTO_INSTRUMENT_AGGRESSIVE_SLICER_H\n+\n+#include <list>\n+#include <string>\n+#include <unordered_set>\n+\n+#include <util/irep.h>\n+\n+#include <analyses/call_graph.h>\n+\n+#include <linking/static_lifetime_init.h>\n+\n+class goto_modelt;\n+class message_handlert;\n+\n+/// \\brief The aggressive slicer removes the body of all the functions except\n+/// those on the shortest path, those within the call-depth of the\n+/// shortest path, those given by name as command line argument,\n+/// and those that contain a given irep_idt snippet\n+/// If no properties are set by the user, we preserve all functions on\n+/// the shortest paths to each property.\n+class aggressive_slicert\n+{\n+public:\n+  aggressive_slicert(goto_modelt &_goto_model, message_handlert &_msg)\n+    : preserve_all_direct_paths(false),\n+      goto_model(_goto_model),\n+      message_handler(_msg)\n+  {\n+    start_function = goto_model.goto_functions.entry_point();\n+    call_depth = 0;\n+    call_grapht undirected_call_graph =\n+      call_grapht::create_from_root_function(goto_model, start_function, false);\n+    call_graph = undirected_call_graph.get_directed_graph();\n+  }\n+\n+  ///  \\brief Removes the body of all functions except those on the\n+  /// shortest path or functions\n+  /// that are reachable from functions on the shortest path within\n+  /// N calls, where N is given by the parameter \"distance\"\n+  void doit();\n+\n+  /// \\brief Adds a list of functions to the set of functions for the aggressive\n+  /// slicer to preserve\n+  /// \\param  function_list:  a list of functions in form\n+  /// std::list<std::string>, as returned by get_cmdline_option.\n+  void preserve_functions(const std::list<std::string> &function_list)\n+  {\n+    for(const auto &f : function_list)\n+      functions_to_keep.insert(f);\n+  };\n+\n+  std::list<std::string> user_specified_properties;\n+  std::size_t call_depth;\n+  std::list<std::string> name_snippets;\n+  bool preserve_all_direct_paths;\n+\n+private:\n+  irep_idt start_function;","path":"src/goto-instrument/aggressive_slicer.h","position":73,"original_position":73,"commit_id":"7be6f999e54fca419bd41a1aa797f87c023b3ef6","original_commit_id":"7cb34cf6ec0f4638978467b492558ec25bf1ffc0","user":{"login":"peterschrammel","id":4222448,"node_id":"MDQ6VXNlcjQyMjI0NDg=","avatar_url":"https://avatars3.githubusercontent.com/u/4222448?v=4","gravatar_id":"","url":"https://api.github.com/users/peterschrammel","html_url":"https://github.com/peterschrammel","followers_url":"https://api.github.com/users/peterschrammel/followers","following_url":"https://api.github.com/users/peterschrammel/following{/other_user}","gists_url":"https://api.github.com/users/peterschrammel/gists{/gist_id}","starred_url":"https://api.github.com/users/peterschrammel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peterschrammel/subscriptions","organizations_url":"https://api.github.com/users/peterschrammel/orgs","repos_url":"https://api.github.com/users/peterschrammel/repos","events_url":"https://api.github.com/users/peterschrammel/events{/privacy}","received_events_url":"https://api.github.com/users/peterschrammel/received_events","type":"User","site_admin":false},"body":"remove or make `const`","created_at":"2018-07-23T21:40:20Z","updated_at":"2018-07-23T21:43:14Z","html_url":"https://github.com/diffblue/cbmc/pull/2385#discussion_r204562729","pull_request_url":"https://api.github.com/repos/diffblue/cbmc/pulls/2385","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/comments/204562729"},"html":{"href":"https://github.com/diffblue/cbmc/pull/2385#discussion_r204562729"},"pull_request":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/2385"}}},"pull_request":{"url":"https://api.github.com/repos/diffblue/cbmc/pulls/2385","id":196431684,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk2NDMxNjg0","html_url":"https://github.com/diffblue/cbmc/pull/2385","diff_url":"https://github.com/diffblue/cbmc/pull/2385.diff","patch_url":"https://github.com/diffblue/cbmc/pull/2385.patch","issue_url":"https://api.github.com/repos/diffblue/cbmc/issues/2385","number":2385,"state":"open","locked":false,"title":"Aggressive slicer v2","user":{"login":"polgreen","id":17899331,"node_id":"MDQ6VXNlcjE3ODk5MzMx","avatar_url":"https://avatars3.githubusercontent.com/u/17899331?v=4","gravatar_id":"","url":"https://api.github.com/users/polgreen","html_url":"https://github.com/polgreen","followers_url":"https://api.github.com/users/polgreen/followers","following_url":"https://api.github.com/users/polgreen/following{/other_user}","gists_url":"https://api.github.com/users/polgreen/gists{/gist_id}","starred_url":"https://api.github.com/users/polgreen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/polgreen/subscriptions","organizations_url":"https://api.github.com/users/polgreen/orgs","repos_url":"https://api.github.com/users/polgreen/repos","events_url":"https://api.github.com/users/polgreen/events{/privacy}","received_events_url":"https://api.github.com/users/polgreen/received_events","type":"User","site_admin":false},"body":"This is a new version of #1587\r\n\r\nIt is dependent on:\r\n#2381\r\n#2369\r\n\r\nThe aggressive slicer by default removes function bodies of any functions not on the shortest path on the call graph between the start function and the property. If no property is specified, it will preseve the shortest path for each property. It is parameterisable:\r\n\r\n--call-depth \" preserves all functions within function calls of the shorets path \" --preserve-function forces the aggressive slicer to preserve function \r\n--preserve-function containing force the aggressive slicer to preserve all functions with names containing \r\n--preserve-all-direct-paths force the aggressive slicer to preserve all functions on direct paths to the property. This option must be used with a specified property.\r\n\r\nThe aggressive slicer is designed to be used in conjunction with CBMC inbuilt features to block functions and to replace function bodies with approximations. \r\n\r\nThe results are not sound, it may produce spurious traces, due to over-approximating the removed function bodies, and it may miss traces due to the removed function bodies writing to global variables, or if \"preserve-all-direct-paths\" is not used. However, it is designed for use with code bases that are far too big to otherwise use cbmc on.\r\n\r\nThe parameterisation is intended to be used as a means of providing engineer feedback.","created_at":"2018-06-21T12:14:07Z","updated_at":"2018-07-23T21:43:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f1485122f5e3500e1afb523e8ab95381094fcbe2","assignee":null,"assignees":[],"requested_reviewers":[{"login":"cesaro","id":143977,"node_id":"MDQ6VXNlcjE0Mzk3Nw==","avatar_url":"https://avatars1.githubusercontent.com/u/143977?v=4","gravatar_id":"","url":"https://api.github.com/users/cesaro","html_url":"https://github.com/cesaro","followers_url":"https://api.github.com/users/cesaro/followers","following_url":"https://api.github.com/users/cesaro/following{/other_user}","gists_url":"https://api.github.com/users/cesaro/gists{/gist_id}","starred_url":"https://api.github.com/users/cesaro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cesaro/subscriptions","organizations_url":"https://api.github.com/users/cesaro/orgs","repos_url":"https://api.github.com/users/cesaro/repos","events_url":"https://api.github.com/users/cesaro/events{/privacy}","received_events_url":"https://api.github.com/users/cesaro/received_events","type":"User","site_admin":false},{"login":"thk123","id":638608,"node_id":"MDQ6VXNlcjYzODYwOA==","avatar_url":"https://avatars3.githubusercontent.com/u/638608?v=4","gravatar_id":"","url":"https://api.github.com/users/thk123","html_url":"https://github.com/thk123","followers_url":"https://api.github.com/users/thk123/followers","following_url":"https://api.github.com/users/thk123/following{/other_user}","gists_url":"https://api.github.com/users/thk123/gists{/gist_id}","starred_url":"https://api.github.com/users/thk123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thk123/subscriptions","organizations_url":"https://api.github.com/users/thk123/orgs","repos_url":"https://api.github.com/users/thk123/repos","events_url":"https://api.github.com/users/thk123/events{/privacy}","received_events_url":"https://api.github.com/users/thk123/received_events","type":"User","site_admin":false},{"login":"mgudemann","id":2590540,"node_id":"MDQ6VXNlcjI1OTA1NDA=","avatar_url":"https://avatars0.githubusercontent.com/u/2590540?v=4","gravatar_id":"","url":"https://api.github.com/users/mgudemann","html_url":"https://github.com/mgudemann","followers_url":"https://api.github.com/users/mgudemann/followers","following_url":"https://api.github.com/users/mgudemann/following{/other_user}","gists_url":"https://api.github.com/users/mgudemann/gists{/gist_id}","starred_url":"https://api.github.com/users/mgudemann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgudemann/subscriptions","organizations_url":"https://api.github.com/users/mgudemann/orgs","repos_url":"https://api.github.com/users/mgudemann/repos","events_url":"https://api.github.com/users/mgudemann/events{/privacy}","received_events_url":"https://api.github.com/users/mgudemann/received_events","type":"User","site_admin":false},{"login":"chrisr-diffblue","id":32060010,"node_id":"MDQ6VXNlcjMyMDYwMDEw","avatar_url":"https://avatars2.githubusercontent.com/u/32060010?v=4","gravatar_id":"","url":"https://api.github.com/users/chrisr-diffblue","html_url":"https://github.com/chrisr-diffblue","followers_url":"https://api.github.com/users/chrisr-diffblue/followers","following_url":"https://api.github.com/users/chrisr-diffblue/following{/other_user}","gists_url":"https://api.github.com/users/chrisr-diffblue/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisr-diffblue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisr-diffblue/subscriptions","organizations_url":"https://api.github.com/users/chrisr-diffblue/orgs","repos_url":"https://api.github.com/users/chrisr-diffblue/repos","events_url":"https://api.github.com/users/chrisr-diffblue/events{/privacy}","received_events_url":"https://api.github.com/users/chrisr-diffblue/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/diffblue/cbmc/pulls/2385/commits","review_comments_url":"https://api.github.com/repos/diffblue/cbmc/pulls/2385/comments","review_comment_url":"https://api.github.com/repos/diffblue/cbmc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/diffblue/cbmc/issues/2385/comments","statuses_url":"https://api.github.com/repos/diffblue/cbmc/statuses/7be6f999e54fca419bd41a1aa797f87c023b3ef6","head":{"label":"polgreen:aggressive_slicer_v2","ref":"aggressive_slicer_v2","sha":"7be6f999e54fca419bd41a1aa797f87c023b3ef6","user":{"login":"polgreen","id":17899331,"node_id":"MDQ6VXNlcjE3ODk5MzMx","avatar_url":"https://avatars3.githubusercontent.com/u/17899331?v=4","gravatar_id":"","url":"https://api.github.com/users/polgreen","html_url":"https://github.com/polgreen","followers_url":"https://api.github.com/users/polgreen/followers","following_url":"https://api.github.com/users/polgreen/following{/other_user}","gists_url":"https://api.github.com/users/polgreen/gists{/gist_id}","starred_url":"https://api.github.com/users/polgreen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/polgreen/subscriptions","organizations_url":"https://api.github.com/users/polgreen/orgs","repos_url":"https://api.github.com/users/polgreen/repos","events_url":"https://api.github.com/users/polgreen/events{/privacy}","received_events_url":"https://api.github.com/users/polgreen/received_events","type":"User","site_admin":false},"repo":{"id":97494073,"node_id":"MDEwOlJlcG9zaXRvcnk5NzQ5NDA3Mw==","name":"cbmc","full_name":"polgreen/cbmc","owner":{"login":"polgreen","id":17899331,"node_id":"MDQ6VXNlcjE3ODk5MzMx","avatar_url":"https://avatars3.githubusercontent.com/u/17899331?v=4","gravatar_id":"","url":"https://api.github.com/users/polgreen","html_url":"https://github.com/polgreen","followers_url":"https://api.github.com/users/polgreen/followers","following_url":"https://api.github.com/users/polgreen/following{/other_user}","gists_url":"https://api.github.com/users/polgreen/gists{/gist_id}","starred_url":"https://api.github.com/users/polgreen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/polgreen/subscriptions","organizations_url":"https://api.github.com/users/polgreen/orgs","repos_url":"https://api.github.com/users/polgreen/repos","events_url":"https://api.github.com/users/polgreen/events{/privacy}","received_events_url":"https://api.github.com/users/polgreen/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/polgreen/cbmc","description":"C Bounded Model Checker","fork":true,"url":"https://api.github.com/repos/polgreen/cbmc","forks_url":"https://api.github.com/repos/polgreen/cbmc/forks","keys_url":"https://api.github.com/repos/polgreen/cbmc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/polgreen/cbmc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/polgreen/cbmc/teams","hooks_url":"https://api.github.com/repos/polgreen/cbmc/hooks","issue_events_url":"https://api.github.com/repos/polgreen/cbmc/issues/events{/number}","events_url":"https://api.github.com/repos/polgreen/cbmc/events","assignees_url":"https://api.github.com/repos/polgreen/cbmc/assignees{/user}","branches_url":"https://api.github.com/repos/polgreen/cbmc/branches{/branch}","tags_url":"https://api.github.com/repos/polgreen/cbmc/tags","blobs_url":"https://api.github.com/repos/polgreen/cbmc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/polgreen/cbmc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/polgreen/cbmc/git/refs{/sha}","trees_url":"https://api.github.com/repos/polgreen/cbmc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/polgreen/cbmc/statuses/{sha}","languages_url":"https://api.github.com/repos/polgreen/cbmc/languages","stargazers_url":"https://api.github.com/repos/polgreen/cbmc/stargazers","contributors_url":"https://api.github.com/repos/polgreen/cbmc/contributors","subscribers_url":"https://api.github.com/repos/polgreen/cbmc/subscribers","subscription_url":"https://api.github.com/repos/polgreen/cbmc/subscription","commits_url":"https://api.github.com/repos/polgreen/cbmc/commits{/sha}","git_commits_url":"https://api.github.com/repos/polgreen/cbmc/git/commits{/sha}","comments_url":"https://api.github.com/repos/polgreen/cbmc/comments{/number}","issue_comment_url":"https://api.github.com/repos/polgreen/cbmc/issues/comments{/number}","contents_url":"https://api.github.com/repos/polgreen/cbmc/contents/{+path}","compare_url":"https://api.github.com/repos/polgreen/cbmc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/polgreen/cbmc/merges","archive_url":"https://api.github.com/repos/polgreen/cbmc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/polgreen/cbmc/downloads","issues_url":"https://api.github.com/repos/polgreen/cbmc/issues{/number}","pulls_url":"https://api.github.com/repos/polgreen/cbmc/pulls{/number}","milestones_url":"https://api.github.com/repos/polgreen/cbmc/milestones{/number}","notifications_url":"https://api.github.com/repos/polgreen/cbmc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/polgreen/cbmc/labels{/name}","releases_url":"https://api.github.com/repos/polgreen/cbmc/releases{/id}","deployments_url":"https://api.github.com/repos/polgreen/cbmc/deployments","created_at":"2017-07-17T15:52:09Z","updated_at":"2017-07-17T15:52:17Z","pushed_at":"2018-07-23T13:58:54Z","git_url":"git://github.com/polgreen/cbmc.git","ssh_url":"git@github.com:polgreen/cbmc.git","clone_url":"https://github.com/polgreen/cbmc.git","svn_url":"https://github.com/polgreen/cbmc","homepage":"http://www.cprover.org/cbmc","size":35474,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"diffblue:develop","ref":"develop","sha":"569c8540a3748b4812df02cb45ce1994dd6813f9","user":{"login":"diffblue","id":17216098,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MjE2MDk4","avatar_url":"https://avatars0.githubusercontent.com/u/17216098?v=4","gravatar_id":"","url":"https://api.github.com/users/diffblue","html_url":"https://github.com/diffblue","followers_url":"https://api.github.com/users/diffblue/followers","following_url":"https://api.github.com/users/diffblue/following{/other_user}","gists_url":"https://api.github.com/users/diffblue/gists{/gist_id}","starred_url":"https://api.github.com/users/diffblue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diffblue/subscriptions","organizations_url":"https://api.github.com/users/diffblue/orgs","repos_url":"https://api.github.com/users/diffblue/repos","events_url":"https://api.github.com/users/diffblue/events{/privacy}","received_events_url":"https://api.github.com/users/diffblue/received_events","type":"Organization","site_admin":false},"repo":{"id":51877056,"node_id":"MDEwOlJlcG9zaXRvcnk1MTg3NzA1Ng==","name":"cbmc","full_name":"diffblue/cbmc","owner":{"login":"diffblue","id":17216098,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE3MjE2MDk4","avatar_url":"https://avatars0.githubusercontent.com/u/17216098?v=4","gravatar_id":"","url":"https://api.github.com/users/diffblue","html_url":"https://github.com/diffblue","followers_url":"https://api.github.com/users/diffblue/followers","following_url":"https://api.github.com/users/diffblue/following{/other_user}","gists_url":"https://api.github.com/users/diffblue/gists{/gist_id}","starred_url":"https://api.github.com/users/diffblue/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diffblue/subscriptions","organizations_url":"https://api.github.com/users/diffblue/orgs","repos_url":"https://api.github.com/users/diffblue/repos","events_url":"https://api.github.com/users/diffblue/events{/privacy}","received_events_url":"https://api.github.com/users/diffblue/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/diffblue/cbmc","description":"C Bounded Model Checker","fork":false,"url":"https://api.github.com/repos/diffblue/cbmc","forks_url":"https://api.github.com/repos/diffblue/cbmc/forks","keys_url":"https://api.github.com/repos/diffblue/cbmc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/diffblue/cbmc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/diffblue/cbmc/teams","hooks_url":"https://api.github.com/repos/diffblue/cbmc/hooks","issue_events_url":"https://api.github.com/repos/diffblue/cbmc/issues/events{/number}","events_url":"https://api.github.com/repos/diffblue/cbmc/events","assignees_url":"https://api.github.com/repos/diffblue/cbmc/assignees{/user}","branches_url":"https://api.github.com/repos/diffblue/cbmc/branches{/branch}","tags_url":"https://api.github.com/repos/diffblue/cbmc/tags","blobs_url":"https://api.github.com/repos/diffblue/cbmc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/diffblue/cbmc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/diffblue/cbmc/git/refs{/sha}","trees_url":"https://api.github.com/repos/diffblue/cbmc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/diffblue/cbmc/statuses/{sha}","languages_url":"https://api.github.com/repos/diffblue/cbmc/languages","stargazers_url":"https://api.github.com/repos/diffblue/cbmc/stargazers","contributors_url":"https://api.github.com/repos/diffblue/cbmc/contributors","subscribers_url":"https://api.github.com/repos/diffblue/cbmc/subscribers","subscription_url":"https://api.github.com/repos/diffblue/cbmc/subscription","commits_url":"https://api.github.com/repos/diffblue/cbmc/commits{/sha}","git_commits_url":"https://api.github.com/repos/diffblue/cbmc/git/commits{/sha}","comments_url":"https://api.github.com/repos/diffblue/cbmc/comments{/number}","issue_comment_url":"https://api.github.com/repos/diffblue/cbmc/issues/comments{/number}","contents_url":"https://api.github.com/repos/diffblue/cbmc/contents/{+path}","compare_url":"https://api.github.com/repos/diffblue/cbmc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/diffblue/cbmc/merges","archive_url":"https://api.github.com/repos/diffblue/cbmc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/diffblue/cbmc/downloads","issues_url":"https://api.github.com/repos/diffblue/cbmc/issues{/number}","pulls_url":"https://api.github.com/repos/diffblue/cbmc/pulls{/number}","milestones_url":"https://api.github.com/repos/diffblue/cbmc/milestones{/number}","notifications_url":"https://api.github.com/repos/diffblue/cbmc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/diffblue/cbmc/labels{/name}","releases_url":"https://api.github.com/repos/diffblue/cbmc/releases{/id}","deployments_url":"https://api.github.com/repos/diffblue/cbmc/deployments","created_at":"2016-02-16T23:03:52Z","updated_at":"2018-07-21T08:16:28Z","pushed_at":"2018-07-23T16:57:42Z","git_url":"git://github.com/diffblue/cbmc.git","ssh_url":"git@github.com:diffblue/cbmc.git","clone_url":"https://github.com/diffblue/cbmc.git","svn_url":"https://github.com/diffblue/cbmc","homepage":"http://www.cprover.org/cbmc","size":33616,"stargazers_count":125,"watchers_count":125,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":100,"mirror_url":null,"archived":false,"open_issues_count":405,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":100,"open_issues":405,"watchers":125,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/2385"},"html":{"href":"https://github.com/diffblue/cbmc/pull/2385"},"issue":{"href":"https://api.github.com/repos/diffblue/cbmc/issues/2385"},"comments":{"href":"https://api.github.com/repos/diffblue/cbmc/issues/2385/comments"},"review_comments":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/2385/comments"},"review_comment":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/2385/commits"},"statuses":{"href":"https://api.github.com/repos/diffblue/cbmc/statuses/7be6f999e54fca419bd41a1aa797f87c023b3ef6"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"peterschrammel"}}