Skip to content

About

Post-processing plugins for Fission pseudocode: local, quantized small-model name recovery and more (design draft)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

fission-plugins

Post-processing plugins for Fission pseudocode.

Status: design draft. Nothing here is trained, released or measured yet. The working name, license and layout are proposals; see docs/DESIGN.md.

A plugin reads one decompiled function (Fission's decomp --json output) and returns an edit list (variable and function renames, comments, type hints). It never returns replacement code, and the applier only rewrites whole identifiers, so a plugin cannot change what the pseudocode computes.

The first plugin, neural-rename, is planned to use a fine-tuned, quantized small code model that runs locally.

Try the skeleton

PYTHONPATH=src python3 -m unittest discover -s tests -v
import json
from fission_plugins import EditList, FunctionRecord, apply_edits

row = json.load(open("tests/fixtures/checksum.fission.json"))
record = FunctionRecord.from_fission_json(row)
print(apply_edits(record, EditList(renames={"param_1": "buf", "param_2": "len"})).code)

License

Apache-2.0 (proposed; matches Fission). Model weights are licensed separately in each model card.

About

Post-processing plugins for Fission pseudocode: local, quantized small-model name recovery and more (design draft)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages