BinRankBench is an open-source framework for evaluating cross-platform binary function similarity using fuzzy hashing algorithms.
BinRankBench contains the code to reproduce the results published in our Computers & Security paper:
Bucci, Valerio, Oluwafemi Olukoya, and Jesús Martínez del Rincón. "Bridging the compilation gap: A taxonomy and evaluation of fuzzy hashes for Binary Function Similarity Analysis." Computers & Security (2026): 105077.
The paper can be accessed at this link: https://doi.org/10.1016/j.cose.2026.105077.
Our dataset on Zenodo allows to reproduce all the paper results without re-running the binary analysis phase.
It comes with the radare2 artefacts extracted from Cisco-Talos Dataset-1 and a PostgreSQL dump with the generated fuzzy hashes for 4,278,822 functions.
- CCBHash: Concatenates 13 weighted sub-hashes.
- FSS (Original): Unweighted SimHash over mnemonics, immediate values, and CFG graphlets (by Thomas Dullien).
- FSS (Marcelli): Unweighted SimHash over mnemonics and CFG graphlets (by Marcelli et al.).
- FSS (Marcelli-Weighted): SimHash with feature-type weights (mnemonics 0.05; graphlets 1.00).
- FCatalog: MinHash approach on 4-byte shingles, applying Catalog1 at the function level.
- Machoke: MurmurHashv3 on CFG string representation.
- Position Independent Code: Function bytes with nibble-level masking from radare2 Zignatures.
- Installation: requirements (Python, Docker, radare2, bin2ml)
- Quickstart: reproduce paper results from the Zenodo dump
- Pipeline: full pipeline reference (extract, ingest, evaluate)
- Extending: add a new similarity strategy
Please use the following BibTeX:
@article{bucciBridgingCompilationGap2026,
title = {Bridging the Compilation Gap: A Taxonomy and Evaluation of Fuzzy Hashes for Binary Function Similarity Analysis},
shorttitle = {Bridging the Compilation Gap},
author = {Bucci, Valerio and Olukoya, Oluwafemi and {Mart{\'i}nez del Rinc{\'o}n}, Jes{\'u}s},
year = 2026,
month = dec,
journal = {Computers \& Security},
volume = {171},
pages = {105077},
issn = {0167-4048},
doi = {10.1016/j.cose.2026.105077},
url = {https://www.sciencedirect.com/science/article/pii/S0167404826002531},
}
BinRankBench is released under the GNU General Public License v3.0 or any later version.
See LICENCE for the full text.
This framework reimplements algorithms from several open-source projects with
their own licences (Apache 2.0, MIT, GPL v3, LGPL v3).
See LICENCES/THIRD-PARTY.md for attributions.