Sign inSign up

smetanas/anaconda

By smetanas

•Updated almost 10 years ago

Framework for analysis of multi-threaded C/C++ programs.

Artifact
Image
0

10K+

smetanas/anaconda repository overview

⁠ANaConDA

ANaConDA (Adaptable NAtive-code CONcurrency-focused Dynamic Analysis) is a framework that simplifies the creation of dynamic analysers for analysing multi-threaded C/C++ programs on the binary level.

⁠Installing docker

Follow instructins at https://docs.docker.com/installation/⁠ to install the latest Docker maintained Docker package on your preferred operating system

To install on ubuntu use wget -qO- https://get.docker.com/⁠ | sh

You can watch this tutorial (https://training.docker.com/self-paced-training⁠) or just follow these instructions.

Add your user account to the docker group: sudo usermod -aG docker If the group does not exist, you should create one: sudo groupadd docker sudo usermod -aG docker

Logout of your terminal and log back in for the changes to take effect.

Verify that you can run hello-world container without using sudo: docker run hello-world

⁠Using ANaConDA

To start anaconda use: (will start "/bin/bash" in container) docker run --security-opt apparmor:unconfined -it -v /path/to/folder/with/program/to/analyse/in/host:/path/to/container/dir smetanas/anaconda

  • --security-opt apparmor:unconfined - allows Intel Pin⁠ to attach to another pid
  • -it - connects docker to STDIN and use pseudo-terminal
  • -v - binds host and container directories

After start of container will be installed PIN(intel). Before using PIN read LICENCE⁠.

Now you can just type: run [analyser] [/path/to/container/dir]

There is already a set of analysers such as:

  • atomrace⁠ - AtomRace algorithm developed by VeriFIT⁠ for testing concurrent applications,
  • contract-validator - current research on contracts within VeriFIT⁠
  • eraser⁠ - Eraser algorithm for testing concurrent applications,
  • event-printer - just prints events during execution
  • goodlock⁠ - GoodLock algorithm for detecting deadlocks,
  • hldr-detector,
  • tx-monitor

Tag summary

Content type

Unrecognized

Digest

Size

238.1 MB

Last updated

almost 10 years ago

docker pull smetanas/anaconda