跳到正文
研踪PaperTrail
← 研踪 PaperTrail

软件学报:jos:7718 · 记录 #1

基于多智能体协同的动态程序切片方法

来源日期 2026-09-18
来源记录日期 2026-09-18
雷达观测 2026-11-05 00:17
软件学报 ↗PDF ↗

摘要

动态程序切片是一种重要的程序分析技术, 能够在给定程序输入与执行轨迹的情况下提取实际影响切片准则的代码语句, 在程序调试、缺陷定位和程序理解等任务中具有重要应用价值. 然而, 现有动态程序切片方法在大规模软件系统中仍面临分析成本高、依赖关系建模复杂以及跨过程依赖分析困难等问题. 近年来, 研究者尝试利用大语言模型生成动态程序切片, 但现有方法多针对小规模程序设计, 且由于缺乏执行信息约束, 切片准确率仍然有限. 针对上述问题, 提出一种面向动态程序切片生成的多智能体协同框架 AgentDSlicer. 该方法通过程序执行推理、切片生成、结果验证与切片精化等多个智能体的协同工作, 在不依赖真实程序执行信息的前提下实现执行相关的动态程序切片. 为支持系统化评估, 进一步构建人工标注的动态程序切片数据集 DySliceBench, 该数据集包含来自 CodeNet 与 GitHub 开源项目的2 543 个动态切片实例, 覆盖 Java 与 Python 两种编程语言. 实验结果表明, 在 DySliceBench 数据集上, AgentDSlicer 的切片准确率相较现有方法平均提升30.4%, 相较于当前最先进的 LLM 动态切片方法ND-Slicer 提升32.1%; 在大规模程序场景下, 准确率提升可达 60.1%. 此外, 在程序调试与缺陷定位等应用场景中的实验进一步验证了该方法的有效性. 研究结果表明, AgentDSlicer 能够在保证分析准确性的同时有效提升动态程序切片在真实软件项目中的适用性.

论文发现出处

这些页面提供论文线索,不代表同行评审或质量认证。

AI 论文解读

基于摘要 · 非全文审阅

此版本尚未生成 AI 解读。解读由后台任务生成并按论文版本保存,登录后共享已有结果。

发表信息与关联版本

软件学报 ↗

2026 · 正式发表 · DOI: 10.13328/j.cnki.jos.007718

版本差异

目前只观测到一个版本,无法比较变化。之后收录新版本时,会在这里对照标题、作者、分类和摘要。

观测到的版本

平台记录号代表本站观测到的元数据变化,不是作者修订号。来源日期仅到月份或年份时,按该月或该年首日存档。

记录 #1 · 2026-09-18 · 最新观测版本

基于多智能体协同的动态程序切片方法

动态程序切片是一种重要的程序分析技术, 能够在给定程序输入与执行轨迹的情况下提取实际影响切片准则的代码语句, 在程序调试、缺陷定位和程序理解等任务中具有重要应用价值. 然而, 现有动态程序切片方法在大规模软件系统中仍面临分析成本高、依赖关系建模复杂以及跨过程依赖分析困难等问题. 近年来, 研究者尝试利用大语言模型生成动态程序切片, 但现有方法多针对小规模程序设计, 且由于缺乏执行信息约束, 切片准确率仍然有限. 针对上述问题, 提出一种面向动态程序切片生成的多智能体协同框架 AgentDSlicer. 该方法通过程序执行推理、切片生成、结果验证与切片精化等多个智能体的协同工作, 在不依赖真实程序执行信息的前提下实现执行相关的动态程序切片. 为支持系统化评估, 进一步构建人工标注的动态程序切片数据集 DySliceBench, 该数据集包含来自 CodeNet 与 GitHub 开源项目的2 543 个动态切片实例, 覆盖 Java 与 Python 两种编程语言. 实验结果表明, 在 DySliceBench 数据集上, AgentDSlicer 的切片准确率相较现有方法平均提升30.4%, 相较于当前最先进的 LLM 动态切片方法ND-Slicer 提升32.1%; 在大规模程序场景下, 准确率提升可达 60.1%. 此外, 在程序调试与缺陷定位等应用场景中的实验进一步验证了该方法的有效性. 研究结果表明, AgentDSlicer 能够在保证分析准确性的同时有效提升动态程序切片在真实软件项目中的适用性.

查看此版本解读 →查看此版本原文 ↗