Multi-purpose extensible self-adaptive optimizer and fuzzer
Project description
Byron is an evolutionary tool: given a problem, it first generates a set of random solutions, then iteratively refines and improves them using the results of their evaluations together with structural information.
Byron can solve problems that require solutions with a complex structures, such as realistic assembly programs with loops, interrupts, and recursive subroutines. It may be used as a coverage-driven fuzzer and a general-purpose optimizer, or as a framework for prototyping and testing new ideas.
Candidate solutions are evaluated in parallel using a Python function, an external makefile, or a generic shell script that may, for instance, call proprietary tools.
Installation
⚠️ Byron is currently in pre-alpha and under active development
pip install --upgrade byron
Few optional dependencies can enhance byron, but are not strictly required:
pip install --upgrade matplotlib
pip install --upgrade joblib
pip install --upgrade psutil
Contacts
- Alberto Tonda: alberto.tonda@inra.fr
- Giovanni Squillero: giovanni.squillero@polito.it
License
Copyright © 2023 Giovanni Squillero and Alberto Tonda
byron is free and open-source software, and it is distributed under the permissive Apache License 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.