Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 1.3 KB

README.md

File metadata and controls

30 lines (20 loc) · 1.3 KB

Upbeat

Upbeat is a fuzzing tool to generate random test cases for bugs related to input checking in Q# libraries. It leverages open-source Q# code samples to synthesize test programs. It frames the test case generation as a constraint satisfaction problem for classical computing and a quantum state model for quantum computing to produce carefully generated subroutine inputs to test if the input-checking mechanism is appropriately implemented. Our paper can be accessed here.

Install

Use Docker

We offer a Docker image that runs "out of the box". Alternatively, users can also build and run their own image using the provided Dockerfile.

Setup Locally

  1. Ensure you have downloaded the following pip tools.
pip install gdown numpy z3-solver jupyter matplotlib scipy tabulate
  1. Follow the installation instructions in INSTALL.md.
  2. Clone the repository.
git clone https://github.com/NWU-NISL-Fuzzing/upbeat.git

Usage

See this document.

Troubleshooting

Here are some issues we've encountered when installing and running Upbeat on different devices. We hope this page can help you resolve them.