Dynamic binary instrumentation tools written using Pin. The intention for these tools is to instrument dynamic behaviour of programs so that formal models can be derived from them (for example, via program synthesis).
A vagrant environment is supplied to make development and evaluation of these tools easier.
Prerequisites:
With the prerequisites installed, start up a virtual machine. This will take some time the first time you run it:
vagrant up
vagrant sshYou should find yourself back at the project root, but inside an Ubuntu VM. To build all the Pin tools and demo programs, run:
makeTo run a pin tool:
pin -t $path_to_tool_shared_lib -- $some $command $line