atlas

Research map / Label-efficient and robust learning / Recognition and long-tail

Assemblage: Automatic Binary Dataset Construction for Machine Learning

NeurIPS 2024 · Label-efficient and robust learning › Recognition and long-tail · approach: Dense features and foundation priors · 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.

Presents Assemblage, a distributed AWS-based system that crawls GitHub and vcpkg, builds Windows PE (and some Linux ELF) binaries with many compiler configurations, and releases a dataset plus reproducible "recipes", then benchmarks learning models on it.

Problem

Benign binary corpora for training machine learning binary analysis models are scarce and mostly Linux; Windows PE corpora with source-binary mappings and licensing-compliant distribution are lacking.

Approach

An extensible distributed build system that crawls open-source repositories, compiles them under many toolchain/optimization configurations, and records function-level ground truth (PDBs, RVAs, source lines) in a SQLite database, distributing only permissively licensed binaries and publishing recipes for the rest.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Evaluate PassTell on Windows PE binaries rather than relying on Linux training dataPassTell · Compiler provenance, Windows PEaccuracy: ≈58%Hurt
Train on Windows and test across the Windows/Linux domain boundaryGNN · Binary function similarity, multiple tasksAUC: arch: 0.97 -> 0.50; bit: 0.99 -> 0.70; comp: 0.80 -> 0.63; opt: 0.88 -> 0.72; ver: 0.98 -> 0.82; XA: 0.86 -> 0.48; XC: 0Hurt
Train on Linux and test on WindowsGNN · Binary function similarity, opt, ver, XMAUC: opt: 0.88 -> 0.62; ver: 0.98 -> 0.64; XM: 0.87 -> 0.61Hurt
Fine-tune and evaluate jTrans on Windows rather than LinuxjTrans · Function similarityMRR: 0.83 -> 0.52Hurt
Use PDB debug information with IDAIDA · Function boundary identification, WinPEF-1: 0.47 -> 0.79Helped
Use PDB debug information with IDAIDA · Function boundary identification, vcpkgF-1: 0.86 -> 0.86No clear effect
Allow singleton functions to remain in the dataset and participate in negative pairsGNN binary function similarity pipeline · Binary function similarityperformanceHelped
Increase Windows fine-tuning from 1 to 20 epochsjTrans · Function similarity, WindowsMRR: 0.17 -> 0.52Helped
Increase Windows fine-tuning from 20 to 50 epochsjTrans · Function similarity, WindowsMRR: 0.52 -> 0.52No clear effect
Increase Linux fine-tuning from 1 to 50 epochsjTrans · Function similarity, LinuxMRR: 0.83 -> 0.83No clear effect
Increase BinaryCorp-26M fine-tuning from 1 to 50 epochsjTrans · Function similarity, BinaryCorp-26MMRR: 0.82 -> 0.98Helped

Surprising findings

Limitations

Experimental setup

Datasets: Assemblage Windows-GitHub Assemblage vcpkg Assemblage Linux-GitHub BinaryCorp-26M vcpkg

Benchmarks: Assemblage Windows PE binaries Assemblage Linux ELF binaries vcpkg

Metrics: accuracy AUC MRR F1

Baselines: XDA IDA BinKit BinaryCorp-26M jTrans-zero

Builds on: jTrans PassTell XDA EMBER BinaryCorp

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