fusion-function-generator (ffg)
Automatic generation of Fusion Functions used by yinyang fuzzer for Semantic Fusion.
Lib structure
The package is divided into 4 folders:
- gen
- operators
- visitors
- emitter
The folder gen contains the code which is used to generate the whole
operators folder, the configuration file exposing some api to control which operators to use during the generation of the tree as well as some constants for the options to the generation algorithm.
the file tree_generation instead contains the main tree generation algorithm.
operators contains the basic definition of the operators classes.
visitors folder contains useful api to print, export to DOT format and rewrite the trees to their inverses.
Finally, emitter includes the code needed to export fusion functions to the format understood by YinYang. It also contains an emitter that outputs fusion functions and its inverses to DOT file.
Cookbook
Use only a subset of the theories in the generation:
ffg.gen.gen_configuration.set_available_theories(['bool', 'real'])
Get the available theories:
ffg.gen.gen_configuration.get_theories()
Generate a fusion function of two variables (as a tree):
tree, _ = ffg.gen.tree_generation.generate_tree(root_type, size, ['x', 'y'], 'z')
Emit the fusion function to YinYang format as a string:
output = io.StringIO()
emit_function(tree, output, wrap=False)
ff = output.getvalue()
Metadata
Release files for ffg 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ffg-0.1.2.tar.gz | 22.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ffg-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 69.0 kB
Release files / ffg-0.1.2.tar.gz
| Download URL | ffg-0.1.2.tar.gz |
|---|---|
| Size | 22.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5549f5a493619128ac9adff21c97bc8faecfd11e4327b77b1b3efc900625bd2a
|
|
BLAKE2b-256 checksum How to use checksums |
b63c91bd19f50e037a12cb993b7be90d7acd672594803ca0ac9dd92d9f01bb16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|
Release files / ffg-0.1.2-py3-none-any.whl
| Download URL | ffg-0.1.2-py3-none-any.whl |
|---|---|
| Size | 46.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9a3ffd9c97e0047b08a49009dcd11549ba2baa3a1caff69c7c8af9884203e7b0
|
|
BLAKE2b-256 checksum How to use checksums |
d2e7f6767f31bdb8998cd55630ff7a88139540c4c7b7cbae07a2859a138d5aac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|