Skip to main content

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

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.

Source Distribution

byron-0.1.dev5.tar.gz (53.1 kB view hashes)

Uploaded Source

Built Distribution

byron-0.1.dev5-py3-none-any.whl (101.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page