{"action":"created","comment":{"url":"https://api.github.com/repos/diffblue/cbmc/pulls/comments/211781621","pull_request_review_id":148276859,"id":211781621,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMTc4MTYyMQ==","diff_hunk":"@@ -1,32 +1,810 @@\n \\ingroup module_hidden \n \\page background-concepts Background Concepts\n \n-\\author Martin Brain, Peter Schrammel\n+\\author Martin Brain, Peter Schrammel, Johannes Kloos\n+\n+TODO intro\n \n \\section representations_section Representations\n \n-\\subsection AST_section AST: types, globals, variables, functions, code blocks, language primitives, assignments, expressions, variables\n+One of the first questions we should be considering is how we represent programs\n+in such a way that we can easily analyze and reason about programs.\n+\n+As it turns out, the best way to do this is to use a variety of\n+different representations, each representing a different level of\n+abstraction. These representations are designed in such a way that for\n+each analysis we want to perform, there is an appropriate\n+representation, and it is easy to go from representations that are\n+closed to the source code to representations that are better for deep","path":"doc/architectural/background-concepts.md","position":20,"original_position":20,"commit_id":"efeaca3f605fcc1dec74e8536292830a12823731","original_commit_id":"efeaca3f605fcc1dec74e8536292830a12823731","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":"close","created_at":"2018-08-21T22:37:25Z","updated_at":"2018-08-21T22:58:19Z","html_url":"https://github.com/diffblue/cbmc/pull/2806#discussion_r211781621","pull_request_url":"https://api.github.com/repos/diffblue/cbmc/pulls/2806","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/comments/211781621"},"html":{"href":"https://github.com/diffblue/cbmc/pull/2806#discussion_r211781621"},"pull_request":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/2806"}}},"pull_request":{"url":"https://api.github.com/repos/diffblue/cbmc/pulls/2806","id":209919972,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA5OTE5OTcy","html_url":"https://github.com/diffblue/cbmc/pull/2806","diff_url":"https://github.com/diffblue/cbmc/pull/2806.diff","patch_url":"https://github.com/diffblue/cbmc/pull/2806.patch","issue_url":"https://api.github.com/repos/diffblue/cbmc/issues/2806","number":2806,"state":"open","locked":false,"title":"First draft of background concepts section.","user":{"login":"johanneskloos","id":4208366,"node_id":"MDQ6VXNlcjQyMDgzNjY=","avatar_url":"https://avatars1.githubusercontent.com/u/4208366?v=4","gravatar_id":"","url":"https://api.github.com/users/johanneskloos","html_url":"https://github.com/johanneskloos","followers_url":"https://api.github.com/users/johanneskloos/followers","following_url":"https://api.github.com/users/johanneskloos/following{/other_user}","gists_url":"https://api.github.com/users/johanneskloos/gists{/gist_id}","starred_url":"https://api.github.com/users/johanneskloos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johanneskloos/subscriptions","organizations_url":"https://api.github.com/users/johanneskloos/orgs","repos_url":"https://api.github.com/users/johanneskloos/repos","events_url":"https://api.github.com/users/johanneskloos/events{/privacy}","received_events_url":"https://api.github.com/users/johanneskloos/received_events","type":"User","site_admin":false},"body":"This is a first, incomplete version of the background material section, as described in Jira ticket DOC-8 (cf. .\r\nIt adds documentation for the following:\r\n- The main ways of representing a program, namely ASTs, CFGs and SSA.\r\n- Abstract interpretation\r\n- The term \"instrumentation\" (taken from the wiki).\r\n\r\nStill missing are:\r\n- A discussion of BMC, SAT and SMT solving\r\n- Proper definitions of the terms \"lowering\" and \"verification condition\".\r\n- A discussion of what traces are (especially in the context of CBMC).\r\nI have added stubs for the corresponding sections.\r\n\r\nAn additional pain point is that the formatting of inline GraphViz graphs by Doxygen is quite bad, often cutting of labels and making the bounding boxes to small. This will need to be fixed for a later version.\r\n\r\nSince this PR only changes documentation, I will cancel the corresponding Travis run.\r\n","created_at":"2018-08-21T18:44:26Z","updated_at":"2018-08-21T22:58:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d4ab3603800008d84cc93ebd27cce02727da6732","assignee":null,"assignees":[],"requested_reviewers":[{"login":"smowton","id":283483,"node_id":"MDQ6VXNlcjI4MzQ4Mw==","avatar_url":"https://avatars3.githubusercontent.com/u/283483?v=4","gravatar_id":"","url":"https://api.github.com/users/smowton","html_url":"https://github.com/smowton","followers_url":"https://api.github.com/users/smowton/followers","following_url":"https://api.github.com/users/smowton/following{/other_user}","gists_url":"https://api.github.com/users/smowton/gists{/gist_id}","starred_url":"https://api.github.com/users/smowton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smowton/subscriptions","organizations_url":"https://api.github.com/users/smowton/orgs","repos_url":"https://api.github.com/users/smowton/repos","events_url":"https://api.github.com/users/smowton/events{/privacy}","received_events_url":"https://api.github.com/users/smowton/received_events","type":"User","site_admin":false},{"login":"kroening","id":1830565,"node_id":"MDQ6VXNlcjE4MzA1NjU=","avatar_url":"https://avatars0.githubusercontent.com/u/1830565?v=4","gravatar_id":"","url":"https://api.github.com/users/kroening","html_url":"https://github.com/kroening","followers_url":"https://api.github.com/users/kroening/followers","following_url":"https://api.github.com/users/kroening/following{/other_user}","gists_url":"https://api.github.com/users/kroening/gists{/gist_id}","starred_url":"https://api.github.com/users/kroening/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kroening/subscriptions","organizations_url":"https://api.github.com/users/kroening/orgs","repos_url":"https://api.github.com/users/kroening/repos","events_url":"https://api.github.com/users/kroening/events{/privacy}","received_events_url":"https://api.github.com/users/kroening/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":[{"id":634003976,"node_id":"MDU6TGFiZWw2MzQwMDM5NzY=","url":"https://api.github.com/repos/diffblue/cbmc/labels/documentation","name":"documentation","color":"bfdadc","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/diffblue/cbmc/pulls/2806/commits","review_comments_url":"https://api.github.com/repos/diffblue/cbmc/pulls/2806/comments","review_comment_url":"https://api.github.com/repos/diffblue/cbmc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/diffblue/cbmc/issues/2806/comments","statuses_url":"https://api.github.com/repos/diffblue/cbmc/statuses/efeaca3f605fcc1dec74e8536292830a12823731","head":{"label":"johanneskloos:doc-background-section","ref":"doc-background-section","sha":"efeaca3f605fcc1dec74e8536292830a12823731","user":{"login":"johanneskloos","id":4208366,"node_id":"MDQ6VXNlcjQyMDgzNjY=","avatar_url":"https://avatars1.githubusercontent.com/u/4208366?v=4","gravatar_id":"","url":"https://api.github.com/users/johanneskloos","html_url":"https://github.com/johanneskloos","followers_url":"https://api.github.com/users/johanneskloos/followers","following_url":"https://api.github.com/users/johanneskloos/following{/other_user}","gists_url":"https://api.github.com/users/johanneskloos/gists{/gist_id}","starred_url":"https://api.github.com/users/johanneskloos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johanneskloos/subscriptions","organizations_url":"https://api.github.com/users/johanneskloos/orgs","repos_url":"https://api.github.com/users/johanneskloos/repos","events_url":"https://api.github.com/users/johanneskloos/events{/privacy}","received_events_url":"https://api.github.com/users/johanneskloos/received_events","type":"User","site_admin":false},"repo":{"id":145536960,"node_id":"MDEwOlJlcG9zaXRvcnkxNDU1MzY5NjA=","name":"cbmc","full_name":"johanneskloos/cbmc","owner":{"login":"johanneskloos","id":4208366,"node_id":"MDQ6VXNlcjQyMDgzNjY=","avatar_url":"https://avatars1.githubusercontent.com/u/4208366?v=4","gravatar_id":"","url":"https://api.github.com/users/johanneskloos","html_url":"https://github.com/johanneskloos","followers_url":"https://api.github.com/users/johanneskloos/followers","following_url":"https://api.github.com/users/johanneskloos/following{/other_user}","gists_url":"https://api.github.com/users/johanneskloos/gists{/gist_id}","starred_url":"https://api.github.com/users/johanneskloos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johanneskloos/subscriptions","organizations_url":"https://api.github.com/users/johanneskloos/orgs","repos_url":"https://api.github.com/users/johanneskloos/repos","events_url":"https://api.github.com/users/johanneskloos/events{/privacy}","received_events_url":"https://api.github.com/users/johanneskloos/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/johanneskloos/cbmc","description":"C Bounded Model Checker","fork":true,"url":"https://api.github.com/repos/johanneskloos/cbmc","forks_url":"https://api.github.com/repos/johanneskloos/cbmc/forks","keys_url":"https://api.github.com/repos/johanneskloos/cbmc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/johanneskloos/cbmc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/johanneskloos/cbmc/teams","hooks_url":"https://api.github.com/repos/johanneskloos/cbmc/hooks","issue_events_url":"https://api.github.com/repos/johanneskloos/cbmc/issues/events{/number}","events_url":"https://api.github.com/repos/johanneskloos/cbmc/events","assignees_url":"https://api.github.com/repos/johanneskloos/cbmc/assignees{/user}","branches_url":"https://api.github.com/repos/johanneskloos/cbmc/branches{/branch}","tags_url":"https://api.github.com/repos/johanneskloos/cbmc/tags","blobs_url":"https://api.github.com/repos/johanneskloos/cbmc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/johanneskloos/cbmc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/johanneskloos/cbmc/git/refs{/sha}","trees_url":"https://api.github.com/repos/johanneskloos/cbmc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/johanneskloos/cbmc/statuses/{sha}","languages_url":"https://api.github.com/repos/johanneskloos/cbmc/languages","stargazers_url":"https://api.github.com/repos/johanneskloos/cbmc/stargazers","contributors_url":"https://api.github.com/repos/johanneskloos/cbmc/contributors","subscribers_url":"https://api.github.com/repos/johanneskloos/cbmc/subscribers","subscription_url":"https://api.github.com/repos/johanneskloos/cbmc/subscription","commits_url":"https://api.github.com/repos/johanneskloos/cbmc/commits{/sha}","git_commits_url":"https://api.github.com/repos/johanneskloos/cbmc/git/commits{/sha}","comments_url":"https://api.github.com/repos/johanneskloos/cbmc/comments{/number}","issue_comment_url":"https://api.github.com/repos/johanneskloos/cbmc/issues/comments{/number}","contents_url":"https://api.github.com/repos/johanneskloos/cbmc/contents/{+path}","compare_url":"https://api.github.com/repos/johanneskloos/cbmc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/johanneskloos/cbmc/merges","archive_url":"https://api.github.com/repos/johanneskloos/cbmc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/johanneskloos/cbmc/downloads","issues_url":"https://api.github.com/repos/johanneskloos/cbmc/issues{/number}","pulls_url":"https://api.github.com/repos/johanneskloos/cbmc/pulls{/number}","milestones_url":"https://api.github.com/repos/johanneskloos/cbmc/milestones{/number}","notifications_url":"https://api.github.com/repos/johanneskloos/cbmc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/johanneskloos/cbmc/labels{/name}","releases_url":"https://api.github.com/repos/johanneskloos/cbmc/releases{/id}","deployments_url":"https://api.github.com/repos/johanneskloos/cbmc/deployments","created_at":"2018-08-21T09:03:22Z","updated_at":"2018-08-21T18:36:27Z","pushed_at":"2018-08-21T19:31:41Z","git_url":"git://github.com/johanneskloos/cbmc.git","ssh_url":"git@github.com:johanneskloos/cbmc.git","clone_url":"https://github.com/johanneskloos/cbmc.git","svn_url":"https://github.com/johanneskloos/cbmc","homepage":"http://www.cprover.org/cbmc","size":34592,"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":"develop"}},"base":{"label":"diffblue:develop","ref":"develop","sha":"5e8308ff2332a83ecdbb320450ca4228703e04dd","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-08-21T21:49:44Z","pushed_at":"2018-08-21T21:49:17Z","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":34612,"stargazers_count":136,"watchers_count":136,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":106,"mirror_url":null,"archived":false,"open_issues_count":457,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":106,"open_issues":457,"watchers":136,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/2806"},"html":{"href":"https://github.com/diffblue/cbmc/pull/2806"},"issue":{"href":"https://api.github.com/repos/diffblue/cbmc/issues/2806"},"comments":{"href":"https://api.github.com/repos/diffblue/cbmc/issues/2806/comments"},"review_comments":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/2806/comments"},"review_comment":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/diffblue/cbmc/pulls/2806/commits"},"statuses":{"href":"https://api.github.com/repos/diffblue/cbmc/statuses/efeaca3f605fcc1dec74e8536292830a12823731"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"peterschrammel"}}