byron


Namebyron JSON
Version 0.8a1.dev66 PyPI version JSON
download
home_pagehttps://cad-polito-it.github.io/byron/
SummaryAn evolutionary source-code fuzzer
upload_time2024-09-18 14:03:18
maintainerNone
docs_urlNone
authorCyber Romanticists
requires_python<3.13,>=3.10
licenseApache-2.0
keywords approximate optimization aritificial intelligence evolutionary computation fuzzer
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Codename](https://img.shields.io/badge/codename-Don_Juan-pink.svg)](https://en.wikipedia.org/wiki/Don_Juan_(poem))
[![GitHub License](https://img.shields.io/github/license/squillero/byron)](https://opensource.org/licenses/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/byron)](https://www.python.org/)
[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/cad-polito-it/byron/pytest.yml?label=tests)
](https://github.com/cad-polito-it/byron/actions)
[![Documentation Status](https://readthedocs.org/projects/byron/badge/?version=pre-alpha)](https://byron.readthedocs.io/en/pre-alpha/?badge=pre-alpha)
[![GitHub last commit (alpha)](https://img.shields.io/github/last-commit/cad-polito-it/byron/alpha?label=last+github+commit)](https://github.com/cad-polito-it/byron/pulse)
![PyPI - Downloads](https://img.shields.io/pypi/dm/byron?label=downloads)

Byron is a source code [fuzzer](https://en.wikipedia.org/wiki/Fuzzing) 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](https://cad-polito-it.github.io/byron/evolution). Internally, it encodes candidate solutions as [typed](https://rcor.me/papers/typed-graph-theory.pdf), [directed](https://en.wikipedia.org/wiki/Graph_(discrete_mathematics)#Directed_graph) [multigraphs](https://en.wikipedia.org/wiki/Multigraph), 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](https://en.wikipedia.org/wiki/Spawn_(computing)).

**⚠️ Byron is currently in [alpha](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha) and under active development**

## Installation

As simple as

```
pip install --upgrade byron
```

A few dependencies can enhance Byron functionalities, but are not strictly required. You can get them all with

```
pip install --upgrade "byron[full]"
```

## Documentation

None yet, but some HOWTO's and examples [are available](https://github.com/cad-polito-it/byron/tree/alpha/examples) in the development repo.

## Contacts

* Giovanni Squillero — <giovanni.squillero@polito.it>
* Alberto Tonda — <alberto.tonda@inrae.fr>

## License

Copyright (c) 2023-24 [Giovanni Squillero](https://github.com/squillero) and [Alberto Tonda](https://github.com/albertotonda/)  
Byron is [free and open-source software](https://en.wikipedia.org/wiki/Free_and_open-source_software), and it is distributed under the permissive [Apache License 2.0](https://opensource.org/license/apache-2-0/).

            

Raw data

            {
    "_id": null,
    "home_page": "https://cad-polito-it.github.io/byron/",
    "name": "byron",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.13,>=3.10",
    "maintainer_email": null,
    "keywords": "Approximate Optimization, Aritificial Intelligence, Evolutionary Computation, Fuzzer",
    "author": "Cyber Romanticists",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/a2/27/3e40f13356fb4b52aa16eb5703f502bd3a0a494afcddc9120ada9c42c4b9/byron-0.8a1.dev66.tar.gz",
    "platform": null,
    "description": "[![Codename](https://img.shields.io/badge/codename-Don_Juan-pink.svg)](https://en.wikipedia.org/wiki/Don_Juan_(poem))\n[![GitHub License](https://img.shields.io/github/license/squillero/byron)](https://opensource.org/licenses/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/byron)](https://www.python.org/)\n[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/cad-polito-it/byron/pytest.yml?label=tests)\n](https://github.com/cad-polito-it/byron/actions)\n[![Documentation Status](https://readthedocs.org/projects/byron/badge/?version=pre-alpha)](https://byron.readthedocs.io/en/pre-alpha/?badge=pre-alpha)\n[![GitHub last commit (alpha)](https://img.shields.io/github/last-commit/cad-polito-it/byron/alpha?label=last+github+commit)](https://github.com/cad-polito-it/byron/pulse)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/byron?label=downloads)\n\nByron is a source code [fuzzer](https://en.wikipedia.org/wiki/Fuzzing) 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](https://cad-polito-it.github.io/byron/evolution). Internally, it encodes candidate solutions as [typed](https://rcor.me/papers/typed-graph-theory.pdf), [directed](https://en.wikipedia.org/wiki/Graph_(discrete_mathematics)#Directed_graph) [multigraphs](https://en.wikipedia.org/wiki/Multigraph), and can effectively handle complex, realistic structures containing local and global variables, conditional and looping statements, and subroutines.\n\nPrograms 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](https://en.wikipedia.org/wiki/Spawn_(computing)).\n\n**\u26a0\ufe0f Byron is currently in [alpha](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha) and under active development**\n\n## Installation\n\nAs simple as\n\n```\npip install --upgrade byron\n```\n\nA few dependencies can enhance Byron functionalities, but are not strictly required. You can get them all with\n\n```\npip install --upgrade \"byron[full]\"\n```\n\n## Documentation\n\nNone yet, but some HOWTO's and examples [are available](https://github.com/cad-polito-it/byron/tree/alpha/examples) in the development repo.\n\n## Contacts\n\n* Giovanni Squillero \u2014 <giovanni.squillero@polito.it>\n* Alberto Tonda \u2014 <alberto.tonda@inrae.fr>\n\n## License\n\nCopyright (c) 2023-24 [Giovanni Squillero](https://github.com/squillero) and [Alberto Tonda](https://github.com/albertotonda/)  \nByron is [free and open-source software](https://en.wikipedia.org/wiki/Free_and_open-source_software), and it is distributed under the permissive [Apache License 2.0](https://opensource.org/license/apache-2-0/).\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "An evolutionary source-code fuzzer",
    "version": "0.8a1.dev66",
    "project_urls": {
        "Homepage": "https://cad-polito-it.github.io/byron/",
        "Repository": "https://github.com/cad-polito-it/byron"
    },
    "split_keywords": [
        "approximate optimization",
        " aritificial intelligence",
        " evolutionary computation",
        " fuzzer"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2d0f3ef8b5d3978ad496ccbdb9b433203477823a2fbcc59088c40409e5718df2",
                "md5": "82146cad18e22ac39d2f42acebe20270",
                "sha256": "531622cca13116186f1dbeb49d856af896882405caf80a8fccdd488ba83b6e15"
            },
            "downloads": -1,
            "filename": "byron-0.8a1.dev66-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "82146cad18e22ac39d2f42acebe20270",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.10",
            "size": 122219,
            "upload_time": "2024-09-18T14:03:17",
            "upload_time_iso_8601": "2024-09-18T14:03:17.536801Z",
            "url": "https://files.pythonhosted.org/packages/2d/0f/3ef8b5d3978ad496ccbdb9b433203477823a2fbcc59088c40409e5718df2/byron-0.8a1.dev66-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a2273e40f13356fb4b52aa16eb5703f502bd3a0a494afcddc9120ada9c42c4b9",
                "md5": "f0cba271f3ab026c9da3cbfa760e2a41",
                "sha256": "ed759f45168d87cdad2700f7fbcb3d1e91a238ba5ad394353811603fa00479d3"
            },
            "downloads": -1,
            "filename": "byron-0.8a1.dev66.tar.gz",
            "has_sig": false,
            "md5_digest": "f0cba271f3ab026c9da3cbfa760e2a41",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.10",
            "size": 66547,
            "upload_time": "2024-09-18T14:03:18",
            "upload_time_iso_8601": "2024-09-18T14:03:18.795535Z",
            "url": "https://files.pythonhosted.org/packages/a2/27/3e40f13356fb4b52aa16eb5703f502bd3a0a494afcddc9120ada9c42c4b9/byron-0.8a1.dev66.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-18 14:03:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cad-polito-it",
    "github_project": "byron",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "byron"
}
        
Elapsed time: 0.70325s