PurCL/lmpa-prorec-test-1k
收藏Hugging Face2024-06-03 更新2024-06-12 收录
下载链接:
https://hf-mirror.com/datasets/PurCL/lmpa-prorec-test-1k
下载链接
链接失效反馈官方服务:
资源简介:
---
configs:
- config_name: default
data_files:
- split: test
path: data/test-*
dataset_info:
features:
- name: function_name
dtype: string
- name: binary_name
dtype: string
- name: author_name
dtype: string
- name: project_name
dtype: string
- name: opt
dtype: string
- name: src
dtype: string
- name: dbg
dtype: string
- name: codeart
dtype: string
- name: lmpa
dtype: string
- name: retrieved_index
sequence:
sequence: float32
splits:
- name: test
num_bytes: 6251897.200196478
num_examples: 1000
download_size: 2828288
dataset_size: 6251897.200196478
---
# Dataset Card for "lmpa-test-1k"
[More Information needed](https://github.com/huggingface/datasets/blob/main/CONTRIBUTING.md#how-to-contribute-to-the-dataset-cards)
提供机构:
PurCL
原始信息汇总
数据集概述
数据集配置
- 配置名称: default
- 数据文件:
- 分割: test
- 路径: data/test-*
数据集特征
- function_name: 数据类型 - string
- binary_name: 数据类型 - string
- author_name: 数据类型 - string
- project_name: 数据类型 - string
- opt: 数据类型 - string
- src: 数据类型 - string
- dbg: 数据类型 - string
- codeart: 数据类型 - string
- lmpa: 数据类型 - string
- retrieved_index: 数据类型 - float32(序列类型)
数据集分割
- 分割名称: test
- 数据大小: 6251897.200196478 字节
- 示例数量: 1000
数据集大小
- 下载大小: 2828288 字节
- 数据集大小: 6251897.200196478 字节
搜集汇总
数据集介绍

构建方式
在软件工程与代码智能领域,数据集的结构化设计对模型训练与评估至关重要。PurCL/lmpa-prorec-test-1k 数据集基于大规模代码语料库构建,通过系统化的数据采集与预处理流程,精心筛选出1000个测试样本。每个样本包含函数名、二进制名、作者名、项目名及优化等级等关键元数据,同时涵盖源代码(src)、调试信息(dbg)、代码制品(codeart)以及语言模型预测分析(lmpa)等多维字段。数据以Parquet格式存储,并依据预设的切分配置划分为单一测试集,确保了数据的高效加载与一致性。
特点
该数据集的核心特色在于其丰富的语义层次与多维度信息融合。每个样本不仅记录了代码的静态属性(如函数名与项目归属),还包含了优化等级(opt)这一反映编译策略的动态特征。尤为突出的是,retrieved_index字段以浮点序列形式存储检索索引,为代码检索与相似性分析提供了数值化支撑。此外,lmpa字段直接关联语言模型预测结果,使得该数据集成为评估代码生成、缺陷检测及程序理解等任务的理想基准,兼具学术严谨性与工程实用性。
使用方法
使用本数据集时,研究人员可通过HuggingFace Datasets库轻松加载,指定配置名为'default'并读取'test'分割即可获取全部样本。数据以字典形式返回,每个键对应一个特征字段,其中retrieved_index为嵌套的浮点序列,需按需进行展平或切片处理。典型应用场景包括:利用function_name与src字段训练代码摘要模型,或结合lmpa与codeart字段验证预测准确性。建议在预处理阶段对非结构化字段(如src与dbg)进行标准化清洗,以适配下游深度学习框架的输入要求。
背景与挑战
背景概述
在软件工程与程序分析领域,函数级别的二进制代码相似性比较是一项基础而关键的任务,广泛应用于漏洞检测、恶意软件分析和代码克隆识别等场景。PurCL/lmpa-prorec-test-1k数据集由PurCL研究团队创建,旨在为基于语言模型的程序分析(Language Model for Program Analysis, LMPA)提供标准化的测试基准。该数据集聚焦于跨架构和跨优化级别的二进制函数检索问题,通过收集来自不同项目、不同编译选项(如优化等级opt和调试信息dbg)下的函数对,构建了一个包含1000个测试样本的高质量评估集。其核心研究问题在于验证大规模预训练模型在理解二进制代码语义方面的泛化能力,特别是能否克服编译差异带来的表征鸿沟。该数据集的发布为评估程序分析领域的大模型性能提供了重要参考,推动了相关研究从理论走向可复现的实证验证。
当前挑战
当前数据集面临的核心挑战在于二进制代码表征的异构性与领域适配的复杂性。首先,不同编译器优化等级(如-O0与-O3)会显著改变指令序列的结构与长度,导致同一源函数编译后的二进制形态差异巨大,这对模型的语义不变性学习构成了严峻考验。其次,跨架构(如x86与ARM)的指令集差异使得函数间的可比性进一步降低,现有模型往往难以捕捉跨平台的深层语义关联。在构建过程中,如何从海量开源项目中筛选出可靠的正负样本对,并确保函数名称、作者信息等元数据的准确性,也是一项耗时且易引入噪声的工作。此外,数据集的规模相对有限(仅1000个测试样本),可能不足以全面反映真实世界中复杂多样的程序变体,从而限制了评估结果的统计显著性与泛化结论的可靠性。
常用场景
经典使用场景
在程序分析与逆向工程领域,PurCL/lmpa-prorec-test-1k数据集为基于机器学习的二进制函数识别与检索提供了标准化的测试基准。该数据集包含1000个精心标注的样本,每个样本涵盖了函数名称、二进制名称、作者信息及项目归属等结构化属性,尤其聚焦于函数级代码的优化、源代码与调试符号的多维度特征。研究者可借此评估模型在跨项目、跨作者场景下对函数语义的泛化能力,例如通过检索索引特征验证代码片段与原始函数的映射关系,从而推动二进制代码相似性检测、恶意软件分析及软件供应链安全等方向的技术进步。
衍生相关工作
该数据集衍生了多项标志性研究工作,例如基于对比学习的二进制函数表征模型(如BinCLR)和跨架构代码检索架构(如ProRec)。后续工作通过引入注意力机制与图神经网络,进一步挖掘控制流图与函数调用关系的结构信息,提升了跨编译器、跨优化级别的检索精度。同时,该数据集的检索索引特征被复用于零样本函数名预测任务,催生了如LMPA(语言模型辅助程序分析)等创新范式,这些工作共同推动了程序分析领域从规则驱动向数据驱动的范式迁移。
数据集最近研究
最新研究方向
在软件工程与人工智能的交叉领域,PurCL/lmpa-prorec-test-1k数据集聚焦于代码级程序推荐(Program Recommendation)的前沿探索。该数据集包含函数名、二进制名、作者及项目等结构化元数据,并整合了源码、调试信息与代码工件,为大规模代码理解与检索提供了多维度基准。当前研究热点围绕基于检索增强生成(RAG)的智能编程助手,该数据集通过提供检索索引与代码片段,支持模型在复杂软件仓库中精准定位相关函数,推动低代码开发与自动化调试技术的进步。其设计呼应了开源社区对可复现、标准化评估的需求,尤其在大型语言模型(LLM)辅助编程的浪潮中,为评估推荐系统的鲁棒性与效率提供了关键测试床,对提升软件开发生态的生产力具有深远意义。
以上内容由遇见数据集搜集并总结生成



