mopsa-dataset-debug
收藏Hugging Face2026-05-12 更新2026-05-14 收录
下载链接:
https://huggingface.co/datasets/giovannidemuri/mopsa-dataset-debug
下载链接
链接失效反馈官方服务:
资源简介:
Mopsa数据集是一个统一的、包含静态分析跟踪、具体执行跟踪以及生成的自然语言跟踪的数据集。数据集的核心是源代码及其对应的多层次语义表示。每个数据样本包含原始源代码、经过清理的Mopsa静态分析跟踪、用于对齐跟踪的代码片段,以及将静态注释与这些代码片段对齐后的结果。此外,数据集还提供了具体的执行跟踪(包括原始和投影后的状态),以及将这些执行状态与代码片段对齐的结果。数据集记录了样本的来源数据集名称、唯一标识符、最终输出的变量名及其预期的输出映射。为了增强可解释性,部分样本还包含了静态跟踪和执行跟踪的自然语言重写版本,以及分别与静态跟踪片段和执行跟踪片段对齐的、交错排列的自然语言解释列表。该数据集适用于程序理解、代码语义分析、执行行为预测以及生成代码或程序状态的文本解释等研究任务。
The Mopsa dataset is a unified dataset containing static analysis traces, concrete execution traces, and generated natural language traces. The core of the dataset is source code and its corresponding multi-level semantic representations. Each data sample includes original source code, cleaned Mopsa static analysis traces, code snippets for aligning traces, and the results of aligning static annotations with these code snippets. Additionally, the dataset provides concrete execution traces (including original and projected states) and the results of aligning these execution states with code snippets. The dataset records the source dataset name, unique identifier, final output variable names, and their expected output mappings for each sample. To enhance interpretability, some samples also include natural language rewrites of static and execution traces, as well as interleaved lists of natural language explanations aligned with static and execution trace segments. This dataset is suitable for research tasks such as program understanding, code semantic analysis, execution behavior prediction, and generating textual explanations of code or program states.
创建时间:
2026-05-10
搜集汇总
数据集介绍

构建方式
Mopsa数据集是在程序分析领域背景下构建的统一数据集,集成了静态分析、动态执行与生成式追踪信息。其构建过程首先从原始源代码出发,经过Mopsa工具清洗获得原始追踪信息,再将代码切分为片段以实现对齐。随后,静态分析注解与具体的追踪分段被精准映射,数据源与样本标识符被保留以维持可追溯性。此外,动态执行追踪被完整捕获并与投影态一并记录,最终以对齐的分段形式呈现。该数据集还包含对静态及动态追踪的自然语言重写与解释列表,作为可选字段增强可读性。
特点
该数据集的核心特点在于其多维度、多层次的追踪信息融合机制。它不仅涵盖了静态分析注解与代码分段的精确对齐,还保留了动态执行过程的完整轨迹与投影状态,使得不同抽象层级的程序行为得以统一呈现。特别地,可选的自然语言重写与分段解释列表为复杂追踪信息的理解提供了语义桥梁,显著提升了数据集的解释性与可用性。字段设计兼顾了结构化严谨性与灵活性,既支持细粒度的跨模态对比分析,又便于扩展至下游任务如程序修复或生成式探索。
使用方法
数据以JSONL格式提供,默认配置下包含训练拆分,便于直接加载。使用时可依据`code`字段获取原始代码,通过`trace_raw`获取清洗后的追踪信息,利用`code_seps`与`static_trace_seps`进行对齐分析。对于涉及动态行为的任务,可借助`execution_trace`与`execution_trace_seps`字段获取具体执行状态。若需理解自然语言化的追踪语义,可调用`natural_trace`与`natural_execution_trace`字段;而`interleaved_trace`与`interleaved_execution_trace`则适用于生成融合解释的场景。输出变量名与期望输出映射可通过`output_varname`与`output`字段直接获取,适合用于程序输出预测等下游任务。
背景与挑战
背景概述
Mopsa数据集是由研究团队创建于近年,旨在推动程序分析与理解领域的发展,特别是针对源代码的静态与动态执行轨迹的融合分析。该数据集聚焦于统一表示多种来源的程序轨迹,包括静态分析、具体执行跟踪以及生成的中间表示,以解决代码调试、程序验证和自然语言解释中的关键难题。其核心研究问题在于如何构建一个多模态、对齐良好的轨迹数据集,从而支持模型学习从源码到执行行为的因果关系,并对相关领域如程序合成、软件工程自动化产生深远影响。
当前挑战
该数据集面临的核心挑战首先在于领域问题的复杂性:程序轨迹数据天然具有异构性,静态与动态信息在语义和时序上难以精确对齐,这限制了现有模型对程序行为的全面理解。其次,构建过程中需克服数据收集与清洗的困难,例如处理大规模源码中的控制流歧义、变量作用域差异,以及执行轨迹的噪声与冗余。此外,如何确保跨数据集(如不同来源的代码示例)的轨迹格式统一性,并维持轨迹细粒度与可读性之间的平衡,也是一项关键挑战。
常用场景
经典使用场景
Mopsa数据集为程序分析与代码理解研究提供了多维度、细粒度的程序执行轨迹数据,其核心使用场景在于训练和评估能够对齐源代码与运行时状态的神经网络模型。研究者可借助该数据集中的静态轨迹、执行轨迹及自然语言解释,构建从代码片段到抽象语义的映射关系,特别适用于代码摘要生成、变量状态预测、以及基于轨迹的缺陷定位等任务。数据集设计了分段对齐机制(code_seps与trace_seps),使得模型能够学习代码行与执行状态之间的精确对应,这为开发可解释的深度代码理解系统奠定了数据基础。
解决学术问题
该数据集有效解决了程序分析与自然语言处理交叉领域中长期存在的轨迹对齐与语义抽象难题。传统的程序分析数据集往往仅提供静态结构或单一执行结果,难以支撑对程序运行时动态变化的建模。Mopsa通过整合静态分析、具体执行与生成式轨迹,使得研究者可以探索代码行为的形式化表示与自然描述之间的翻译问题,例如从执行轨迹中自动推断程序意图。这一资源推动了可解释软件工程的发展,使得模型不仅能预测程序输出,更能理解变量状态变化的内在逻辑,对调试辅助、代码审查自动化等方向具有深远影响。
衍生相关工作
Mopsa数据集催生了多个跨程序分析与深度学习的经典工作方向。在轨迹对齐领域,研究者基于其分段标注机制发展出序列到序列的注意力对齐模型,实现执行状态与源代码的端到端匹配;在代码生成任务中,该数据集被用于训练能够理解多步执行流程的Transformer变体,显著提升了代码注释生成的语义保真度。此外,数据集中自然轨迹与执行轨迹的双轨设计,启发了利用对比学习融合静态与动态程序特征的研究范式,为程序预训练模型(如CodeBERT系列)提供了关键的微调基准。这些衍生工作共同推进了可解释人工智能在软件工程中的落地。
以上内容由遇见数据集搜集并总结生成



