mopsa-set-debug
收藏Hugging Face2026-05-14 更新2026-05-15 收录
下载链接:
https://huggingface.co/datasets/giovannidemuri/mopsa-set-debug
下载链接
链接失效反馈官方服务:
资源简介:
Mopsa数据集是一个由Mopsa静态分析工具生成的程序分析轨迹数据集。数据生成过程包括将程序中的`arg*`绑定重写为抽象集合或区间表示,并提取最终的输出摘要。数据集以JSON Lines格式存储,包含以下关键字段:`id`(唯一标识符)、`dataset`(数据集来源)、`code`(代码)、`original_code`(原始代码)、`abstract_inputs`(抽象输入)、`abstract_output`(抽象输出)、`upper_bound`(上界)、`lower_bound`(下界)、`trace_raw`(原始轨迹)、`trace_seps`(轨迹分隔符)。此外,构建元数据保存在`summary.json`文件中。该数据集适用于程序静态分析、抽象解释、边界验证、代码轨迹分析及相关机器学习任务的研究与评估。
The Mopsa dataset is a program analysis trace dataset generated by the Mopsa static analysis tool. The data generation process involves rewriting `arg*` bindings in programs into abstract set or interval representations and extracting the final output summaries. The dataset is stored in JSON Lines format and includes the following key fields: `id` (unique identifier), `dataset` (source dataset), `code` (code), `original_code` (original code), `abstract_inputs` (abstract inputs), `abstract_output` (abstract output), `upper_bound` (upper bound), `lower_bound` (lower bound), `trace_raw` (raw trace), `trace_seps` (trace separators). Additionally, construction metadata is saved in the `summary.json` file. This dataset is suitable for research and evaluation in program static analysis, abstract interpretation, bound verification, code trace analysis, and related machine learning tasks.
创建时间:
2026-05-13
原始信息汇总
根据您提供的数据集详情页信息,以下是对该数据集的总结:
数据集概述
- 数据集名称:Mopsa Dataset
- 数据集地址:https://huggingface.co/datasets/giovannidemuri/mopsa-set-debug
数据集描述
该数据集包含使用Mopsa工具对arg*绑定进行抽象集合/区间重写后生成的静态分析轨迹,并提取了最终输出摘要。
数据文件
- 训练数据文件:
mopsa-set.jsonl - 构建元数据:存储在
failure_summary.json中
关键列
数据集包含以下关键列:
| 列名 | 描述 |
|---|---|
id |
数据项的唯一标识 |
dataset |
数据集来源信息 |
code |
代码内容 |
original_code |
原始代码 |
abstract_inputs |
抽象输入 |
abstract_output |
抽象输出 |
upper_bound |
上界 |
lower_bound |
下界 |
lower_bound_llm |
大语言模型生成的下界 |
trace_raw |
原始轨迹 |
trace_seps |
分隔后的轨迹 |
配置信息
- 配置名称:
default - 数据分割:仅包含训练集(
train)
搜集汇总
数据集介绍

