{"id":16659109,"url":"https://github.com/agroce/cs569sp15","last_synced_at":"2025-04-09T18:41:56.927Z","repository":{"id":29604789,"uuid":"33144951","full_name":"agroce/cs569sp15","owner":"agroce","description":"569 Class repo","archived":false,"fork":false,"pushed_at":"2015-06-10T08:13:50.000Z","size":15240,"stargazers_count":2,"open_issues_count":6,"forks_count":8,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-03-23T20:43:28.669Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agroce.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-30T20:03:01.000Z","updated_at":"2018-09-20T03:33:17.000Z","dependencies_parsed_at":"2022-08-24T10:01:11.746Z","dependency_job_id":null,"html_url":"https://github.com/agroce/cs569sp15","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agroce%2Fcs569sp15","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agroce%2Fcs569sp15/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agroce%2Fcs569sp15/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agroce%2Fcs569sp15/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agroce","download_url":"https://codeload.github.com/agroce/cs569sp15/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248090005,"owners_count":21046006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T10:23:52.323Z","updated_at":"2025-04-09T18:41:56.904Z","avatar_url":"https://github.com/agroce.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is our class repo.  This file is our syllabus.\n\nTopic:  Static Analysis and Model Checking\n(mainly CBMC)\n\nCBMC can be found at www.cprover.org/cbmc\n\nTasks:\n\n- Present 1 research paper on static analysis or model checking in class (25%)\n\n- Assignment to verify/find bug in real code using CBMC\n\n- Project -- either survey of an important static analysis/model\n  checking topic, a small research project, or a more ambitious\n  verification with CBMC\n\nASSIGNMENT 1 DETAILS:\n\n-- Install and make sure you can run the latest CBMC.\n\n-- Find a (small, for your sake) C program (or function) online that\n   implements something easy to explain and specify.  You can write\n   one.  The code should be at least 50LOC and non-trivial (e.g., you\n   can't prove a swap function correct) -- at least one loop,\n   preferably.\n\n-- Write a harness that would be used to look for bugs in this code.\n\n-- If the code is correct, introduce some bugs in the code, preferably\n   subtle ones that might easily escape a decent test suite.  Check\n   this -- does your harness find these bugs?\n\n-- Write up your results: was the program correct or buggy?  What was\n   hard to specify?  Was there functionality you could not specify?\n   How long did it take to verify with different loop bounds?  How did\n   turning on/off bounds and pointer checker affect cbmc runtime?\n   Discuss the ability of the harness to find the bugs you introduced,\n   and how to address the problem if it did not, including (if\n   possible) a revised harness to find them.  Minimum of 400 words.\n\nDUE DATE: April 21, 2015 (before class)\n\nSubmission instructions:\n-- add a subdir\nprojects/\u003cyouronidid\u003e/assign1\n\nand put everything in that directory\n\n\nRESEARCH PRESENTATION DETAILS:\n\n- send me an email with topic \"569 PRESENTATION\" and suggest a topic,\n  and grab a possible presentation date\n- presentations will be 15-20 minutes, we'll try to do four per class\n- aim to start this next Thursday\n\nPOSSIBLE TOPICS:\n\n- Predicate abstraction (using SATABS, or just the basic topic)\n\n- Intro paper or presentation: what is predicate abstraction?  How is\n  it different from CBMC's SAT-based bounded model checking\n\nhttp://www.cs.ucla.edu/~todd/research/pldi01.pdf\n\nSATABS tool: http://www.kroening.com/papers/tacas2005.pdf\n\nhttp://pm.inf.ethz.ch/publications/getpdf.php?bibname=Own\u0026id=Novacek12.pdf\n\nBLAST (lazy abstraction)\nhttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.5090\u0026rep=rep1\u0026type=pdf\n\nZ3 (\u0026 SMT tools in general):\n\nhttp://research.microsoft.com/en-us/um/redmond/projects/z3/z3.pdf\n\nConcurrency:\n\nhttp://ti.arc.nasa.gov/publications/11593/download/\n\nhttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.79.7642\u0026rep=rep1\u0026type=pdf\n\nhttp://www.kroening.com/papers/cav2013-wpo.pdf\n\nUses of CBMC:\n\n- Fault localization -- http://www.cs.cmu.edu/~agroce/tacas04.pdf\n\n- Using traces to improve speed -- http://www.cs.cmu.edu/~agroce/tacas06.pdf\n\nOther topics:\n\n- Non-SAT Based/pred abs based model checkers\n\nSPIN Model Checker\nJava Pathfinder\nSymbolic Pathfinder (JPF + Symbolic Execution)\n\n- Symbolic execution tools (KLEE)\n   (how is it different from model checking)\n\nModel checking for particular goals:\n\n- probabilistic model checking\n- model checking Android\n- model checking for security properties\n\nOther stuff -- model checking + dynamic analysis\n\nSCHEDULE file in github will contain taken papers + dates\n\nsend me a paper topic by next Wed. morning\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagroce%2Fcs569sp15","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagroce%2Fcs569sp15","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagroce%2Fcs569sp15/lists"}