ArchLinux数据集
收藏github2024-05-16 更新2024-05-31 收录
下载链接:
https://github.com/whoami648/BinCoFer
下载链接
链接失效反馈官方服务:
资源简介:
该数据集主要收集了Arch Linux系统中的数据,包括基础事实、二进制程序和第三方库。数据集尚未完全整理,但已用于训练BCSD模型,并用于检测C/C++二进制程序中第三方库的部分重用。
This dataset primarily collects data from the Arch Linux system, including fundamental facts, binary programs, and third-party libraries. Although the dataset has not been fully organized, it has been utilized to train the BCSD model and to detect partial reuse of third-party libraries in C/C++ binary programs.
创建时间:
2024-04-29
原始信息汇总
数据集概述
数据集名称
- BinCoFer
数据集目的
- 用于检测C/C++二进制程序中第三方库的部分重用。
数据集内容
- 主要包含Arch Linux数据集,包括基础事实、二进制程序和第三方库。
- 数据集尚未完全整理。
数据集构建方法
- 从ArchLinux系统中抓取所有包,总计11,369个项目。
- 通过手动修改PKGBUILD文档,增加静态链接编译选项,调整编译顺序,将动态链接转换为静态链接。
- 最终手动编译了148个二进制程序。
数据集划分
- 按照7:3的比例划分,其中70%(110个二进制程序)用于选择阈值,30%(38个二进制程序)用于在选定阈值下进行实验验证。
搜集汇总
数据集介绍

构建方式
在构建ArchLinux数据集时,研究团队首先从ArchLinux系统中抓取了截至2023年8月的所有软件包,共计11,369个项目。随后,通过手动修改PKGBUILD文档,添加了静态链接编译选项,并调整了编译顺序,以将动态链接转换为静态链接。最终,成功手动编译了148个二进制程序。该数据集按照7:3的比例进行划分,其中70%(110个二进制程序)用于选择阈值,30%(38个二进制程序)用于在选定阈值下进行实验验证。
特点
ArchLinux数据集的主要特点在于其专注于C/C++二进制程序中第三方库的部分重用检测。该数据集不仅包含了二进制程序和第三方库,还提供了真实数据(ground truth),为研究提供了可靠的基准。此外,数据集的构建过程中采用了静态链接技术,确保了二进制程序的独立性,从而提高了检测的准确性。
使用方法
使用ArchLinux数据集时,首先需创建一个conda虚拟环境,并安装所需的Python库和PyTorch。接着,通过克隆GitHub仓库获取代码和数据集。数据集的使用主要包括计算精度和召回率,可通过运行`Percision_Recall.py`脚本来实现。此外,数据集的划分使得用户可以在不同的子集上进行模型训练和验证,以评估其在不同场景下的表现。
背景与挑战
背景概述
ArchLinux数据集是由BinCoFer项目团队创建的,专注于在C/C++二进制程序中检测第三方库的部分重用问题。该数据集的构建始于2023年8月,主要研究人员通过抓取ArchLinux系统中的所有包,共计11,369个项目,并手动修改PKGBUILD文档以实现静态链接编译选项的调整,最终成功编译了148个二进制程序。该数据集的创建旨在为BCSD模型提供一个分布相似的训练和验证环境,从而提高模型在检测二进制程序中第三方库重用问题的准确性。
当前挑战
ArchLinux数据集在构建过程中面临多项挑战。首先,从动态链接转换为静态链接的过程需要对编译选项进行精细调整,这增加了数据集构建的复杂性。其次,手动编译148个二进制程序耗时且容易出错,确保每个程序的正确编译和功能完整性是一个重大挑战。此外,数据集的划分(7:3的比例)虽然合理,但在实际应用中如何确保验证集的有效性和代表性仍需进一步研究。最后,数据集的规模相对较小,可能限制了其在深度学习模型训练中的广泛应用。
常用场景
经典使用场景
ArchLinux数据集在二进制程序的第三方库部分重用检测中展现了其经典应用场景。该数据集主要用于训练和验证BCSD模型,以识别C/C++二进制程序中的第三方库部分重用情况。通过分析二进制文件中的函数相似性,研究人员能够有效地评估和优化模型性能,从而提高检测的准确性和召回率。
实际应用
在实际应用中,ArchLinux数据集被广泛用于软件安全和知识产权保护领域。通过检测二进制程序中的第三方库重用情况,企业可以有效防止代码泄露和侵权行为,确保软件的原创性和安全性。此外,该数据集还支持软件供应链的安全管理,帮助企业识别和防范潜在的安全风险。
衍生相关工作
基于ArchLinux数据集,研究者们开发了多种先进的二进制代码分析工具和算法。例如,BCSD模型通过该数据集的训练,显著提升了对第三方库重用的检测能力。此外,还有研究工作探索了如何利用该数据集进行二进制代码的自动修复和优化,进一步扩展了其在软件工程领域的应用范围。
以上内容由遇见数据集搜集并总结生成



