Giter Site home page Giter Site logo

farzamdorostkar / softboundcets-3.9 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from santoshn/softboundcets-3.9

0.0 0.0 0.0 44.64 MB

Experimental SoftBoundCETS for LLVM-3.9

Shell 0.06% JavaScript 0.03% C++ 71.99% Python 0.88% Perl 0.08% C 12.39% Emacs Lisp 0.02% Objective-C 3.64% OCaml 0.28% Fortran 0.01% Go 0.09% C# 0.01% Assembly 9.40% Rust 0.01% AppleScript 0.01% M 0.01% CSS 0.01% Objective-C++ 1.00% Cuda 0.10% Makefile 0.01%

softboundcets-3.9's Introduction

Experimental SoftBoundCETS for LLVM-3.9

This is an experimental version of SoftBoundCETS for LLVM-3.9. It is not yet ready for any serious use.

For more technical details and algorithms, visit SoftBoundCETS website at http://www.cs.rutgers.edu/~santosh.nagarakatte/softbound/

Using SoftBoundCETS for LLVM/Clang-3.9 on a x86-64 machine with Linux OS

  1. Download the github repository from https://github.com/santoshn/SoftBoundCETS-3.9.git

  2. Build SoftBoundCETS-3.9

    1. Goto to directory SoftBoundCETS-3.9 by executing the following command

        cd SoftBoundCETS-3.9
      

      mkdir build cd build

    2. Configure LLVM, clang and softboundcets with the following command

        cmake ../llvm-3.9/
      

      make -j8

  3. Set up your environment to use SoftBoundCETS

    For example in bash, it would be

      export PATH=<git_repo>/SoftBoundCETS-3.9/build/bin:$PATH
    
  4. Compile the SoftBoundCETS runtime library

      cd <git_repo>
      cd runtime
      make
    
  5. Test whether it all worked

    1. Compile

        cd unit_tests
        clang -fsoftboundcets test.c -o test -L<git_repo>/runtime -lm -lrt -lsoftboundcets_rt
      
  6. Run the test program

         ./test
    

    Enter 10; the program executes successfully.

    Enter 105; a memory safety violation is triggered.

NOTES and TODO

(1) LTO is still not enabled.

(2) Checks are not currently inlined.

(3) Enable spatial and temporal check elimination

(4) Add separate modes for softbound, cets, and softboundcets

softboundcets-3.9's People

Contributors

farzamdorostkar avatar santoshn 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.