https://github.com/cad-polito-it/byron

An evolutionary source-code fuzzer

https://github.com/cad-polito-it/byron

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: researchgate.net
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords

computational-intelligence evolutionary-algorithms fuzzer optimizer
Last synced: 5 months ago · JSON representation

Repository

An evolutionary source-code fuzzer

Basic Info
Statistics
  • Stars: 12
  • Watchers: 6
  • Forks: 1
  • Open Issues: 6
  • Releases: 0
Topics
computational-intelligence evolutionary-algorithms fuzzer optimizer
Created over 2 years ago · Last pushed 10 months ago
Metadata Files
Readme Contributing License Authors

README.md

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.

Owner

  • Name: CAD & Reliability Group
  • Login: cad-polito-it
  • Kind: organization
  • Location: Italy

Works produced by the CAD & Reliability group of the Department of Control and Computer Engineering (DAUIN) of Politecnico di Torino

GitHub Events

Total
  • Watch event: 6
  • Delete event: 11
  • Issue comment event: 11
  • Push event: 3
  • Pull request event: 21
  • Create event: 11
Last Year
  • Watch event: 6
  • Delete event: 11
  • Issue comment event: 11
  • Push event: 3
  • Pull request event: 21
  • Create event: 11

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 153
  • Average time to close issues: 12 days
  • Average time to close pull requests: 4 days
  • Total issue authors: 2
  • Total pull request authors: 7
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.39
  • Merged pull requests: 82
  • Bot issues: 1
  • Bot pull requests: 128
Past Year
  • Issues: 1
  • Pull requests: 40
  • Average time to close issues: N/A
  • Average time to close pull requests: 12 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.68
  • Merged pull requests: 0
  • Bot issues: 1
  • Bot pull requests: 40
Top Authors
Issue Authors
  • dependabot[bot] (2)
  • squillero (1)
Pull Request Authors
  • dependabot[bot] (130)
  • saccuz (10)
  • dimi-it (8)
  • squillero (3)
  • fossabot (2)
  • sudodots (1)
  • HMiry (1)
Top Labels
Issue Labels
dependencies (2)
Pull Request Labels
dependencies (130)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 69 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 71
  • Total maintainers: 1
proxy.golang.org: github.com/cad-polito-it/byron
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 9.0%
Average: 9.5%
Dependent repos count: 10.1%
Last synced: 6 months ago
pypi.org: byron

An evolutionary source-code fuzzer

  • Versions: 69
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 69 Last month
Rankings
Dependent packages count: 7.6%
Average: 38.5%
Dependent repos count: 69.4%
Maintainers (1)
Last synced: 6 months ago

Dependencies

poetry.lock pypi
  • 138 dependencies
pyproject.toml pypi
  • arcade ^2.6.17
  • joblib ^1.3.2
  • matplotlib ^3.7.2
  • networkx ^3.1
  • numpy ^1.25.0
  • psutil ^5.9.5
  • python >=3.11,<3.13
  • scipy ^1.11.1
  • tqdm ^4.65.0