构建方式
该数据集基于Mopsa静态分析工具构建,通过对程序中的`arg*`绑定进行抽象集合与区间重写(abstract sets/intervals),并提取最终输出摘要(final output summary)以生成静态分析轨迹(Static-analysis traces)。数据以JSONL格式存储于单个文件`mopsa-set.jsonl`中,仅包含训练集(train split)。构建元数据(如失败记录)额外保存在`failure_summary.json`中,确保数据生成过程的可追溯性。
特点
数据集围绕程序分析的因果链条设计,关键列涵盖原始代码(`original_code`)、抽象输入(`abstract_inputs`)与抽象输出(`abstract_output`),并提供了上下界(`upper_bound`、`lower_bound`)及大语言模型生成的界值(`lower_bound_llm`),便于比较不同分析范式。细粒度的原始轨迹(`trace_raw`)和分割轨迹(`trace_seps`)字段,使得研究者能够深入探究抽象解释的中间状态与最终结论之间的映射关系。
使用方法
该数据集特别适合用于训练或评估基于大语言模型的静态分析推理能力。使用时可通过HuggingFace的`load_dataset`函数直接加载默认配置的JSONL文件,获取包含完整字段的字典列表。典型应用场景包括:利用`code`与`abstract_output`进行监督学习,或借助`trace_seps`与`lower_bound_llm`对比模型生成的界值与真实抽象界值之间的差异,从而优化模型对程序抽象语义的理解。
背景与挑战
背景概述
Mopsa数据集由相关研究机构创建,旨在为静态分析领域提供标准化的基准测试资源。该数据集的核心研究问题聚焦于如何利用抽象解释技术,通过将参数绑定重写为抽象集合或区间,生成静态分析轨迹,从而提升程序分析的精度与效率。Mopsa数据集通过记录代码、抽象输入输出、上下界及分析轨迹等关键信息,为验证和比较静态分析工具的有效性提供了重要支撑。其在推动程序验证、缺陷检测及编译器优化等方向的研究中具有广泛影响力,成为该领域学者评估算法鲁棒性与泛化能力的重要参考。
当前挑战
Mopsa数据集所解决的领域问题在于静态分析中抽象解释的精度与可扩展性矛盾,即如何在保持分析结果准确性的同时处理大规模复杂程序。构建过程中,主要挑战包括:如何设计高效的重写策略将动态绑定转化为静态抽象表示;如何从大量代码中自动提取一致且无歧义的抽象输入与输出;以及如何确保生成的轨迹数据能够复现并泛化至实际应用场景。此外,数据集还面临数据偏差风险,即特定编程模式或语言特性可能影响抽象结果的代表性,从而限制其在不同分析任务中的适用性。
常用场景
经典使用场景
在程序静态分析与形式化验证的广阔天地中,Mopsa数据集以其独特的抽象解释轨迹而熠熠生辉。该数据集通过整合Mopsa分析器对包含符号参数绑定的代码进行抽象域(如集合与区间)的重写,并提取最终输出摘要,为研究者提供了一份珍贵的语义契约。其最经典的应用场景在于评估和校准面向抽象解释的静态分析工具,特别是那些需要处理复杂输入输出关系的场景。通过利用数据集中提供的上下界信息及原始与抽象后的代码对,学者们能够系统性地对比分析工具在不同抽象粒度和精度的表现,从而推动静态分析理论与实践的边界拓展。
解决学术问题
Mopsa数据集精准地回应了程序语言与软件工程领域中的几个核心学术困境,其影响力深远。首先,它为解决静态分析结果的可靠性与可解释性这一长期难题提供了实证基础。数据集中的原始与抽象轨迹、上下界及LLM生成的下界,使得研究人员能够深入剖析抽象解释过程中的信息损失与不确定性,从而提出更鲁棒的抽象域或分析策略。其次,该数据集为评估和比较不同静态分析框架在数值精度与性能之间的权衡提供了标准化的基准,推动了对复杂程序属性(如数组越界、缓冲区溢出)的检测方法向更严谨、更可量化的方向发展。
衍生相关工作
Mopsa数据集的发布催生了一系列富有洞见的后续研究工作。围绕其提供的丰富抽象轨迹,学界涌现出大量探索抽象解释与深度学习融合的前沿课题,例如基于该数据集开发的抽象域自动选择与调优算法,以及利用其上下界信息来增强程序修复模型鲁棒性的技术。同时,数据集中的trace_raw与trace_seps字段激发出对反事实程序分析与语义切片的研究,学者们通过分析不同抽象路径下的执行差异,提出更精细的程序行为理解方法。更值得关注的是,lower_bound_llm字段的纳入引发了关于大规模语言模型在程序语义理解中作用的热烈讨论,催生了将LLM作为程序分析辅助体的新范式,为传统静态分析注入了前所未有的活力与可能性。
以上内容由遇见数据集搜集并总结生成



