[Locksmith]

Download Locksmith

Download Locksmith:
ver 1.0
ver 0.4
ver 0.3
ver 0.2

If you are using Locksmith, please drop me an email (substitute @ for -at- in the address) to let me know.

Building Locksmith

In short:
  • Uncompress:
    $ tar -xzvf locksmith-xxx.tar.gz
    
          
  • cd into the directory:
    $ cd locksmith-xxx
    
          
  • Configure:
    $ ./configure
    
          
  • Make:
    $ make
    
        
If all goes well, this is enough to build Locksmith. Locksmith is implemented in OCaml and uses CIL (written in Ocaml) and Banshee (written in C). We have builted and tested it on 32-bit x86 linux, and Darwin PowerPC architectures using gcc versions 3.2.3, 4.0.0 and 4.1.2, and OCaml versions 3.08.1, 3.09.1 and 3.09.2. When changing ocaml compilers the ordering of the output might change.

Running Locksmith

Locksmith is run using the cilly CIL driver, which is stored in locksmith/cil/bin/cilly. Since Locksmith performs a whole program analysis, it needs to be supplied with all the source files in the program. For simple applications, running
$ /path/to/locksmith/cil/bin/cilly --merge *.c
is enough to cause CIL to merge all input C files before invoking Locksmith. We provide stub definitions for several library functions in locksmith/experiments/lib.c. All undefined functions in the final merged program will be listed as warnings.


Last updated on Thu Mar 22 2007
This page is maintained by Polyvios Pratikakis