Multi-purpose extensible self-adaptive optimizer and fuzzer
Project description
Byron is an evolutionary tool: given a problem, it first creates a set of random solutions, then iteratively refines and enhances them using the result of their evaluations together with structural information.
Byron is able to tackle problem those solutions are simple fixed-length bit strings, as well as to optimize realistic assembly programs including loops, interrupts and recursive sub routines. It can be exploited as a coverage-driven fuzzer and as a general-purpose optimizer, or as a framework for prototyping and testing new ideas.
Candidate solutions can seamlessly be evaluated in parallel using external scripts, for instance calling 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
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.