2024 · 会议论文
Assemblage:面向机器学习的二进制数据集自动构建
Assemblage: Automatic Binary Dataset Construction for Machine Learning
Assemblage 是一个分布式系统,从 GitHub 与 vcpkg 爬取 C/C++ 项目,在多种编译器配置下构建,并记录源码到二进制的映射,包括函数地址、源代码、注释以及 PDB 或 DWARF 调试信息。该系统在 AWS 上运行约一年,以 Visual Studio 2015–2022 在不同优化级别、架构及 Debug/Release 模式下构建出 89 万个 Windows PE 二进制,另以 GCC 与 Clang 构建出 42.8 万个 Linux ELF 二进制,共涵盖 29 种配置。案例研究将这些数据用于 PassTell 编译器溯源、图神经网络与 jTrans 函数相似性检测,以及比较 XDA 与 IDA 的函数边界识别。
研究范围与局限
这些二进制均由 GitHub 与 vcpkg 上的开源项目构建,其中许多是小型学生项目或实用工具,因此不能代表商业、加壳或混淆软件。Assemblage 不独立检测恶意软件,作者依赖 GitHub 禁止恶意软件的政策,并计划在后续版本中加入扫描。论文报告的构建成功率在 Windows 上约为 30%,在 Linux 上为 7%。公开数据集仅包含采用宽松许可证的仓库,因此可下载的副本只是论文语料的子集;元数据中的仓库链接会把二进制与作者的 GitHub 主页关联起来。案例研究在原有协议下以最小改动重新训练现有模型,展示的是 Windows 与 Linux 之间的泛化差距(例如 jTrans 在 Windows 上的 MRR 为 0.52,在 Linux 上为 0.83),而非新的分析方法。
与本合集的关联
补充一篇提供源码与调试信息映射的 Windows PE 二进制数据集论文,与本节反编译研究所用的 Linux ELF 函数语料互补。
发表与复核详情
- 发表载体
- NeurIPS 2024 Datasets and Benchmarks
- 发表状态
- 会议论文
- 出版/提交日期
- 2024 年(具体日期未核实)
- 日期依据
- NeurIPS 官方论文集与出版方提交的 Crossref 元数据标明出版年份为 2024;Crossref 未提供更精确的出版日期。arXiv 首次提交日期另行记录。
- arXiv 首次提交
- 2024 年 5 月 7 日
- arXiv
- 2405.03991
- 已复核的 arXiv 版本
- v2
- DOI
- 10.52202/079017-1871
Crossref 与 NeurIPS 论文集页面给出八位作者顺序、第 37 卷及第 58698–58715 页;Crossref 只记录年份。论文集页面的 2024-12-16 引用日期也出现在另一篇 NeurIPS 2024 论文的页面上,因此保留年份精度。审阅了 arXiv v2(2024-11-02),其注释标明 NeurIPS;v1 提交于 2024-05-07。在所审阅的 f8ac584 提交(2026-08-08)中,仓库 README 称代码采用 MIT 许可证,公开数据集是宽松许可子集;pyproject.toml 声明 MIT,但没有 LICENSE 文件,GitHub 也未识别出许可证。README 还说明代码库于 2026 年 7 月重构并加入 Rust 构建器,Windows/MSVC 构建位于 backend/assemblage/legacy/ 下且需要 Windows 主机,pre-refactor 分支保留了此前的代码。Hugging Face 上的 changliu8541/Assemblage_PE(公开副本含 9.1 万个 Windows PE 二进制)与 Assemblage_LinuxELF 数据卡声明许可证为“other”,并要求用户遵守各源仓库的许可证。仓库中独立的 DeepHistory 语料不在本条目范围内。本次未下载二进制或数据集,也未运行代码或实验。
来源复核于
本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。
一手来源
- https://proceedings.neurips.cc/paper_files/paper/2024/hash/6bbefc73a187dd42e0dc065b4e7a0615-Abstract-Datasets_and_Benchmarks_Track.html
- https://proceedings.neurips.cc/paper_files/paper/2024/file/6bbefc73a187dd42e0dc065b4e7a0615-Paper-Datasets_and_Benchmarks_Track.pdf
- https://api.crossref.org/works/10.52202/079017-1871
- https://arxiv.org/abs/2405.03991v2
- https://arxiv.org/pdf/2405.03991v2
- README.md GitHub · Assemblage-Dataset/Assemblage · 修订 f8ac584
- pyproject.toml GitHub · Assemblage-Dataset/Assemblage · 修订 f8ac584
- https://huggingface.co/datasets/changliu8541/Assemblage_PE/blob/19a8f947f5a04d03edea78e61790226b55f92ac2/README.md
- https://huggingface.co/datasets/changliu8541/Assemblage_LinuxELF/blob/5d58b08b500ea279a9880f80fd4b217e1897035a/README.md