atlas

Research map / Learning theory and algorithms / Prediction and decision losses

Is Function Similarity Over-Engineered? Building a Benchmark

NeurIPS 2024 · Learning theory and algorithms › Prediction and decision losses · approach: Adaptive testing and experiments · 0 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Builds a binary function similarity detection benchmark (Assemblage, MOTIF, Common Libraries, Marcelli Dataset-1, BinaryCorp) with leakage-aware splits and proposes REFuSe, a raw-byte MalConv-style CNN trained with triplet loss, which matches or beats GNN, jTrans, and BSim on most datasets.

Problem

Binary function similarity detection (BFSD) benchmarks are small, Linux-centric, and contain data leakage, duplicate functions, unclear labeling, and unrealistic pool-size restrictions, so reported progress does not reflect real-world reverse engineering and malware analysis use.

Approach

Address six dataset construction flaws (train/test leakage, cross-binary duplicates, labeling ambiguity, disabling optimizations, lack of large Windows data, pool-size restrictions) with a new large Windows-centric benchmark, and show that a simple raw-byte CNN baseline (REFuSe) trained with triplet loss is competitive with or superior to feature-engineered models.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Use raw-byte CNN embeddings instead of engineered featuresREFuSe · AssemblageMRR: 0.475 -> (0.611, 0.619)Helped
Use raw-byte CNN embeddings instead of engineered featuresREFuSe · MOTIFMRR: (0.613, 0.622) -> (0.678, 0.683)Helped
Use raw-byte CNN embeddings instead of engineered featuresREFuSe · Common LibrariesMRR: 0.677 -> (0.684, 0.691)Helped
Use raw-byte CNN embeddings instead of engineered featuresREFuSe · Marcelli Dataset-1MRR: (0.279, 0.334) -> (0.676, 0.683)Helped
Use raw-byte CNN embeddings instead of engineered featuresREFuSe · BinaryCorpMRR: 0.693 vs (0.468, 0.477)Mixed
Mask source ID in function labels (ablation)REFuSe · AssemblageMRR: 0.088 -> 0.615Helped
Mask parameter type in function labels (ablation)REFuSe · AssemblageMRR: 0.088 -> 0.130Helped
Mask source ID and parameter type in function labels (ablation)REFuSe · AssemblageMRR: 0.088 -> 0.731Helped
Increase jTrans pool size from 100 to 500 (ablation)jTrans · BinaryCorpMRR: 0.95266 -> 0.88613Hurt
Increase jTrans pool size from 500 to 1000 (ablation)jTrans · BinaryCorpMRR: 0.88613 -> 0.84782Hurt
Increase jTrans pool size from 1000 to 5000 (ablation)jTrans · BinaryCorpMRR: 0.84782 -> 0.74619Hurt

Surprising findings

Limitations

Experimental setup

Datasets: Assemblage BinaryCorp Marcelli Dataset-1 MOTIF Common Libraries

Benchmarks: Assemblage MOTIF Common Libraries Marcelli Dataset-1 BinaryCorp

Metrics: mean reciprocal rank recall@k

Baselines: GNN (Li et al. 2019 graph matching network) jTrans BSim Naive Transformer

Builds on: MalConv triplet loss Siamese network Assemblage

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy