大语言模型

  • 显示方式:
  • 简洁模式
  • 摘要模式
  • 1  基于语法和类型变异的TypeScript编译器缺陷检测
    任志磊,高越,周志德,敖伟,江贺
    :1-21. DOI: 10.13328/j.cnki.jos.007572
    [摘要](445) [HTML](0) [PDF 1.00 M](282)
    摘要:
    TypeScript作为JavaScript的超集, 提供了静态类型支持和面向对象等多种特性, 被Angular、Vue、React等众多主流框架广泛采用, 成为构建大型应用的核心技术之一. 其编译器负责将TypeScript代码编译为标准的JavaScript代码. 然而, TypeScript编译器本身可能存在缺陷, 导致生成的JavaScript代码包含难以预料的错误. 尽管在JavaScript引擎测试方面已有诸多研究, 但尚未有针对TypeScript编译器的系统性测试研究. 现有的JavaScript引擎测试方法既难以生成大量包含TypeScript特定类型的程序, 也无法有效变异这些类型, 导致难以检测TypeScript编译器中与复杂类型系统相关的缺陷. 为此, 提出一种基于语法和类型变异的TypeScript编译器测试框架TscFuzz. 为了获取大量包含TypeScript特定类型的种子程序, TscFuzz针对TypeScript相较于JavaScript的特殊类型设计了一组提示词, 并引导大语言模型生成一系列包含特定类型的程序. 然后, 设计了一组类型特定的变异算子, 旨在通过类型变异对TypScript的类型系统进行针对性的测试. 最后, TscFuzz基于交叉版本策略的差分测试, 比较不同版本的TypeScript编译器的输出结果来检测其缺陷, 并通过Node.js验证编译器输出JavaScript程序的语义正确性. 实验结果显示, TscFuzz在72 h内发现了5个缺陷, 比基线方法DIE和FuzzJIT分别多检测了2个和3个bug. TscFuzz的故障检测效果显著优于基线方法. 同时, 经过3个月的测试, TscFuzz发现了12个真实的TypeScript缺陷, 其中8个已被开发者确认, 7个已被修复.
    2  面向预训练漏洞检测模型的黑盒对抗攻击
    王霄东,陈郅楷,王一杰,黄荔,关志涛
    :1-21. DOI: 10.13328/j.cnki.jos.007643
    [摘要](603) [HTML](0) [PDF 1.42 M](229)
    摘要:
    预训练代码模型在代码理解与分析任务中展现出强大的能力, 逐渐成为源代码漏洞检测领域的重要工具与研究热点. 然而, 与传统深度学习模型类似, 预训练代码模型在面对精心构造的对抗代码输入时仍存在鲁棒脆弱性. 攻击者可通过添加语义保持的扰动, 误导模型将含漏洞代码识别为无漏洞代码, 从而威胁软件安全. 因此, 研究针对预训练漏洞检测模型的对抗攻击, 不仅有助于评估预训练代码模型的鲁棒性, 还能够为后续漏洞检测模型设计和防御机制构建提供重要参考. 针对硬标签黑盒攻击场景, 提出一种面向预训练漏洞检测模型的黑盒对抗攻击方法——VulBlurrer. 设计定向同义代码转换策略优先对漏洞邻近的高敏感区域和特定语句进行扰动, 并提出基于特征一致性、语义一致性与代码流畅度的逃逸分数, 以在无需访问目标模型内部信息的前提下量化候选样本的潜在攻击价值. 此外, 采用基于遗传算法的对抗代码优化策略, 通过动态调整逃逸分数计算权重, 并在迭代过程中采用精英保留机制, 进一步提升攻击准确率. 在基于CodeBERT、GraphCodeBERT、CodeT5和UniXcoder的预训练漏洞检测模型上, 对VulBlurrer及基线方法进行性能测试. 结果显示, VulBlurrer在4种目标模型上的攻击成功率分别达到85.51%、91.47%、93.14%和71.61%, 平均查询次数分别为12.67次、9.10次、11.07次和19.44次. 与现有方法相比, VulBlurrer具有更高的攻击成功率, 且在攻击成功率与查询效率之间实现了更好的权衡, 其生成的对抗代码在语义一致性与代码流畅度方面亦表现更优. 进一步地, 在ChatGPT、DeepSeek和基于大语言模型的辅助编程工具GitHub Copilot、TRAE上开展实证研究, 验证了VulBlurrer在大语言模型上的有效性. 因此, 预训练代码模型在漏洞检测任务中仍面临对抗攻击带来的鲁棒性挑战, 基于预训练模型和大语言模型的漏洞检测工具需要进一步提升面对对抗性代码时的鲁棒性.
    3  ToxiHeap: LLM制导和毒性标记的JavaScript引擎模糊测试框架
    沙乐天,龙章伯,丁加宇,黄海平,肖甫
    :1-27. DOI: 10.13328/j.cnki.jos.007635
    [摘要](349) [HTML](0) [PDF 2.01 M](186)
    摘要:
    现有浏览器JavaScript引擎模糊测试工具在检测潜在漏洞方面仍存在局限, 尤其对不触发崩溃的堆内存错误识别能力不足. 为此, 提出ToxiHeap, 一种将内存毒性标记(toxic labeling)的运行时监测和大语言模型(large language model, LLM)制导语义生成, 设计为并行核心轨道的JavaScript引擎模糊测试框架. 检测轨在目标引擎的堆分配与访问路径上插桩, 通过影子内存与细粒度毒性标记统一刻画释放后使用(use-after-free, UAF)、double free、堆越界读写(out-of-bounds read/write,OOB-R/W)、内存泄漏(memory leak)和未初始化堆内存读(uninitialized memory read,UMR)等多类堆错误, 并将对已释放内存等非法状态的访问转化为可消费的异常信号, 弥补传统依赖崩溃信号方法对非崩溃漏洞缺乏有效检测信号的不足; 生成轨采用“蒸馏-激励”两阶段的LLM变异器, 从历史PoC中提炼语义特征并定向构造状态依赖的测试用例, 突破仅依赖语法或轻语义变异在深路径覆盖上的局限. 两条轨道以覆盖增益和非崩溃命中信号在反馈环路中汇合, 协同驱动样本保留、路径权重更新和知识库自增, 同时引入隔离重放验证机制, 在干净进程中二次确认异常, 显著降低非确定性误报. 实验结果表明, 在JavaScriptCore (JSC)引擎上, ToxiHeap在24 h运行下的分支覆盖率由31.17%提升至33.52%, 在V8、SpiderMonkey (SM)和ChakraCore (CH)等其他主流引擎上同样取得了最高或接近最高的分支覆盖率, 有效样本占比稳定在91%以上. 在覆盖UAF等多类缺陷模式的50条PoC参考集上, 4个引擎综合平均的整体检出率达到89.18%.
    4  业务建模驱动TRIZ注入的人-多智能体协作创新需求捕获框架
    刘新华,金敏,余梦姣,谢文涛
    :1-22. DOI: 10.13328/j.cnki.jos.007562
    [摘要](505) [HTML](979) [PDF 3.93 M](877)
    摘要:
    当前软件市场呈现出产品同质化加重趋势, 功能性创新已成为决定软件竞争优势的关键因素. 这促使现代需求工程研究范式从被动的需求提取转向主动的创新需求捕获. 在提升需求创新性的实践中, 现有研究主要呈现两条路径: (1)通过情景建模与引导方法改进工作坊流程, 激发人类团队协作创新; (2)基于组合创新理论对既有需求进行解构重组, 快速生成新需求方案. 但两种方法均面临创新质量与参与成本难以有效平衡的核心矛盾. 生成式AI技术的突破性进展为应对这一挑战提供了新思路. 提出一种业务建模驱动下注入TRIZ理论的人-多智能体协作式创新需求捕获框架BMHACT, 该框架以统一过程业务建模协作架构为蓝本, 设计提示词定义业务流程分析员、业务设计员等5个智能体职责. 多智能体团队通过“系统愿景收集-流程痛点识别-技术矛盾分析-TRIZ创新原理匹配-需求方案生成”的协作流程生成创新需求, 并由领域专家和客户代表对需求进行创新性评估. 以工程机械领域某企业门户网站建设项目为例的实证研究表明: 相较基于需求重用的自动化方法和基于对抗样本的追溯式需求生成方法, BMHACT迭代次数分别降低50%和28.6%, 全过程耗时减少66.7%和33.3%, 同时, 创新潜力指数(clarity novelty usefulness, CNU)分别提升22.9%和10.7%, 且CNU单轮平均增益分别提高2.16倍和2.14倍. 证明了BMHACT在提升需求创新质量和降低协作成本上的优越性.
    5  基于大语言模型的受约束代码生成研究进展
    李宇轩,邹艳珍,王玥,谢冰
    :1-31. DOI: 10.13328/j.cnki.jos.007613
    [摘要](645) [HTML](0) [PDF 931.43 K](238)
    摘要:
    大语言模型在自动代码生成领域已展现出巨大的潜力, 但在实际应用中, 生成的代码常存在语法、语义、安全性、运行效率和可维护性等多方面的问题. 为解决这些挑战, 受约束代码生成技术应运而生. 此技术借鉴了受约束文本生成的方法, 通过在代码生成的各个阶段引入严格的约束, 确保生成代码能够满足预期的要求. 首先回顾大语言模型在代码生成过程中所暴露的主要问题, 详细分析代码正确性与代码质量方面的缺陷. 接着, 总结当前受约束代码生成技术的研究进展, 深入探讨不同方法的优势与局限. 之后, 讨论评估方法, 包括基准数据集的构建和评价指标的设计, 为后续研究的实验方案提供有价值的参考. 最后, 展望受约束代码生成技术面临的研究挑战和未来发展趋势.
    6  面向Linux内核开发知识的大模型问答能力评测
    欧闻毅,吴毅坚,黄宸一,彭鑫
    2026, 37(8):3116-3143. DOI: 10.13328/j.cnki.jos.007597
    [摘要](1110) [HTML](116) [PDF 7.39 M](1095)
    摘要:
    大语言模型(large language model, LLM, 也称大模型)在软件开发技术问答任务中展现出强大潜力, 为代码知识获取和理解提供了新途径. 然而, 在以Linux内核为代表的复杂系统软件领域, LLM在代码实现、关键机制理解、演化历史追溯及设计决策分析等方面的真实能力仍缺乏系统验证. 现有评测基准多针对通用任务, 存在领域深度不足、难度逐渐饱和及评测问题与工程实践存在偏差等局限, 难以保障特定领域开发知识问答的客观性、准确性和全面性. 为客观评估LLM在复杂系统软件中的知识问答能力, 研究提出一种LLM问答能力评测基准数据集构建方法, 并构建面向Linux内核的高质量问答评测基准LKQABench, 同时设计一种多裁判协同的代码知识问答评测方法MJ-CCE. LKQABench基于开发者社区的真实技术问答数据, 经过语义分析和人工审核修订, 构建202个标准问答对, 覆盖Linux内核主要模块和不同认知维度. MJ-CCE方法定义多个裁判大模型的协同评分与投票机制, 从关键知识点覆盖度、事实正确性与表达清晰度等维度对回答进行多维度评估. 在LKQABench上对主流大模型的实证研究表明, 当前大模型能较好地回答内核实现的单点知识问题, 但在涉及跨主题知识整合、深度推理及版本演化关联的问题中, 存在知识点遗漏、逻辑链条不完整等不足. 研究不仅揭示了大模型在软件开发知识问答中的能力边界, 也为其在该领域的持续优化提供了实证数据支撑.
    7  基于文本表达特征分析的大语言模型协议交互抽取
    张伯洋,钱巨,唐靖然,卫依
    2026, 37(8):3205-3222. DOI: 10.13328/j.cnki.jos.007598
    [摘要](817) [HTML](182) [PDF 2.70 M](884)
    摘要:
    文本协议交互抽取旨在从自然语言形式的说明文档中识别并提取协议有关的交互信息, 其可用于在协议代码实现前抽取模型验证协议的正确性、从协议规格描述构造测试用例等. 当前从文本中抽取协议主要采用深度学习、大语言模型等技术, 深度学习方法依赖大规模的高质量数据集, 且适用范围受限于训练数据集, 存在迁移困难的问题. 现有的大语言模型方法存在提示模板和示例构造较为简单、处理流程欠优化的局限. 针对以上问题, 提出一种增强的基于文本表达特征分析的大语言模型协议交互抽取方法. 首先, 从真实的协议描述案例出发, 总结出协议描述文本中存在的常见语言表达特征; 然后, 提取能够体现这些特征的典型协议描述案例, 提炼用于协议交互抽取的处理规则; 进一步地, 融合案例与规则, 提出一套规则回溯思维链方法; 最后, 使用多路推理和自我验证技术优化任务处理流程. 在多个协议数据集上的实验结果表明, 所提方法在协议交互的抽取精确率和召回率等方面均优于基线方法, 证实了所提方法的有效性.
    8  基于大语言模型的Python到Dafny 代码翻译
    杜奕成,卢奕函,朱雪阳,张文辉
    2026, 37(9):3598-3614. DOI: 10.13328/j.cnki.jos.007606
    [摘要](943) [HTML](0) [PDF 988.18 K](846)
    摘要:
    近年来, 基于大模型的代码生成被广泛应用于软件开发领域. 然而, 由于大模型生成结果具有一定的随机性, 如何保证生成代码的正确性成为重中之重. 形式化验证是保障软件正确性的一种有力手段, 但验证前需要将代码及相应需求形式化为相关工具的规约语言. Dafny是一种可验证的编程语言, 并有相应的自动化验证工具支持. 旨在探索大模型在将Python代码翻译为Dafny语言方面的能力. 为此, 提出了基于提示词的静态翻译和动态修复的翻译生成方法, 以及基于程序测试的翻译结果评估方法. 静态翻译方法考虑3种渐进的提示词模板(基础模板、Dafny示例模板、对照示例模板), 使用大模型一次性生成翻译; 动态修复方法多次调用大模型对翻译进行修复, 每次将上一轮代码测试的错误信息加入提示词. 评估时, 在没有现成测试用例集的情况下, 利用大模型生成测试用例集; 对于翻译结果, 应用Dafny 测试工具结合测试用例集进行测试, 以评估其正确性. 在GPT-4o和DeepSeek-V3等大模型上使用HumanEval、MBPP和LeetCode等数据集进行实验. 结果表明, 使用对照示例模板和动态修复方法能够有效提升大模型在Python到Dafny翻译任务上的表现. 此外, 还基于实验结果分析影响翻译质量的因素, 并对评估方法与标准进行讨论.
    9  基于大语言模型的空间数据库自然语言查询转换方法
    刘孟怡,许建秋,童咏昕
    2026, 37(3):1121-1142. DOI: 10.13328/j.cnki.jos.007514
    [摘要](2082) [HTML](710) [PDF 2.59 M](1262)
    摘要:
    Text2SQL技术通过减少非专业用户与关系数据库交互的技术障碍, 已发展为数据分析和数据库管理的重要工具. 以GPT为代表的大语言模型 (large language model, LLM)的引入, 进一步提升了Text2SQL系统的性能. 然而, 由于空间数据涉及复杂的几何关系、多样化的查询类型和对高精度语义理解的需求, 现有的Text2SQL技术难以直接适用于空间数据库领域. 为了解决上述问题, 降低普通用户与空间数据库的交互门槛, 提出了面向空间数据库的自然语言查询 (natural language query, NLQ)转换方法. 该方法有两个核心阶段: (1) 自然语言理解; (2) 可执行语言生成. 在阶段(1)中使用实体信息提取算法提取关键查询实体, 并基于大语言模型构建空间数据查询语料库进而确定查询类型. 在阶段(2)中根据查询类型选择结构化语言模型 (structured language model, SLM), 然后将实体映射到结构化语言模型中, 得到最终的空间数据库可执行语言. 在多组真实数据集上的实验结果表明, 该方法可以实现从用户的自然语言查询到空间数据库可执行语言的高效转换.
    10  基于并行探索的大模型缺陷定位增强
    秦意浩,王尚文,林博,陈立前,刘万伟,毛晓光
    2026, 37(8):3161-3179. DOI: 10.13328/j.cnki.jos.007592
    [摘要](1014) [HTML](147) [PDF 2.82 M](1043)
    摘要:
    软件缺陷定位是软件工程领域的重要问题. 近年来, 基于大语言模型的缺陷定位方法在缺陷定位任务中展现出较好前景. 现有方法仅为大语言模型维护单一决策路径, 导致搜索范围有限, 缺陷定位效果不够理想. 针对此问题, 提出一种基于并行探索的大模型缺陷定位增强方法PRIME. 通过设计缺陷位置的并行探索机制提高大语言模型的搜索范围, 并结合节点重要性评估方法对大语言模型预测的多个候选缺陷位置进行排序, 形成优化后的缺陷定位结果. 通过与其他缺陷定位方法的对比分析以及全面的消融实验和参数影响分析, 验证所提方法可以有效增强大语言模型的缺陷定位性能. PRIME在Top-1指标上较现有方法的提升幅度超过18%, 其在MAPMRR指标上的性能提升分别可达15%和25%.
    11  基于大语言模型智能体的代码生成综述
    董益宏,姜雪,钱家如,王天,张克驰,金芝,李戈
    2026, 37(8):3089-3115. DOI: 10.13328/j.cnki.jos.007593
    [摘要](4332) [HTML](130) [PDF 6.05 M](1942)
    摘要:
    基于大语言模型的代码生成智能体正在深刻地变革软件开发范式. 相较于之前的代码生成技术, 代码生成智能体展现出3大核心特征: 首先是自主性, 智能体能独立执行从任务分解到编码、调试的完整工作流; 其次是任务范围的广泛性, 其能力从生成代码片段扩展至覆盖软件开发的全生命周期; 最后是工程实践性的增强, 研究重心从模型算法创新转向流程管理、系统可靠性与工具集成等工程挑战. 近年来, 这一技术方向发展迅猛, 展现出巨大的应用潜力, 相关研究呈爆发式增长. 为此, 对基于大语言模型的代码生成智能体领域进行系统性的综述. 追溯该技术自诞生以来的发展脉络, 全面梳理并从方法论的视角对其核心技术(涵盖单智能体与多智能体系统)进行归纳和分类. 此外, 还总结代码生成智能体在软件开发全周期中的各项应用, 整理主流的评估基准与指标, 并盘点代表性的工具. 最后, 通过分析关键挑战, 展望该领域未来的长期核心研究方向.
    12  大语言模型智能体在软件系统根因分析中的应用综述
    康俊驰,丁博,冯大为,翟远钊,张迅晖,王怀民
    2026, 37(8):3180-3204. DOI: 10.13328/j.cnki.jos.007594
    [摘要](2030) [HTML](144) [PDF 2.85 M](1161)
    摘要:
    在现代软件系统, 尤其是云计算和微服务系统中, 根因分析是保障系统稳定性和高效运行的关键技术. 大语言模型由于其强大的自然语言处理和数据分析能力, 为根因分析提供了新的解决方案. 基于大语言模型的智能体在大语言模型的基础上, 为根因分析带来了更高的自动化程度和更精准的问题定位能力. 然而, 尽管已有相关研究探讨了大语言模型在根因分析中的应用, 但关于大语言模型智能体在根因分析的研究仍然处于早期阶段. 聚焦于大语言模型智能体在云计算和微服务系统根因分析的研究现状进行全面的分析和总结. 主要内容包括: (1)概述基于大语言模型的智能体框架构成和根因分析中的数据使用; (2)从信息获取、根因定位和效果评估这3个主要流程系统地分析大语言模型智能体在根因分析中的应用方式; (3)探讨大语言模型智能体技术在根因分析任务中面临的主要挑战和未来的发展方向.
    13  面向软件测试领域知识问答的大模型评估
    陈煜磊,聂钰格,吴化尧
    2026, 37(8):3144-3160. DOI: 10.13328/j.cnki.jos.007596
    [摘要](1093) [HTML](137) [PDF 7.29 M](1143)
    摘要:
    大语言模型(large language model, LLM)在通用任务中已展现出卓越的性能, 但其在专业领域中的可信性、鲁棒性与可用性仍缺乏系统化评估. 以软件测试教材编写为代表性应用场景, 围绕100个核心测试概念与方法精心构建了700个测试问题, 并选取5个代表性LLM, 系统评估了其在阅读理解、问答及文本生成方面的能力. 实验结果表明, LLM在大多数问题上整体表现优良, 在答案的准确性、完整性和流畅性方面均达到较高水准; 然而, 在涉及研究现状与复杂概念时, 仍存在幻觉与推理偏差等可靠性问题. 进一步分析显示, 大模型生成的内容在知识覆盖度与教育性上较传统教材具有较为明显的优势, 能够为软件测试教材的修订与教学提供有效支持. 不仅系统揭示了LLM在专业领域知识处理中的具体能力边界与典型缺陷, 也为基于问答驱动的智能化评估方法在专业教育与应用中的推广提供了实证依据与方法参考.
    14  软件供应链安全中LLM生成代码逻辑性缺陷检测
    赵祖威,汤恩义,李薛成,戴新宇,陈鑫,李宣东
    2026, 37(7):2871-2885. DOI: 10.13328/j.cnki.jos.007588
    [摘要](1457) [HTML](226) [PDF 2.16 M](895)
    摘要:
    随着大语言模型(large language model, LLM)在代码生成领域的快速发展, 其生成的代码在智能化基础软件供应链中的应用日益广泛. 基础软件供应链中集成了大量基于LLM生成代码开发的第三方模块与组件. 然而, 由于LLM主要基于开源代码进行训练, 训练代码中的缺陷与安全漏洞可能会导致生成代码存在潜在错误与供应链安全问题. 为此, 学术界有针对性地提出了EvalPlus等测试技术, 但这些技术主要依赖基于概率的测试用例生成机制, 难以实现对供应链关键路径的全面覆盖, 导致深层次逻辑性缺陷难以被有效发现. 为了解决上述问题, 提出一种融合符号执行的供应链LLM生成代码的缺陷检测方法. 该方法通过符号执行挂载机制自动识别LLM生成代码的输入参数并进行适配和符号挂载, 制导符号执行引擎对程序的关键路径进行精确的约束分析, 生成高效的边界测试用例, 从而发现现有方法难以检测到的深层逻辑性程序缺陷. 在现有主流基准数据集上, 对LMSYS Chatbot Arena中排名前11的主流LLM进行了实验评估. 实验结果表明, 该方法能够更有效地检测出LLM生成代码中的逻辑性缺陷, 使代码的平均测试通过率降低了3.99%–18.98%, 平均测试覆盖率提高了3.31%–8.19%, 有效提升了LLM生成代码的正确性和智能化基础软件供应链的安全性.
    15  基于大语言模型的Java新特性测试程序生成
    赵英全,张博凯,王赞,郭以勒,陈佳丽,陈翔,陈俊洁
    2026, 37(7):2694-2718. DOI: 10.13328/j.cnki.jos.007590
    [摘要](1379) [HTML](296) [PDF 7.58 M](986)
    摘要:
    Java编程语言自诞生以来, 就始终处于不断发展和演变的过程中. 随着新语言特性及编程范式的不断涌现, Java的表达能力和执行效率在不断提升, 推动了整个软件生态的进步. 为了确保Java生态的安全性和稳定性, 研究人员设计了多种针对Java编译器及虚拟机的测试程序生成方法, 以检测潜在的缺陷. 然而, 现有工作主要针对成熟的语法设计测试程序生成方法或变异策略, 难以对语言新特性进行有效的测试. 为此, 提出一种基于大语言模型的Java新特性测试程序生成方法LumiX. 首先, LumiX利用大模型对使用自然语言描述的新语言特性进行总结, 概括得到新特性的使用描述; 随后, LumiX以历史揭错测试程序作为种子程序, 利用程序分析工具提取种子程序中可复用的程序元素, 结合新特性的使用描述, 利用大模型生成针对新特性的代码片段. 新生成的代码片段将被插入至种子程序中, 生成能够覆盖新特性的测试程序. 最后, LumiX设计了双层的差分测试方法, 分别利用不同的Java编译器(javac和ECJ)及Java虚拟机(HotSpot和OpenJ9)对新生成的测试程序进行编译和执行, 通过对比不同编译器和虚拟机的执行结果来检测潜在的缺陷. 实验结果表明, LumiX能够有效生成覆盖Java语言新特性的测试程序, 并提升现有工具对Java语言新特性的测试能力. 同时, 将LumiX应用于最新发布的Java编译器以及虚拟机的测试中, 累计发现16个未知缺陷, 其中12个已被开发人员确认或修复.
    16  BinDec: 面向RISC-V的LLM与符号执行协同反编译方法
    李玉璋,张熙,徐涛
    2026, 37(6):2327-2345. DOI: 10.13328/j.cnki.jos.007616
    [摘要](1480) [HTML](564) [PDF 2.67 M](872)
    摘要:
    反编译是软件逆向工程中的基础技术, 其目标是从面向硬件的二进制代码中恢复出高级语言代码, 以支持人工阅读、分析或重工程任务. 尽管该技术已得到广泛研究, 但传统基于规则的反编译器所生成的反编译代码往往可读性较差, 且难以复用. 此外, 由于传统反编译器的开发周期较长, 其对RISC-V等新兴指令集架构的支持通常较为滞后. 在当前大语言模型(large language model, LLM)技术广泛应用于自动化软件工程任务并取得显著成效的背景下, 面向RISC-V架构的反编译需求, 提出了一种LLM与符号执行协同的反编译方法BinDec. 该方法通过LLM生成与符号执行验证的交替迭代, 充分利用LLM的代码理解与生成能力, 以产生更易于理解与重用的反编译代码; 同时借助符号执行的代码分析与验证能力, 确保生成结果的可靠性. 通过一系列实验对BinDec的有效性进行了评估, 实验结果表明, 该方法在达到与传统反编译器相近的语义准确性的同时显著提升了代码的可读性.
    17  MARC: 基于多智能体协同的硬件安全缺陷早期检测方法
    芮志清,凌祥,曹方泽,罗天悦,吴敬征
    2026, 37(6):2370-2389. DOI: 10.13328/j.cnki.jos.007618
    [摘要](2318) [HTML](276) [PDF 2.57 M](945)
    摘要:
    随着开源RISC-V架构的迅猛发展, 其开放与模块化的特性在催生繁荣硬件生态的同时, 也给硬件电路的安全性保障带来巨大挑战. 在硬件设计流程的前期进行安全缺陷早期检测, 能够以最低成本在缺陷固化于物理芯片前将其消除. 尽管静态分析已用于硬件安全缺陷早期检测, 但由于规约知识未充分利用以及代码上下文语义理解不足, 现有检测方法存在高漏报率和高误报率的问题. 针对这些问题, 提出MARC, 一种基于大语言模型多智能体协同的硬件安全缺陷早期检测方法. 该方法通过构建设计依赖分析、文档分析、安全缺陷检测、安全缺陷确认这4类智能体及协同工作框架, 从补充跨模块上下文、结构化模块文档知识、快速初筛安全缺陷、深度推理安全缺陷风险分析等多维度协同作用, 有效降低硬件电路设计阶段早期安全缺陷检测的误报率, 提升检测准确性. 实验结果显示, MARC方法在工业级数据集上将早期缺陷检测的漏报率和误报率分别降低至0.3829和0.3695, 相较于基准方法分别降低了约18.2%和19.1%. 上述实验结果充分表明, MARC 有效缓解了硬件安全缺陷早期检测中的误报问题, 提升了安全缺陷检测的准确性与效率, 为硬件安全提供了更可靠的技术支撑. 另外, 还支撑作者团队夺得HACK@DATE 2025硬件漏洞挖掘竞赛全球冠军, 成功挖掘了1个获CVE编号的硬件漏洞, 在真实世界中验证了其有效性.
    18  检索增强生成在软件工程中的应用综述
    张犬俊,谢杨,房春荣,虞圣呈,赵源,陈振宇
    2026, 37(3):1316-1339. DOI: 10.13328/j.cnki.jos.007567
    [摘要](2608) [HTML](1144) [PDF 4.22 M](1357)
    摘要:
    检索增强生成(retrieval-augmented generation, RAG)通过融合信息检索与语言生成模型, 显著提升代码生成、补全、程序修复等软件工程下游任务的性能. 随着RAG在软件工程领域的迅速发展, 研究者难以全面掌握其最新的进展、面临的挑战及未来的潜在机遇. 为此, 系统性地综述2021–2024年间RAG在软件工程中的应用, 围绕RAG的核心架构及其在软件工程中的应用, 对108篇相关高质量研究进行汇总与深入分析. 首先, 探讨软件工程领域中RAG架构的关键组成部分, 详细总结检索器和生成器的通用分类, 并概述二者的集成方式. 其次, 重点分析RAG在各类软件工程下游任务中的应用, 包括代码生成、测试生成、程序修复等, 梳理其在不同任务场景下的实践方法与技术趋势. 最后, 讨论当前RAG应用所面临的挑战, 涉及知识库构建、检索和生成这3个阶段, 并探讨未来的研究方向与潜在发展路径. 总体而言, 为软件工程社区提供一份全面的RAG研究综述, 旨在帮助研究者系统了解现有成果, 洞察关键问题, 并推动该领域的进一步发展.
    19  基于大语言模型的非功能需求生成方法
    欧阳柳波,叶巧莹,孟心如,杜漫茹
    :1-23. DOI: 10.13328/j.cnki.jos.007557
    [摘要](900) [HTML](0) [PDF 3.41 M](753)
    摘要:
    在软件工程领域中, 非功能需求(NFR)获取一直是需求工程实践中的重要内容, 但容易被忽视. 传统的NFR获取方法主要依赖需求工程师的经验和人工分析, 不仅效率低下, 而且容易出现遗漏和不一致. 近年来, 大语言模型在自然语言处理领域取得突破性进展, 为自动化获取非功能需求提供了新的技术手段. 然而, 直接使用大语言模型生成非功能需求常面临知识幻觉、领域专业性不足等问题. 为此, 提出了一种基于大语言模型的非功能需求自动获取方法, 实现高质量的非功能需求生成. 构建了包含3856条功能需求和5723条非功能需求的结构化关联数据集, 形成22647对FR-NFR关联关系. 通过融合检索增强生成(RAG)技术, 构建了包含3个核心模块的系统化解决方案: 基于最大边际相关性算法的语义案例检索模块、面向非功能需求生成的提示工程模块和基于参数优化的大语言模型生成模块. 通过软件工程专家的专业评分和对BLEU、ROUGE等自动评分指标的多维度评估, 实验结果表明方法在需求的完整性、准确性和可测试性等方面优于现有方法.
    20  大语言模型驱动的可信政务问答技术
    王骞玥,胡晋武,王宇丰,胡宇,高浩然,邱舟强,谭明奎
    2026, 37(4):1740-1758. DOI: 10.13328/j.cnki.jos.007435
    [摘要](1224) [HTML](382) [PDF 2.60 M](2224)
    摘要:
    政务问答系统能实时处理政务咨询, 在降低人工咨询压力的同时提高企业和群众的办事效率. 政务问答系统的服务场景多样且重视回答表述的准确规范, 现有方法或基于预设知识库产生回答, 或基于规模有限的语言模型生成回答, 均无法在多服务场景下有效理解咨询并生成准确且可解释的可信回答. 为此, 提出一种基于大语言模型的政务问答技术以实现可信政务回答. 所提方法以政务大语言模型为内容理解和生成的核心模块, 并由分析引导模块和领域知识库模块辅助. 政务大语言模型生成咨询回答时参考分析引导模块提供的咨询分析结果和领域知识库模块提供的咨询相关领域知识, 并针对咨询生成内容表述与事实一致的准确回答. 生成回答时参考的信息可作为回答依据提升回答的可解释性. 为构建方法涉及的相关模块并测试其有效性, 收集并整理了一个包含多层次多粒度政务公开信息的综合性数据集, 其中包含1901篇文档和10503条问答对数据. 最后, 通过实验分析验证了基于该方法实现的原型系统能在多服务场景下针对用户咨询生成表述准确且可解释的可信咨询回答.
    21  基于大语言模型的故障复现测试用例生成方法
    汪莹,字千成,彭鑫,娄一翎
    2026, 37(4):1690-1714. DOI: 10.13328/j.cnki.jos.007474
    [摘要](1193) [HTML](3117) [PDF 4.56 M](1797)
    摘要:
    GitHub是目前最流行的开源项目管理平台之一. 由于团队协作的需要, GitHub引入了问题报告跟踪功能以方便项目使用者提交和追踪项目中出现的问题或新功能请求. 问题报告贡献者在解决问题报告时, 通常需要执行故障复现测试用例来复现问题报告中提到的问题并验证问题报告是否解决. 然而, 在SWE-bench Lite数据集上进行实证研究发现, 有近90%的问题报告在用户提交时没有附带故障复现测试用例, 这导致问题报告贡献者在解决问题报告时还需额外编写故障复现测试用例, 带来了额外的工作负担. 现有的故障复现测试用例生成技术通常依赖错误栈信息, 然而GitHub问题报告中并未明确要求有这类信息. 因此, 提出基于大语言模型的故障复现测试用例生成方法, 旨在自动化地为GitHub问题报告生成故障复现测试用例, 帮助问题报告贡献者复现、理解并验证问题报告, 提升问题报告解决效率. 该方法首先通过检索与问题报告相关的多样化代码上下文信息, 包括报错根函数、import语句和测试用例样本, 随后构建精确的prompt, 以引导大语言模型生成有效的故障复现测试用例. 开展对比实验和消融实验, 验证所提方法在面向GitHub问题报告的故障复现测试用例生成任务上的有效性.
    22  基于代码变更语义分析的缺陷隔离方法
    刘书宁,吴毅坚,宋学志,陈碧欢,彭鑫,赵文耘
    2026, 37(5):2151-2166. DOI: 10.13328/j.cnki.jos.007510
    [摘要](762) [HTML](921) [PDF 3.11 M](1972)
    摘要:
    在现代软件开发中, 频繁的代码提交和更新已成为常态, 虽然加速了功能实现, 但更可能会引入新的缺陷, 进而威胁软件的稳定性和可靠性. 一旦缺陷导致程序错误或故障, 开发团队必须迅速采取行动隔离缺陷以确保系统持续正常运行. 缺陷隔离是快速定位问题并恢复系统稳定性的关键技术手段, 但传统的增量调试(delta debugging, DD)方法依赖大量测试尝试, 导致在变更集合较大时性能瓶颈明显, 且缺乏对代码变更语义的有效利用, 无法精准定位与缺陷相关的代码变更. 提出了一种基于代码变更语义分析的缺陷隔离方法——DISAC. 该方法通过将缺陷引入的复合提交拆解为具有单一功能语义的原子提交, 并通过建模提交之间的顺序依赖关系, 确保隔离过程中不破坏变更间的前置依赖. 与传统的DD方法相比, DISAC不仅能够返回最小的功能语义变更, 还能保留必要的上下文和依赖信息, 从而为开发人员提供更完整、精确的缺陷修复支持. 实验结果表明, 与DD方法相比, DISAC在缺陷隔离效率和精度上均有显著提升. 具体而言, DISAC在Defects4J数据集上的隔离效率提高了633.65%, 在回归缺陷集上的效率提升了733.75%. 此外, 当DISAC与DD结合使用时, 约减率分别提高了2.36%和8.66%, 显著提高了隔离效果. 用户实验显示, DISAC能提高根因确定效率约59.90%, 准确率提升12%. 这些结果表明, DISAC在提高缺陷隔离精度的同时减少了不必要的变更组合尝试, 从而在复杂代码提交的缺陷隔离任务中表现出更高的效率和稳定性.
    23  LLM-Extractor: 基于大语言模型的软件配置间约束提取方法
    张添翼,周彤,张晨曦,彭鑫
    2026, 37(5):2103-2130. DOI: 10.13328/j.cnki.jos.007484
    [摘要](761) [HTML](865) [PDF 5.76 M](1111)
    摘要:
    软件配置是软件系统的重要组成部分, 在增强软件功能多样性和灵活性方面具有重要作用. 而随着软件系统越来越复杂, 软件配置项之间复杂的约束关系成为困扰运维人员的问题. 因此研究人员提出了基于不同数据源、使用不同技术的配置约束提取方法, 来识别软件配置之间的复杂约束关系. 然而, 这些方法存在难以应用于多种编程语言、分析规模有限、对高质量有标注数据需求大等多种问题, 针对上述问题提出了一种基于大语言模型的配置间约束提取方法LLM-Extractor. 该方法包括了配置-功能关联图构建和基于多配置关联子图的配置约束推断两个部分. 在配置-功能关联图构建阶段, LLM-Extractor借助大语言模型强大的文本理解和分析能力, 从配置文本中识别配置和软件功能相关的实体, 并抽取多种关联关系. 在配置间约束推断部分, LLM-Extractor在已有配置-功能关联图上搜索多配置关联子图, 并依据关联子图信息引导大语言模型推断配置间约束. 基于多配置关联子图的配置间约束推断方法让LLM-Extractor能够提取通过软件功能状态传递的配置约束, 填补了已有方法的空缺, 同时具有对编程语言不敏感、分析规模大的特点. 在3个开源软件系统的配置文档上评估了方法的效果, 分析了超过1400个软件配置项, 实验结果表明, LLM-Extarctor的效果相对已有的文本分析方法具有显著提高, F1分数有至少43.4%的提升. 消融实验的实验结果进一步表明, 多配置关联子图对于配置间约束推断方法的效果具有重要的积极影响.
    24  基于自适应知识蒸馏的代码大模型轻量化
    舒善富,刘超,孙毓忠,张洪宇,高翠芸,张小洪
    2026, 37(6):2431-2454. DOI: 10.13328/j.cnki.jos.007462
    [摘要](1819) [HTML](333) [PDF 3.77 M](1043)
    摘要:
    以大语言模型(large language model, LLM)为基座的软件编程助手(如Copilot), 能够显著提升程序员开发效率, 但LLM的计算和存储需求大、本地化部署难. 构建轻量化小参数LLM能够满足计算、存储、部署需求, 但其代码生成的精度损失比大参数LLM 大. 知识蒸馏(knowledge distillation, KD)技术, 让小参数LLM (学生模型)在目标训练数据集上拟合大参数LLM (教师模型)的生成分布, 降低代码生成精度损失. 人工智能领域前沿的KD技术基于Kullback-Leibler (KL)散度损失函数, 度量并缩小因学生/教师模型的生成分布差异导致的精度损失, 但学生模型难以学习教师模型的趋零分布区域. 随后, 学者利用反向KL散度损失(RKL)函数解决该趋零分布区域的学习问题. 研究发现, RKL在高概率分布区域存在学习问题, 与KL散度损失函数存在互补性; 对于一些数据, 教师模型生成质量低, 导致学生模型学习效果差. 提出一种自适应知识蒸馏 (adaptive knowledge distillation, AKD)方法, 通过prompt提升教师模型的生成质量, 并构造自适应损失函数, 根据学生/教师模型之间的生成分布差异自适应调整学习的优先级, 确保学生模型在主要概率区域和趋零概率区域均具备学习能力. 基于AKD方法, 利用StarCoder-1B/7B (学生/教师模型)和CodeAlpaca数据, 训练了轻量化代码大模型, 并评估代码大模型的精度损失及生成代码的质量问题. 实验结果显示, 轻量化代码大模型规模降低85.7%, 在HumanEval和MBPP数据集上, 任务提示明确的prompt可以提高教师模型的代码生成质量, 使训练的学生模型降低6%的平均精度损失; AKD方法训练的模型较教师模型(StarCoder-7B)的平均精度损失为17.14%, 较原始学生模型平均降低30.6%; AKD方法训练的模型较前沿的KD和RKD方法的精度损失平均降低19.9%; 关于推理显存需求情况, KD和RKD方法需要54.7 GB, 而AKD方法仅增加3 GB. 关于训练时间方面, AKD方法所需训练时间增加30%; 相较而言, 即使KD和RKD方法训练至相同时长, 它们的平均效果仅提升3%, 相比AKD方法低16.9%. 因此, AKD方法增加的训练成本是值得的. 此外, 将AKD方法应用到Code Llama和CodeGen系列模型, 相较前沿的KD及RKD方法的精度损失平均降低19.2%, 证明了AKD方法的泛化能力.
    25  智能合约与DeFi协议漏洞检测技术综述
    揭晚晴,邱望洁,黄鑫鹏,杨浩甫,赵冠球,张沁楠,夏清,郑宏威,郑志明
    2026, 37(1):344-377. DOI: 10.13328/j.cnki.jos.007413
    [摘要](1440) [HTML](1720) [PDF 5.26 M](1579)
    摘要:
    智能合约作为区块链核心的可编程组件, 承担了资产管理和复杂业务逻辑处理的功能, 它们共同构成了去中心化金融(decentralized finance, DeFi)协议. 然而, 随着区块链的快速发展, 智能合约和DeFi协议的安全问题日益凸显, 吸引了大量攻击者利用其漏洞牟取利益. 近年来, 多起涉及智能合约和DeFi协议的重大安全事件强调了漏洞检测技术研究的必要性, 已成为安全防护的重中之重. 系统性地总结了现有工作, 提出了智能合约与DeFi协议漏洞检测技术研究框架, 分别从智能合约和DeFi协议两个层面对漏洞类型和检测技术进行梳理. 在智能合约方面, 重点分析了大语言模型(large language model, LLM)作为主要检测引擎和与传统方法结合的漏洞检测技术应用情况; 在DeFi协议方面, 系统性地分类并整理了DeFi协议层的漏洞及其检测方法, 并探讨了攻击发生前后检测方法的优势与局限性, 弥补了现有综述在DeFi协议漏洞检测方面的不足. 最后, 对现有检测方法面临的挑战进行总结, 并展望了未来的研究方向, 旨在为智能合约与DeFi协议的安全检测提供新的思路和理论支持.
    26  大语言模型预训练系统关键技术综述
    高彦杰,陈跃国
    2026, 37(1):200-229. DOI: 10.13328/j.cnki.jos.007438
    [摘要](2449) [HTML](1335) [PDF 3.43 M](1686)
    摘要:
    在人工智能时代, 如何高效地完成大语言模型的预训练, 以满足其在扩展性、性能与稳定性方面的需求, 是亟需解决的重要问题. 大语言模型系统充分利用加速器和高速网卡进行并行张量计算和通信, 极大地提高了模型训练的性能, 这一进展伴随着一系列尚待解决的系统设计问题. 首先, 在分析大语言模型预训练过程的基础上, 介绍了其训练流程与负载特点. 其次, 从预训练系统的扩展性、性能和可靠性角度出发, 分别介绍了各类系统技术的分类、原理、研究现状及热点问题. 最后, 从总体层面深入分析了大型语言预训练系统面临的挑战, 并展望了其未来的发展前景.
    27  基于协作关系的模型动态路由
    吴俊儒,李哲涛,王建辉,刘忠仁,庞永浩,黄纪俊
    2026, 37(6):2546-2563. DOI: 10.13328/j.cnki.jos.007498
    [摘要](900) [HTML](181) [PDF 3.76 M](1700)
    摘要:
    大模型在推理任务中的性能表现显著优于传统模型, 但仍难以应对复杂任务对计算成本、回复质量等方面提出的要求. 在此背景下, 模型互联通过构建模型协作范式实现了大模型能力的共享、整合和互补. 串联架构是一种典型的模型协作形式, 其将多个大模型按照链式顺序进行组合, 以逐级优化的方式增强多模型系统的能力. 模型串联中的路由旨在选择合适的串联路径, 其是提高系统能力的关键因素. 然而, 当前模型串联路由评估与选择缺乏对模型协作关系的系统性考量. 为此, 设计一种基于协作关系的模型动态路由方法. 它首先通过互评量化机制建立模型协作关系图谱, 然后利用动态协作路由算法逐跳分析回复并优化路径选择. 互评量化机制利用梯度互评来分析两两模型协作关系质量. 基于所得协作质量信息, 动态协作路由算法采取模型“一致同意规则”分析每一跳回复并确定路径顺序, 从而支持动态路由调整. 实验结果表明, 在基线任务数据集上, 所提路由算法在准确性和回复胜率等方面优于非预设路由及非针对性路由算法. 在OMGEval数据集上的胜率较非预设路由最大可提升45%.
    28  CodeLLMTuner: 基于样本重用的代码大模型选择与解码参数调优框架
    曲慕子,亢良伊,刘杰,王帅,叶丹,黄涛
    2026, 37(5):2131-2150. DOI: 10.13328/j.cnki.jos.007508
    [摘要](891) [HTML](254) [PDF 4.07 M](1033)
    摘要:
    随着大语言模型(large language model, LLM)技术的迅速发展, 涌现了众多代码大模型(Code LLM), 以支持代码生成、代码补全、代码测试和代码重构等任务. 不同模型在处理相同任务时可能表现出显著的性能差异, 且推理阶段的解码参数也会对模型性能产生重要影响. 研究如何为特定代码开发任务高效地选择最佳模型及其最优解码参数. 现有方法通常将模型选择和参数调优分为两个独立阶段, 由于不同阶段的采样策略差异导致无法共享样本数据, 采样与评估计算成本较高. 考虑到不同代码大模型解码参数空间相同, 提出利用倾向评分匹配(propensity score matching, PSM)算法加权调整和对齐不同分布的样本数据, 以提高样本数据复用效率、降低计算成本. 由此提出了一个基于样本重用的代码大模型选择与解码参数调优框架CodeLLMTuner. 该框架包含3个阶段: (1)独立采样阶段, 对多个代码大模型并行执行解码参数调优(如贝叶斯优化)并进行数据采样与评估以收集样本数据; (2)模型选择阶段, 利用PSM技术对齐不同模型的样本数据, 从中选出性能期望最优的模型; (3)获选模型的解码参数调优阶段, 复用获选模型的样本数据, 并在其基础上继续进行解码参数调优, 以全面探索性能空间并显著降低采样成本. 实验结果表明, 在代码生成、代码摘要和测试用例生成这3项任务上, CodeLLMTuner相比于基线方法在相同成本下性能提升10%–15%, 或在达到相同性能下成本降低超过20%.
    29  知识图谱补全技术及应用
    郑修林,周鹏,李培培,张赞,黄艳香,吴信东
    2025, 36(12):5599-5628. DOI: 10.13328/j.cnki.jos.007400
    [摘要](1475) [HTML](1065) [PDF 6.75 K](1973)
    摘要:
    知识图谱以其独特的知识管理方式和表示能力被广泛运用于知识问答等知识计算领域. 但是, 现实中的知识图谱或多或少存在信息不完整的问题, 影响知识图谱的质量, 限制了下游任务的效果, 如不完整的知识图谱不能给出准确的知识问答结果. 因此, 知识图谱补全技术应运而生, 旨在通过不同的策略对知识图谱事实三元组中缺失的内容进行预测以改善知识图谱的质量. 近年来, 人们对知识图谱补全进行了大量的研究. 根据构建模型所需样本的数量将现有的知识图谱补全技术分为3大类, 即零样本知识图谱补全、少样本知识图谱补全和多样本知识图谱补全. 为了调研并作为研究人员掌握知识图谱补全研究核心思想和研究现状的第一手材料, 从理论研究、实验分析以及具体应用, 如华谱系统, 对已有的知识图谱补全技术进行全面的回顾, 总结当前知识图谱补全技术所面临的问题与挑战, 并对未来可能的研究方向进行探讨.
    30  Java程序资源泄露缺陷检测: 传统模型和语言模型的有效性分析
    刘天阳,叶嘉威,计卫星,刘辉
    2025, 36(6):2432-2452. DOI: 10.13328/j.cnki.jos.007327
    [摘要](1736) [HTML](2033) [PDF 6.74 K](3464)
    摘要:
    资源泄露是由于有限的系统资源未能及时正确关闭所导致的缺陷, 广泛存在于各种语言程序中, 且具有一定的隐蔽性. 传统的缺陷检测方法通常基于规则和启发式搜索预测软件中的资源泄露. 近年来, 基于深度学习的缺陷检测方法通过不同的代码表征形式并使用循环神经网络、图神经网络等技术捕获代码中的语义信息. 最近的研究显示, 语言模型在代码理解和生成等任务中表现出色. 然而语言模型针对资源泄露检测这一特定任务上的优势和局限性尚未得到充分评估. 研究基于传统模型、小模型和大模型的检测方法在资源泄露检测任务中的有效性, 并探究小样本学习、微调以及静态分析与大模型结合的多种改进方式. 具体而言, 以JLeaks和DroidLeaks数据集为实验对象, 从资源泄露根本原因、资源种类、代码复杂度等多个维度分析不同模型的表现. 实验结果表明, 微调技术能够显著提升大模型在资源泄露检测领域的检测效果. 然而, 大部分模型在识别第三方库引发的资源泄露上仍需改进. 此外, 代码复杂度对基于传统模型的检测方法的影响更大.
    31  基于图神经网络的复杂时空数据挖掘方法综述
    邹慧琪,史彬泽,宋凌云,韩笑琳,尚学群
    2025, 36(4):1811-1843. DOI: 10.13328/j.cnki.jos.007275
    [摘要](2999) [HTML](3316) [PDF 10.54 M](2854)
    摘要:
    随着传感技术的发展, 不同领域产生了大量时空数据. 时空图是其中一种主要的时空数据类型, 具有复杂的结构、时空特征和时空关系. 如何从复杂的时空图数据中挖掘关键模式, 并应用于不同的下游任务成为复杂时空数据挖掘任务的主要问题. 目前, 日渐成熟的时序图神经网络为该研究领域的发展提供了有力的工具. 此外, 新兴的时空大模型在现有时空图神经网络方法的基础上提供了新的研究视角. 然而, 现有的大多数综述对该领域方法的分类框架较为粗略, 对复杂数据类型(如动态异质图和动态超图)缺乏全面和深入的介绍, 并且没有对时空图大模型相关的最新研究进展进行详细总结. 因此, 基于图神经网络的复杂时空数据挖掘方法分成时空融合架构和时空大模型, 旨在从传统和新兴两个角度进行介绍. 将时空融合架构根据具体的复杂数据类型划分成动态图、动态异质图和动态超图. 将时空大模型根据时间维度和空间维度划分成时间序列和图, 并在基于图的大模型中列举时空图相关的最新研究. 详细介绍不同关键算法的核心细节并对比不同方法的优缺点, 列举基于图神经网络的复杂时空数据挖掘的应用领域和常用数据集, 并对未来可能的研究方向进行展望.
    32  大模型下的软件质量保障专题前言
    王赞,王莹,陈碧欢,姚远,张敏灵
    2025, 36(6):2401-2403. DOI: 10.13328/j.cnki.jos.007331
    [摘要](2056) [HTML](1428) [PDF 6.74 K](2965)
    摘要:
    33  大模型在软件缺陷检测与修复的应用发展综述
    香佳宏,徐霄阳,孔繁初,彭湃,张钊,张煜群
    2025, 36(4):1489-1529. DOI: 10.13328/j.cnki.jos.007268
    [摘要](3216) [HTML](4438) [PDF 10.46 M](4708)
    摘要:
    随着信息化的深入, 大量应用程序的开发和功能迭代不可避免引入软件缺陷, 并潜在地对程序可靠性和安全性造成了严重的威胁. 检测与修复软件漏洞, 已经成为开发者维护软件质量必要的任务, 同时也是沉重的负担. 对此, 软件工程的研究者在过去的数十年中提出大量相关技术, 帮助开发者解决缺陷相关问题. 然而这些技术都面对着一些严峻的挑战, 在工业实践落地上鲜有进展. 大模型, 如代码大模型CodeX和对话大模型ChatGPT, 通过在海量数据集上进行训练, 能够捕捉代码中的复杂模式和结构, 处理大量上下文信息并灵活地适应各种任务, 以其优秀的性能吸引了大量研究人员的关注. 在诸多软件工程任务中, 基于大模型的技术展现出显著的优势, 有望解决不同领域过去所面对的关键挑战. 因此, 尝试对目前已经存在基于大模型相关成熟技术的3个缺陷检测领域: 深度学习库的缺陷检测、GUI自动化测试、测试用例的自动生成, 与软件缺陷修复的成熟领域: 缺陷自动化修复, 进行分析和探究, 在阐述其发展脉络的同时对不同技术流派的特性和挑战进行深入的探讨. 最后, 基于对已有研究的分析, 总结这些领域和技术所面临的关键挑战及对未来研究的启示.
    34  基于大语言模型的多智能体协作代码评审人推荐
    王路桥,周洋涛,李青山,王铭康,徐子轩,崔笛,王璐,罗懿行
    2025, 36(6):2558-2575. DOI: 10.13328/j.cnki.jos.007326
    [摘要](3194) [HTML](1635) [PDF 6.75 K](2680)
    摘要:
    基于拉取请求(pull request, PR)的软件开发机制是开源软件中的重要实践. 合适的代码评审人能够通过代码审查帮助贡献者及时发现PR中的潜在错误, 为持续开发和集成过程提供质量保障. 然而, 代码变更内容的复杂性以及评审行为固有的多样性增加了评审人推荐的难度. 现有方法主要聚焦于从PR中挖掘变更代码的语义信息, 或基于审查历史构建评审人画像, 并通过多种静态策略组合进行推荐. 这些研究受限于模型训练语料的丰富性以及交互类型的复杂性, 导致推荐性能不佳. 鉴于此, 提出一种基于智能体间相互协作的代码评审人推荐方法. 该方法利用先进的大语言模型, 精确捕捉PR和评审人丰富的文本语义信息. 此外, AI智能体强大的规划、协作和决策能力使其能够集成不同交互类型的信息, 具有高度的灵活性和适应性. 基于真实数据集进行实验分析, 与基线评审人推荐方法相比, 所提方法性能提升4.45%–26.04%. 此外, 案例研究证明, 所提方法在可解释性方面表现突出, 进一步验证了其在实际应用中的有效性和可靠性.
    35  华谱通: 基于知识推理的家谱问答大语言模型
    吴信东,卓兴锐,常永泮,吴共庆,张赞,朱毅
    2025, 36(12):5572-5598. DOI: 10.13328/j.cnki.jos.007399
    [摘要](1140) [HTML](1008) [PDF 6.72 K](2545)
    摘要:
    利用计算机技术实现家谱数据的智能化管理, 对传承和普及中华传统文化有着重要的意义. 近年来, 随着基于检索增强的大语言模型在知识问答领域被广泛应用, 通过大语言模型以对话的方式向用户展示多样的家谱文化已经成为一个备受关注的研究方向. 然而, 家谱数据的异构性、自治性、复杂性和演化性导致现有的知识检索框架难以在复杂的家谱信息中实现完备的知识推理. 针对上述问题, 提出一种基于知识图谱推理的大语言模型家谱问答系统——华谱通, 从推理逻辑完备性和信息筛选精准性两个方面, 构建适合大语言模型家谱问答的知识图谱推理框架. 在推理逻辑完备性方面, 以知识图谱作为家谱知识的载体, 并基于Jena框架提出一套完备的家谱知识推理规则, 以提升模型对家谱信息的检索召回率. 在信息筛选方面, 以家谱中的同名人物和多重亲属关系为场景, 提出基于问题-条件三元组的多条件匹配机制和基于大根堆的Dijkstra路径排序算法, 通过过滤冗余的检索信息, 达到对大语言模型精准提示的目的. 目前, 华谱通已经部署到公开的智能家谱网站——华谱网, 并通过真实的家谱数据验证了问答系统的有效性.
    36  基于Issue检索增强大语言模型的补充性代码注释生成
    潘兴禄,赵衔麟,刘陈晓,邹艳珍,谢冰
    2025, 36(11):5008-5030. DOI: 10.13328/j.cnki.jos.007369
    [摘要](1279) [HTML](665) [PDF 11.00 M](1797)
    摘要:
    随着编程命名规范的普及和自描述代码的深入实践, 传统与代码字面相似的摘要性代码注释逐渐失去开发者的青睐. 开发者更关注在理解和维护代码过程中能够提供额外信息的补充性代码注释. 但是, 补充性代码注释的生成往往需要代码之外的额外信息源, 且注释中呈现的补充内容复杂多样, 给现有工作带来很大的挑战. 将软件开发中开发者之间的Issue交流记录作为额外信息源, 提出一种基于Issue检索增强大语言模型的补充性代码注释生成方法. 该方法首先将Issue中的代码补充信息整理分类为5种类型, 再利用大语言模型从代码提交时所关联的Issue中检索出包含潜在类型补充信息的语句, 随后根据相应语句进行注释生成. 进一步, 该方法通过分析生成注释的代码相关性和Issue可验证性, 能较好地过滤生成注释中潜在的幻觉. 在两个主流大语言模型ChatGPT和GPT-4o上进行了实验. 实验结果表明, 所提方法能够将ChatGPT生成注释对于人工补充性注释的覆盖率从33.6%提升至72.2%, 将GPT-4o生成注释对于人工补充性注释的覆盖率从35.8%提升至88.4%, 显著地提升了补充性代码注释的生成效果. 同时, 所提方法所生成的注释相比现有方法能够明显提供更多对开发者有帮助的额外信息, 从而对开发者在理解一些复杂代码时具有十分重要的价值.
    37  综合实体语义和本体信息的多源中文医疗知识图谱实体对齐
    丁瑞卿,赵俊峰,王乐业
    2025, 36(11):5178-5196. DOI: 10.13328/j.cnki.jos.007370
    [摘要](1597) [HTML](1007) [PDF 5.33 M](2225)
    摘要:
    知识图谱作为结构化的知识表示形式, 在医疗领域具有广泛应用. 实体对齐, 即识别不同图谱中的等价实体, 是构建大规模知识图谱的基础步骤. 尽管已有大量研究关注此问题, 但主要集中在两个图谱的对齐任务上, 一般通过捕捉实体语义和图谱结构信息生成实体的向量表示, 之后计算向量相似度以确定等价实体. 在发现多源图谱对齐过程中存在对齐错误传递的问题的基础上, 考虑到医疗场景对实体对齐的准确性要求较高, 设计综合实体语义和本体信息的多源中文医疗知识图谱实体对齐方法(MSOI-Align). 该方法首先将多个图谱进行两两组合, 利用表示学习生成实体向量表示, 并且综合实体名称的相似度和本体一致性约束, 借助大语言模型筛选得到候选实体集合. 随后, 基于三元闭包理论结合大语言模型对候选实体集合进行自动化的对齐错误传递识别与纠正. 在4个中文医疗知识图谱上的实验结果表明, MSOI-Align方法显著提升了实体对齐任务的精确性, 与最优的基准方法相比, Hits@1指标从0.42提升至0.92. 融合后的知识图谱CMKG包含13类本体、19万实体和约70万三元组. 考虑到版权限制, 开源了受限图谱外的另外3个图谱融合的结果——OpenCMKG.
    38  外部知识增强的事件共指消解方法
    徐昇,李培峰,朱巧明
    2025, 36(11):5158-5177. DOI: 10.13328/j.cnki.jos.007367
    [摘要](784) [HTML](572) [PDF 5.31 M](1235)
    摘要:
    由于语言表述的多样性和复杂性, 事件共指关系有时是通过事件描述之间潜在的关联性体现的. 已有方法大多仅基于触发词、论元等事件内部信息采用语义相似度计算方法进行事件共指消解, 难以处理上述问题. 为此, 提出了一种外部知识增强的事件共指消解方法, 通过运用大语言模型生成共指相关外部知识(主要包括篇章连贯性、逻辑关系知识和常识背景知识)来发现共指事件之间的潜在联系. 首先, 运用超大语言模型ChatGPT构造包含外部知识的训练数据. 然后, 在数据上指令微调FlanT5等基础大语言模型, 使其学习到生成共指相关外部知识的能力. 最后, 运用微调后的大语言模型生成文档级事件摘要和思维链风格的共指推理路径, 结合事件内部信息和外部知识预测共指. 在KBP数据集上的实验结果显示, 该方法的性能优于当前先进的基线模型.
    39  基于大模型语义匹配的跨平台移动应用测试脚本录制回放
    虞圣呈,房春荣,钟葉,张犬俊,刘钦,刘嘉,郑滔,陈振宇
    2025, 36(12):5456-5479. DOI: 10.13328/j.cnki.jos.007414
    [摘要](1076) [HTML](877) [PDF 6.72 K](2513)
    摘要:
    GUI测试是移动应用质量保障的重要手段之一. 随着移动生态的不断发展, 尤其是国产移动应用(如鸿蒙等)生态的强势崛起, GUI测试脚本跨平台录制回放成为了当前GUI测试的主要挑战之一. 开发者需将传统平台中GUI测试脚本迁移至新兴环境中, 以保证应用质量可靠性与多平台用户体验一致性. 然而, 不同平台间的底层实现差异导致了移动应用测试跨平台迁移的重大障碍, 这一挑战在面向新兴国产移动生态平台的测试迁移方面尤为突出. 移动应用的跨平台测试脚本录制回放是确保应用在不同操作系统和设备上保持一致性和高质量用户体验的关键. 现有技术仅解决了“一对一”事件匹配的情况, 而由于平台间GUI开发实践的不一致性, 测试事件的回放并非完全一对一映射, 而存在普遍的“多对多”映射情况, 即若干测试事件所对应的业务流程在不同平台上对应数量不等的测试事件. 为解决上述问题与挑战, 提出了一种基于大模型语义匹配的跨平台移动应用测试脚本录制回放方法(LLMRR). LLMRR方法结合图像匹配、文本匹配和大语言模型语义匹配技术, 在录制阶段通过图像分割算法记录用户操作信息, 并保存为录制测试脚本; 在回放阶段, 通过图像匹配和文本匹配模块在回放页面上找到对应的控件, 执行操作, 当无法匹配时, 调用大模型语义匹配模块进行语义匹配, 确保在不同平台上的高效运行. 对国产鸿蒙应用的测试进行了探索, 选择了20个应用共100个测试脚本, 在iOS、安卓和鸿蒙平台之间进行迁移测试, 并与当前最先进跨平台测试脚本录制回放方法LIRAT和MAPIT进行有效性对比. 结果表明, LLMRR方法在测试脚本录制回放中均表现出显著优势.
    40  结合大语言模型和领域知识库的证券规则规约方法
    李靓果,薛志一,陈小红,张民,陈良育,李萍萍,姜婷婷
    2025, 36(10):4671-4694. DOI: 10.13328/j.cnki.jos.007294
    [摘要](1098) [HTML](819) [PDF 6.76 K](1501)
    摘要:
    业务规则在证券领域至关重要, 它们是证券交易系统的需求的来源. 鉴于业务规则的易变性, 如何提升从业务规则交易文档中规约出软件需求的效率, 成为一个核心的问题. 证券业务规则文档具有与软件不相关描述多、专业术语多、上下文相关表述多和抽象表示多等特性, 其自动化规约需要领域相关知识的支持. 如何将领域相关知识融入自动化过程中, 成为规约的关键问题. 提出了一种结合大语言模型和领域知识库的证券领域业务规则自动规约方法, 对大语言模型通过微调、上下文学习等嵌入领域知识执行规则分类和需求信息提取等自然语言处理任务. 此外, 还通过领域知识库提供专业领域知识, 进行需求的可操作化和关系识别, 最终形成数据流形式的需求规约. 评估结果显示, 该方法能够处理各种证券交易领域的业务规则文档, 在评估数据集上的平均功能点识别率为91.97%, 达到甚至超越了领域专家的水平, 与人类参与者相比, 效率平均提高了10倍.
    41  针对LLM对话属性情感理解的多代理一致性反思
    刘一丁,王晶晶,罗佳敏,周国栋
    2025, 36(10):4753-4767. DOI: 10.13328/j.cnki.jos.007365
    [摘要](1015) [HTML](889) [PDF 6.77 K](1429)
    摘要:
    近年来, 针对对话文本的属性情感理解吸引了越来越多研究者的关注, 取得了一定的研究进展. 与已有的研究工作不同, 致力于探索大语言模型在对话属性情感理解任务上的性能, 并且认为对话属性情感理解任务存在属性指代映射问题和属性情感映射问题两个关键挑战, 严重制约对话结构下的属性情感理解的精度. 基于此, 提出大语言模型对话属性情感理解任务. 该任务致力于利用大语言模型抽取包含属性指代映射关系和属性情感映射关系的四元组, 并且标注了一个高质量的对话属性情感理解四元组数据集用于评估大语言模型在该任务上的性能. 进一步地, 针对上述对话属性情感理解存在的两个关键映射关系挑战以及大语言模型固有的幻觉问题挑战, 提出了一种多代理一致性反思方法. 该方法首先设计了3个子任务代理, 目的在于通过多代理的方式帮助模型捕捉对话结构下的上述两种映射关系; 其次提出了一致性增强的反思方法, 目的在于让模型通过多代理一致反思生成最优的结果, 以缓解大语言模型幻觉问题. 实验结果表明, 该方法在多个评估指标上优于当前主流的基准方法. 此外, 该方法相较于其他基准方法具有最优的对话属性指代关系抽取和属性情感抽取能力, 这将有力地促进大语言模型在对话结构下的细粒度情感理解方面的研究.
    42  中文对抗攻击下的ChatGPT鲁棒性评估
    张云婷,叶麟,李柏松,张宏莉
    2025, 36(10):4710-4734. DOI: 10.13328/j.cnki.jos.007299
    [摘要](1628) [HTML](808) [PDF 6.75 K](1428)
    摘要:
    以ChatGPT为代表的大语言模型(large language model, LLM)因其强大的自然语言理解和生成能力在各领域中得到广泛应用. 然而, 深度学习模型在受到对抗样本攻击时往往展现出脆弱性. 在自然语言处理领域中, 当前对抗样本生成方法的研究通常使用CNN类模型、RNN类模型和基于Transformer结构的预训练模型作为目标模型, 而很少有工作探究LLM受到对抗攻击时的鲁棒性并量化LLM鲁棒性的评估标准. 以中文对抗攻击下的ChatGPT为例, 引入了偏移平均差(offset average difference, OAD)这一新概念, 提出了一种基于OAD的可量化的LLM鲁棒性评价指标OAD-based robustness score (ORS). 在黑盒攻击场景下, 选取9种基于词语重要性的主流中文对抗攻击方法来生成对抗文本, 利用这些对抗文本攻击ChatGPT后可以得到每种方法的攻击成功率. 所提的ORS基于攻击成功率为LLM面向每种攻击方法的鲁棒性打分. 除了输出为硬标签的ChatGPT, 还基于攻击成功率和以高置信度误分类对抗文本占比, 设计了适用于输出为软标签的目标模型的ORS. 与此同时, 将这种打分公式推广到对抗文本的流畅性评估中, 提出了一种基于OAD的对抗文本流畅性打分方法OAD-based fluency score (OFS). 相比于需要人类参与的传统方法, 所提的OFS大大降低了评估成本. 分别在真实世界中的中文新闻分类和情感倾向分类数据集上开展实验. 实验结果在一定程度上初步表明, 面向文本分类任务, 对抗攻击下的ChatGPT鲁棒性分数比中文BERT高近20%. 然而, ChatGPT在受到对抗攻击时仍会产生错误预测, 攻击成功率最高可超过40%.
    43  基于相关性提示的知识图谱问答
    马杰,孙望淳,王平辉,张若非,李帅鹏,苏洲
    2025, 36(9):4056-4071. DOI: 10.13328/j.cnki.jos.007247
    [摘要](1892) [HTML](1480) [PDF 6.72 K](2610)
    摘要:
    大语言模型(large language model, LLM)随着不断发展, 在开放领域取得了出色的表现. 然而, 由于缺乏专业知识, LLM在垂直领域问答任务上效果较差. 这一问题引发了研究者的广泛关注. 现有研究通过“检索-问答”的方式, 将领域知识注入大语言模型, 以增强其性能. 然而该方式通常会检索到额外的噪声数据而导致LLM的性能损失. 为了解决该问题, 提出基于知识相关性的知识图谱问答方法. 具体而言, 将噪声数据与回答问题所需要的知识进行区分, 在“检索-相关性评估-问答”的框架下, 引导大语言模型选择合理的知识做出正确的回答. 此外, 提出一个机械领域知识图谱问答的数据集Mecha-QA, 包含传统机械制造以及增材制造两个子领域, 以推进该领域大语言模型与知识图谱问答相关的研究. 为了验证所提方法的有效性, 在Mecha-QA和航空航天领域数据集Aero-QA上进行实验. 结果表明, 该方法可以显著提升大语言模型在垂直领域知识图谱问答的性能.
    44  基于大语言模型的事件常识知识图谱扩展方法
    黄俏娟,曹存根,王亚,王石
    2025, 36(9):4153-4186. DOI: 10.13328/j.cnki.jos.007262
    [摘要](1749) [HTML](2018) [PDF 6.72 K](2811)
    摘要:
    常识知识通常不在自然语言中明确表述, 而是隐含在人类的认知中, 为机器提供常识知识一直是人工智能领域的长期目标之一. 前期, 课题组成员手工构建了一个高精度的以事件为中心的中文种子常识知识图谱(ECKG), 包含了26 606个常识事件三元组, 覆盖了因果、时序、条件等多种常见的事件关系. 尽管种子ECKG具有一定的价值, 但规模较小, 在实际应用中发挥的作用有限, 且大规模的事件常识知识图谱在现有研究中较为稀缺. 为了应对这些挑战, 采用GPT系列的大语言模型来扩展种子ECKG中的因果、时序、条件和子事件这4种事件关系. 扩展方法包括3个主要的步骤: 首先, 将种子ECKG中的事件结合4种关系定义设计了特定的事件知识提示(ek-prompt), 并使用GPT-4-Turbo模型生成相应的事件三元组. 其次, 将种子ECKG的三元组与通过ek-prompt获取的正确三元组组合, 以构建特定的数据集, 并将GPT-3.5-Turbo模型在数据集上进行微调, 以生成更多具体的事件三元组和验证新三元组准确性. 最后, 通过分析种子ECKG事件的相似性, 并引入事件共享机制, 将相同关系下的相似事件关联的事件互相共享, 以保持相似事件的三元组一致性. 经过实验评估, 新获取的三元组具有高质量, 尤其是时序关系的三元组准确率最高, 达到了98.2%. 所提扩展方法最终为种子ECKG增补了2 433 012个常识事件三元组, 显著扩大了ECKG的规模, 可以为人工智能领域的许多应用提供了更为丰富的常识知识资源.
    45  重新审视代码补全中的检索增强策略
    邹佰翰,汪莹,彭鑫,娄一翎,刘力华,张昕东,林帆,刘名威
    2025, 36(6):2747-2773. DOI: 10.13328/j.cnki.jos.007226
    [摘要](1912) [HTML](2040) [PDF 6.74 K](3276)
    摘要:
    软件开发者在编写代码时, 常常会参考项目中实现了相似功能的代码. 代码生成模型在生成代码时也具有类似特点, 会以输入中给出的代码上下文信息作为参考. 基于检索增强的代码补全技术与这一思想类似, 该技术从检索库中检索到外部代码作为额外信息, 对生成模型起到提示的作用, 从而生成目标代码. 现有的基于检索增强的代码补全方法将输入代码和检索结果直接拼接到一起作为生成模型的输入, 这种方法带来了一个风险, 即检索到的代码片段可能并不能对模型起到提示作用, 反而有可能会误导模型, 导致生成的代码结果不准确. 此外, 由于无论检索到的外部代码是否与输入代码完全相关, 都会被与输入代码拼接起来输入到模型, 这导致该方法的效果在很大程度上依赖于代码检索阶段的准确性. 如果检索阶段不能返回可用的代码片段, 那么后续的代码补全效果可能也会受到影响. 首先, 针对现有的代码补全方法中的检索增强策略进行了经验研究, 通过定性和定量实验分析检索增强的各个阶段对于代码补全效果的影响, 在经验研究中重点识别了代码粒度、代码检索方法、代码后处理方法这3种影响检索增强效果的因素. 接着, 基于经验研究的结论设计改进方法, 提出一种通过分阶段优化代码检索策略来改进检索增强的代码补全方法MAGIC (multi-stage optimization for retrieval augmented code completion), 设计了代码切分、二次检索精排、模板提示生成等改进策略, 可以有效地提升检索增强对代码补全模型的辅助生成作用, 并减少模型在代码生成阶段受到的噪声干扰, 提升生成代码的质量. 最后, 在Java代码数据集上的实验结果表明: 与现有的基于检索增强的代码补全方法相比, 该方法在编辑相似度和完全匹配指标上分别提升了6.76%和7.81%. 与6B参数量的代码大模型相比, 该方法能够在节省94.5%的显存和73.8%的推理时间的前提下, 在编辑相似度和完全匹配指标上分别提升5.62%和4.66%.
    46  大语言模型的幻觉问题研究综述
    刘泽垣,王鹏江,宋晓斌,张欣,江奔奔
    2025, 36(3):1152-1185. DOI: 10.13328/j.cnki.jos.007242
    [摘要](8684) [HTML](3655) [PDF 8.91 M](5326)
    摘要:
    随着以Transformer为代表的预训练模型等深度学习技术的发展, 大语言模型(LLM)日益展现出强大的理解力和创造力, 对抽象摘要、对话生成、机器翻译和数据到文本生成等下游任务产生了重要影响, 同时也在图像说明、视觉叙事等多模态领域展现出了广阔的应用前景. 虽然大语言模型具备显著的性能优势, 但深度学习架构使其难以避免内容幻觉问题, 这不仅会削减系统性能, 还严重影响其可信性和应用广泛性, 由此衍生的法律风险和伦理风险成为掣肘其进一步发展与落地的主要障碍. 聚焦大语言模型的幻觉问题, 首先, 对大语言模型的幻觉问题展开系统概述, 分析其来源及成因; 其次, 系统概述大语言模型幻觉问题的评估方法和缓解方法, 对不同任务的评估和缓解方法类型化并加以深入比较; 最后, 从评估和缓解角度展望应对幻觉问题的未来趋势和应对方案.
    47  大语言模型驱动的跨领域属性级情感分析
    李诗晨,王中卿,周国栋
    2025, 36(2):644-659. DOI: 10.13328/j.cnki.jos.007156
    [摘要](2908) [HTML](2092) [PDF 6.36 M](5722)
    摘要:
    属性级情感分析作为一种细粒度情感分析方法, 目前在许多应用场景中都具有重要作用. 然而, 随着社交媒体和在线评论的日益广泛以及各类新兴领域的出现, 使得跨领域属性级情感分析面临着标签数据不足以及源领域与目标领域文本分布差异等挑战. 目前已有许多数据增强方法试图解决这些问题, 但现有方法生成的文本仍存在语义不连贯、结构单一以及特征与源领域过于趋同等问题. 为了克服这些问题, 提出一种基于大语言模型(large language model, LLM)数据增强的跨领域属性级情感分析方法. 所提方法利用大模型丰富的语言知识, 合理构建针对跨领域属性级别情感分析任务的引导语句, 挖掘目标领域与源领域相似文本, 通过上下文学习的方式, 使用领域关联关键词引导LLM生成目标领域有标签文本数据, 用以解决目标领域数据缺乏以及领域特异性问题, 从而有效提高跨领域属性级情感分析的准确性和鲁棒性. 所提方法在多个真实数据集中进行实验, 实验结果表明, 该方法可以有效提升基线模型在跨领域属性级情感分析中的表现.
    48  基于大语言模型的模糊测试研究综述
    李岩,杨文章,张翼,薛吟兴
    2025, 36(6):2404-2431. DOI: 10.13328/j.cnki.jos.007323
    [摘要](6254) [HTML](5179) [PDF 6.76 K](5486)
    摘要:
    模糊测试是一种自动化的软件测试方法, 通过向目标软件系统输入大量自动生成的测试数据, 以发现系统潜在的安全漏洞、软件缺陷或异常行为. 然而, 传统模糊测试技术受限于自动化程度低、测试效率低、代码覆盖率低等因素, 无法应对现代的大型软件系统. 近年来, 大语言模型的迅猛发展不仅为自然语言处理领域带来重大突破, 也为模糊测试领域带来了新的自动化方案. 因此, 为了更好地提升模糊测试技术的效果, 现有的工作提出了多种结合大语言模型的模糊测试方法, 涵盖了测试输入生成、缺陷检测、后模糊处理等模块. 但是现有工作缺乏对基于大语言模型的模糊测试技术的系统性调研和梳理讨论, 为了填补上述综述方面的空白, 对现有的基于大语言模型的模糊测试技术的研究发展现状进行全面的分析和总结. 主要内容包括: (1)概述模糊测试的整体流程和模糊测试研究中常用的大语言模型相关技术; (2)讨论大模型时代之前的基于深度学习的模糊测试方法的局限性; (3)分析大语言模型在模糊测试方法中不同环节的应用方式; (4)探讨大语言模型技术在模糊测试中的主要挑战和今后可能的发展方向.
    49  大模型生成代码的开源许可证违规风险洞察与分析
    王毅博,王莹,余跃,许畅,于海,朱志良
    2025, 36(6):2535-2557. DOI: 10.13328/j.cnki.jos.007324
    [摘要](3363) [HTML](1882) [PDF 6.74 K](2388)
    摘要:
    大型语言模型的快速发展极大地影响了软件工程领域. 这些模型利用大量开源仓库代码进行预训练, 能够高效完成诸如代码生成和代码补全等任务. 然而, 开源软件仓库中存在大量受开源许可证约束的代码, 这给大模型带来了潜在的开源许可证违规风险. 聚焦于大模型生成代码与开源仓库的许可证违规风险, 基于代码克隆技术开发一个支持大模型生成代码溯源与版权违规问题的检测框架. 针对9个主流代码大模型生成的135 000个Python代码, 利用该框架在开源社区中溯源并检测开源许可证兼容性. 通过实践调查3个研究问题来探究大模型代码生成对开源软件生态的影响: (1) 大模型生成的代码多大程度克隆于开源软件仓库? (2) 大模型生成的代码是否存在开源许可证违规风险? (3) 真实开源软件中包含的大模型生成代码是否存在开源许可证违规风险? 实验结果发现在使用功能描述和方法签名所生成的43 130和65 900个大于6行的Python代码中, 分别溯源到了68.5%和60.9%的代码存在克隆的开源代码片段. 其中CodeParrot和CodeGen系列模型的克隆比例最高, GPT-3.5-Turbo最低. 其次, 92.7%的通过功能描述生成的代码中没有开源许可证声明. 通过与溯源代码许可证进行对比, 81.8%的代码存在开源许可证违规风险. 此外, 在收集到的229个GitHub平台开发者使用大模型生成的代码中, 有136个代码溯源了到开源代码片段, 其中38个为Type1和Type2克隆类型, 有30个存在开源许可证违规风险. 以问题报告的形式提交给开发者, 到目前为止, 得到了8位开发者的反馈.
    50  基于大语言模型的长方法分解
    徐子懋,姜艳杰,张宇霞,刘辉
    2025, 36(6):2501-2514. DOI: 10.13328/j.cnki.jos.007329
    [摘要](2071) [HTML](1580) [PDF 6.75 K](2472)
    摘要:
    长方法及其他类型的代码坏味阻碍了软件应用程序达到最佳的可读性、可重用性和可维护性. 因此, 人们对长方法的自动检测和分解进行了广泛的研究. 虽然这些方法极大地促进了分解, 但其解决方案往往与最优方案存在很大差异. 为此, 调研公开真实长方法数据集中的可自动化部分, 探讨了长方法的分解情况, 并基于调研结果, 提出了一种基于大语言模型的新方法(称为 Lsplitter), 用于自动分解长方法. 对于给定的长方法, Lsplitter会根据启发式规则和大语言模型将该方法分解为一系列短方法. 然而, 大语言模型经常会拆分出相似的方法, 针对大语言模型的分解结果, Lsplitter利用基于位置的算法, 将物理上连续且高度相似的方法合并成一个较长的方法. 最后对这些候选结果进行排序. 对真实Java项目中的2849个长方法进行了实验, 结果表明, 相较传统结合模块化矩阵的方法, Lsplitter的命中率提升了142%, 相较纯基于大语言模型的方法, 命中率提升了7.6%.
    51  LLM赋能的Datalog代码翻译技术及增量程序分析框架
    王熙灶,沈天琪,宾向荣,卜磊
    2025, 36(6):2515-2534. DOI: 10.13328/j.cnki.jos.007330
    [摘要](1992) [HTML](1753) [PDF 6.75 K](2359)
    摘要:
    Datalog是一种声明式逻辑编程语言, 在不同领域得到了广泛应用. 近年来, 学术界和工业界对Datalog的兴趣高涨, 设计并开发了多种Datalog引擎和相应方言. 然而, 多方言带来的一个问题是以一种Datalog方言实现的代码, 一般而言不能在另一种方言的引擎上执行. 因此, 当采用新Datalog引擎时, 需要将现有Datalog代码翻译到新方言上. 目前的Datalog代码翻译技术可分为人工重写代码和人工设计翻译规则两类, 存在耗时长、大量重复劳动、缺乏灵活性和可拓展性等问题. 提出了一种大语言模型(LLM)赋能的Datalog代码翻译技术, 利用LLM强大的代码理解和生成能力, 通过分治翻译策略、基于少样本提示和思维链提示的提示工程、基于检查-反馈-修复的迭代纠错机制, 可以在不同Datalog方言之间实现高精度代码翻译, 减轻开发人员重复开发翻译规则的工作量. 基于此代码翻译技术, 设计并实现了一种通用的基于Datalog的声明式增量程序分析框架. 在不同Datalog方言对上评估了所提出的LLM赋能的Datalog代码翻译技术的性能, 评估结果验证了所提代码翻译技术的有效性. 对通用声明式增量程序分析框架进行了实验评估, 验证了基于所提代码翻译技术的增量程序分析的加速效果.
    52  大语言模型在代码优化任务中的能力探究及改进方法
    王志鹏,何铁科,赵若愚,郑滔
    2025, 36(6):2477-2500. DOI: 10.13328/j.cnki.jos.007325
    [摘要](3305) [HTML](2074) [PDF 6.75 K](3104)
    摘要:
    代码优化任务作为自动化代码审查的关键环节, 有助于提高开发效率和代码质量. 随着大语言模型在软件工程领域中展现出远胜于传统小规模预训练模型的性能, 旨在探讨两类模型在自动代码优化任务的表现, 以评估大语言模型的综合优势. 通过使用传统代码质量评估指标(例如, BLEU, CodeBLEU, edit progress)对4种主流大语言模型和4种代表性小规模预训练模型在代码优化任务的表现进行评估, 发现大语言模型在审查前代码优化子任务的优化质量劣于小规模预训练模型. 由于现有代码质量评估指标难以解释上述现象, 提出基于Unidiff的代码优化评估指标, 量化优化过程中的变更操作, 以解释劣势原因并揭示模型执行变更操作的倾向性: (1)审查前代码优化任务难度较大, 模型执行正确变更操作的准确度极低, 且大语言模型比小规模预训练模型表现更为“激进”, 即倾向于执行更多的代码变更操作, 导致其表现不佳; (2)相比小规模预训练模型, 大语言模型在代码优化任务倾向于执行更多插入(ADD)和修改(MODIFY)变更操作且ADD变更操作平均插入的代码行数较多, 进一步证明其“激进”性. 为缓解大语言模型在审查前优化任务中的劣势, 基于大语言模型和集成学习提出LLM-Voter方法, 包含Inference-based (基于模型推理)和Confidence-based (基于置信度选择)两种子方案, 旨在集成不同基模型的优势以提升代码优化质量. 在此基础上, 进一步引入优化判定机制, 以增强模型的决策稳定性与可靠性. 实验证明: 基于置信度选择的LLM-Voter方法能够在大幅提高EM (exact match)值的同时获得优于所有基模型的优化质量, 从而有效缓解大语言模型的劣势.
    53  智能化芯片设计程序测试研究综述
    李晓鹏,闫明,樊兴宇,唐振韬,开昰雄,郝建业,袁明轩,陈俊洁
    2025, 36(6):2453-2476. DOI: 10.13328/j.cnki.jos.007328
    [摘要](2186) [HTML](2342) [PDF 6.71 K](5193)
    摘要:
    在当今智能化的时代背景下, 芯片作为智能电子设备的核心组件, 在人工智能、物联网、5G通信等诸多领域发挥着关键作用, 保障芯片的正确性、安全性和可靠性至关重要. 在芯片的开发流程中, 开发人员首先需要利用硬件描述语言, 将芯片设计实现成软件形式(即芯片设计程序), 然后再进行物理设计并最终流片(即生产制造). 作为芯片设计制造的基础, 芯片设计程序的质量直接影响了芯片的质量. 因此, 针对芯片设计程序的测试具有重要研究意义. 早期的芯片设计程序测试方法主要依赖开发人员人工设计测试用例来测试芯片设计程序, 往往需要大量的人工成本和时间代价. 随着芯片设计程序复杂度的日益增长, 诸多基于仿真的自动化芯片设计程序测试方法被提出, 提升了芯片设计程序测试效率及有效性. 近年来, 越来越多的研究者致力于将机器学习、深度学习和大语言模型(LLM)等智能化方法应用于芯片设计程序测试领域. 调研88篇智能化芯片设计程序测试相关的学术论文, 从测试输入生成、测试预言构造及测试执行优化这3个角度对智能化芯片设计程序测试已有成果进行整理归纳, 重点梳理芯片设计程序测试方法从机器学习阶段、深度学习阶段到大语言模型阶段的演化, 探讨不同阶段方法在提高测试效率和覆盖率、降低测试成本等方面的潜力. 同时, 介绍芯片设计程序测试领域的研究数据集和工具, 并展望未来的发展方向和挑战.
    54  面向视频的细粒度多模态实体链接
    赵海全,王续武,李金亮,李直旭,肖仰华
    2024, 35(3):1140-1153. DOI: 10.13328/j.cnki.jos.007078
    [摘要](2138) [HTML](3596) [PDF 1.52 M](4896)
    摘要:
    随着互联网和大数据的飞速发展,数据规模越来越大,种类也越来越多.视频作为其中重要的一种信息方式,随着近期短视频的发展,占比越来越大.如何对这些大规模视频进行理解分析,成为学界关注的热点.实体链接作为一种背景知识补全方式,可以提供丰富的外部知识.视频上的实体链接可以有效地帮助理解视频内容,从而实现对视频内容的分类、检索、推荐等.但是现有的视频链接数据集和方法的粒度过粗,因此提出面向视频的细粒度实体链接,并立足于直播场景,构建了细粒度视频实体链接数据集.此外,依据细粒度视频链接任务的难点,提出利用大模型抽取视频中的实体及其属性,并利用对比学习得到视频和对应实体的更好表示.实验结果表明,该方法能够有效地处理视频上的细粒度实体链接任务.
    55  大模型: 基于自然交互的人机协同软件开发与演化工具带来的挑战
    李戈,彭鑫,王千祥,谢涛,金芝,王戟,马晓星,李宣东
    2023, 34(10):4601-4606. DOI: 10.13328/j.cnki.jos.007008
    [摘要](6246) [HTML](3427) [PDF 9.32 M](7184)
    摘要:
    以自然语言生成为核心的大模型技术正在人工智能领域掀起热潮, 并持续向更多的领域穿透其影响力. 以ChatGPT为代表的自然语言生成大模型(以下简称大模型), 已经在软件工程的多项活动中展示出其通过自然交互方式给人提供一定程度帮助的能力和潜力, 正在发展成为一种基于自然交互的人机协同软件开发与演化工具. 从人机协同软件开发与演化的视角, 大模型作为一种软件工具呈现出了两大特征: 其一是基于自然语言的人机交互, 在相当大程度上拓展了人机协同的工作空间、提高了人机协同的效率和灵活性; 其二是基于已积累的软件开发和演化知识、针对给定软件开发和演化任务的预测性内容生成, 可以对软件开发和演化工作提供一定程度的支持和帮助. 然而, 由于大模型本质是基于概率与统计原理和训练数据所形成的数学模型, 具有不可解释性和内生不确定性, 其生成的是缺失可信性判断的预测性内容, 而人在软件开发与演化中所需要完成的是具有可信保障的决策性任务, 所以大模型作为一种软件工具, 在人机协同的软件开发和演化工作环境中给人提供帮助的同时, 也带来了诸多的挑战. 围绕如何构造对软件开发与演化更有帮助的代码大模型、如何引导大模型生成对软件开发与演化更有帮助的预测性内容、如何基于大模型生成的预测性内容开发与演化高质量的软件系统等大模型带来的挑战进行分析和阐述.

    当期目录


    文章目录

    过刊浏览

    年份

    刊期

    联系方式
    • 《软件学报 》
    • 主办单位:中国科学院软件研究所
                       中国计算机学会
    • 邮编:100190
    • 电话:010-62562563
    • 电子邮箱:jos@iscas.ac.cn
    • 网址:https://www.jos.org.cn
    • 刊号:ISSN 1000-9825
    •           CN 11-2560/TP
    • 国内定价:70元
    您是第位访问者
    版权所有:中国科学院软件研究所 京ICP备05046678号-3
    地址:北京市海淀区中关村南四街4号,邮政编码:100190
    电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
    技术支持:北京勤云科技发展有限公司

    京公网安备 11040202500063号