Code Monkey home page Code Monkey logo

cs569sp15's Introduction

This is our class repo.  This file is our syllabus.

Topic:  Static Analysis and Model Checking
(mainly CBMC)

CBMC can be found at www.cprover.org/cbmc

Tasks:

- Present 1 research paper on static analysis or model checking in class (25%)

- Assignment to verify/find bug in real code using CBMC

- Project -- either survey of an important static analysis/model
  checking topic, a small research project, or a more ambitious
  verification with CBMC

ASSIGNMENT 1 DETAILS:

-- Install and make sure you can run the latest CBMC.

-- Find a (small, for your sake) C program (or function) online that
   implements something easy to explain and specify.  You can write
   one.  The code should be at least 50LOC and non-trivial (e.g., you
   can't prove a swap function correct) -- at least one loop,
   preferably.

-- Write a harness that would be used to look for bugs in this code.

-- If the code is correct, introduce some bugs in the code, preferably
   subtle ones that might easily escape a decent test suite.  Check
   this -- does your harness find these bugs?

-- Write up your results: was the program correct or buggy?  What was
   hard to specify?  Was there functionality you could not specify?
   How long did it take to verify with different loop bounds?  How did
   turning on/off bounds and pointer checker affect cbmc runtime?
   Discuss the ability of the harness to find the bugs you introduced,
   and how to address the problem if it did not, including (if
   possible) a revised harness to find them.  Minimum of 400 words.

DUE DATE: April 21, 2015 (before class)

Submission instructions:
-- add a subdir
projects/<youronidid>/assign1

and put everything in that directory

cs569sp15's People

Contributors

agroce avatar vofp avatar

Watchers

James Cloos avatar KLM avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.