Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

byron 🖋

Codename PyPI - Status GitHub License GitHub repo size PyPI - Python Version GitHub Workflow Status (with event) FOSSA Status Documentation Status PyPI - Version PyPI - Downloads

Built on MicroGP technology

Byron is a source code fuzzer designed to support assembly and high-level languages. It starts by generating a set of random programs, which are then iteratively improved by an evolutionary algorithm. Internally, it encodes candidate solutions as typed, directed multigraphs, and can effectively handle complex, realistic structures containing local and global variables, conditional and looping statements, and subroutines.

Programs can be evaluated using a user-defined Python function or an external tool, such as an interpreter or a simulator. Different types of parallelization are supported out of the box, from simple multithreading to the creation of temporary directories where multiple subprocesses are concurrently spawned.

:package: The Python package is available on PyPi; this repo is only useful if you want to hack the code.

TL;DR

  • Byron is currently in alpha and under active development
  • The default branch is always the more stable
  • Do not clone experimental branches exp/* unless you really know what you are doing
  • Follow this style guide and keep the code formatted with Ruff
  • Follow this convention when drafting commit messages
  • Write as few lines of code and as many lines of comments as possible (ie. use builtins, exploit generators and list comprehension)
  • Be paranoid (cit. "I need someone to show me the things")
  • Use pytest and Coverage.py for unit testing (ie. coverage run --module pytest --all)
  • Use Ruff for linting and mypy for type checking
  • Use direnv to patch environment variables
  • It may be wise to contact Giovanni before trying to change anything

Contacts

Main Contributors

Licence

Copyright (c) 2023-24 Giovanni Squillero and Alberto Tonda
Byron is free and open-source software, and it is distributed under the permissive Apache License 2.0.

Metadata

Release files for byron 0.8a1.dev67

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for byron 0.8a1.dev67
File Size Uploaded
byron-0.8a1.dev67.tar.gz 72.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for byron 0.8a1.dev67
File Interpreter ABI Platform
byron-0.8a1.dev67-py3-none-any.whl Python 3 none any Details

Total release size: 206.9 kB

Release files / byron-0.8a1.dev67.tar.gz

Download URL byron-0.8a1.dev67.tar.gz
Size 72.7 kB
Tags Source
SHA-256 checksum
How to use checksums
80a1db56c317081bc8703e1b15c26d544d6f73aed7d594473853b29691559463
BLAKE2b-256 checksum
How to use checksums
1547ff1700c759d2a79aa063c4c32fb50ef9de838d79d675d9e8a894c6ec745f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / byron-0.8a1.dev67-py3-none-any.whl

Download URL byron-0.8a1.dev67-py3-none-any.whl
Size 134.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d3639c635aa1f5a390235d868c3e91419e355ab49a2d974a4db20a1c3fb94082
BLAKE2b-256 checksum
How to use checksums
f02d9542d40cde616373a8044e7c46d93562492e1f0118a99dc37e8e581732ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.8a1.dev67 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page