Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

613 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pre-requisites

  • Linux environment
  • Python3.x, Pip
  • pip / anaconda installer for python libraries
  • g++ compiler
  • Make

Dependencies

  • Python packages: networkx, prettytable, tabulate
  • Z3

Directory Structure

  • run: script to run a single program using FenSying.
  • README.md: readme file for the project.
  • model-checker: model checker to generate buggy traces. This folder contains the source code of CDSChecker (http://plrg.ics.uci.edu/software_page/42-2/) modified for FenSying.
  • src: FenSying source code.
  • tests: litmus tests and benchmarks, and additionally test scripts to run entire set of benchmarks and litmus tests.

Use FenSying Docker

Use docker pull fensying/fensying to pull and use FenSying docker

Installation

  • Install required python libraries:
pip3 install networkx prettytable tabulate
  • Install Z3:
sudo apt update
sudo apt install z3
  • We need to install CDSChecker to use it as buggy trace generator
cd model-checker/cds-checker/
make

Usage

To run the FenSying tool over some benchmark, run:

run <filename containing main function including path>

An ouput file will be generated at the test path with an _fixed appended to the test name.

Alternatively, you can use run_benchmarks.py or run_litmus.py script in tests/test_scripts.

Note: Check sample files in tests/litmus/ and tests/benchmarks/ folders for the supported input file formats

About

Adds fences to your c11/c++11 code for better optimization

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages