快速检索
    过刊检索
    全选反选导出
    显示模式:
    2026,37(1):1-33, DOI: 10.13328/j.cnki.jos.007441, CSTR: 32375.14.jos.007441
    [摘要] (963) [HTML] (171) [PDF 5.21 M] (804)
    摘要:
    并发与可扩展性是绝大多数复杂系统的关键性质. 作为并发建模的常用语言, Petri网被大量应用于众多领域. Petri网的数学抽象, 即向量加法系统是计算机科学中的重要研究对象, 向量加法系统的可达性问题的算法与复杂性刻画是过去50年理论计算机科学中最重要的问题之一. 对向量加法系统可达性问题的复杂性下界研究进行系统而全面的总结与阐述, 主要内容包括: (1) 向量加法系统的定义、等价模型、向量加法系统的可达性问题; (2) 向量加法系统可达性问题复杂性的研究进展; (3) 固定维度的可达性问题的下界证明方法及其之间的联系 ; (4) 当前的研究瓶颈及有待解决的问题、未来的研究方向与挑战.
    2026,37(1):34-61, DOI: 10.13328/j.cnki.jos.007446, CSTR: 32375.14.jos.007446
    [摘要] (550) [HTML] (103) [PDF 3.54 M] (625)
    摘要:
    智能合约作为一种自动执行的计算机交易协议, 广泛用于实现区块链网络中的各种业务逻辑. 然而区块链严格不变性使得智能合约维护存在困扰, 关于智能合约的可升级性讨论成为热点研究问题. 致力于以可升级智能合约为研究对象, 系统性地梳理可升级智能合约的国内外发展现状, 并介绍7种主流的可升级智能合约模式. 将从可升级智能合约、应用需求、升级框架与安全监管这4个角度进行总结, 涵盖可升级智能合约的设计、实现、测试、部署及运维多个阶段, 总结可升级智能合约的研究进展与未来挑战, 以期为区块链应用发展提供参考.
    2026,37(1):62-101, DOI: 10.13328/j.cnki.jos.007450, CSTR: 32375.14.jos.007450
    [摘要] (1442) [HTML] (230) [PDF 3.88 M] (689)
    摘要:
    随着深度学习等技术的快速发展以及计算机硬件、云计算等领域的重大突破, 日益成熟的人工智能技术已经被应用于不同场景的软件系统中. 这类以人工智能模型为核心组件的软件系统, 统称为智能软件系统, 按照人工智能技术的应用领域可分为图像处理应用、自然语言处理应用、语音处理应用等. 与传统软件系统不同, 人工智能模型采用数据驱动的编程范式, 其中所有的决策逻辑均通过大规模数据集学习得到. 这种范式的转变导致传统的基于代码的测试用例生成方法无法用于智能软件系统的质量评估. 因此, 近年来许多研究人员致力于面向智能软件系统的测试方法研究, 包括结合智能软件系统的特点提出新的测试用例生成方法、测试用例评估方法等. 围绕面向智能软件系统的测试用例生成方法调研80篇相关领域的文献, 将现有方法按照适配的系统类型进行分类, 对面向图像处理应用、自然语言处理应用、语音处理应用、点云处理应用、多模态数据处理应用以及深度学习模型的已有测试用例生成方法进行系统地梳理和总结. 最后, 对面向智能软件系统的测试用例生成方法的未来工作进行展望, 以期为该领域的研究人员提供参考.
    2026,37(1):102-138, DOI: 10.13328/j.cnki.jos.007452, CSTR: 32375.14.jos.007452
    [摘要] (994) [HTML] (211) [PDF 5.60 M] (761)
    摘要:
    区块链作为一种分布式账本技术, 凭借加密和共识机制保证数据的安全、透明和不可篡改性, 为各行业提供了革命性的解决方案. 在国内, 基于区块链技术开发的软件得到了广泛关注和应用, 从金融领域的跨境支付、供应链金融以及政务领域等, 区块链软件都展示了巨大的潜力. 这些应用不仅能够提高业务流程的效率和透明度, 降低信任成本, 还为传统行业的数字化转型提供新的思路和方法. 以调研国产区块链软件的发展趋势与核心技术为目的, 从技术层面探讨关键技术突破、促进技术融合创新, 为技术标准制定提供依据, 从而提升国产区块链技术竞争力、开拓应用场景并规范行业发展. 为此, 围绕以下3个核心问题展开调研: (1) 国产区块链软件发展趋势如何? (2) 国产区块链软件具有哪些核心技术? (3) 国内外区块链软件在核心技术上有哪些不同? 为了回答这些问题, 首先通过3种途径收集了1268个区块链软件, 并结合所属公司、CTO等信息对区块链软件进行筛选, 最终得到103个国产区块链软件. 随后, 基于公司信息对区块链软件的基本信息进行统计, 并从软件发展历程、软件分布以及软件关系这3个角度分析当前国产区块链软件的发展趋势. 考虑技术文档或开发文档等关键信息的重要性, 进一步筛选出39个包含技术信息的高质量区块链软件. 接下来, 从区块链技术的6个层次对这39个区块链软件的核心技术情况进行统计与分析, 并基于这些分析对比中外区块链软件在核心技术方面的差异. 最终, 得到28个现象和13个见解. 这些发现有助于区块链研究人员、开发者以及从业者了解国产区块链发展的现状, 并为未来使用、改进国产区块链软件提供见解.
    2026,37(1):139-156, DOI: 10.13328/j.cnki.jos.007480, CSTR: 32375.14.jos.007480
    [摘要] (293) [HTML] (326) [PDF 2.35 M] (412)
    摘要:
    区块链通过全副本机制和共识协议, 在不依赖可信第三方机构的情况下, 保证了数据的安全性与一致性. 然而, 这种设计也显著限制了系统的可扩展性. 分片技术通过将区块链系统划分为多个并行工作的分片, 可有效解决上述问题. 其中, 状态分片在各分片并行的前提下, 进一步将状态数据分散存储于各分片中, 显著提高系统吞吐量与存储效率. 目前, 状态分片面临以下问题: (1) 跨分片交易涉及多个分片的协同处理, 引入额外的跨分片通信和共识开销, 需要提高其处理效率; (2) 需要合理划分状态, 降低系统跨分片交易比例并平衡各分片的工作负载; (3) 动态划分和调整状态时, 需要在不同分片间高效迁移状态数据. 系统地梳理状态分片技术的关键问题和主流实现方法, 从跨分片交易处理、状态分配和状态迁移这3个方面对比和分析现有成果的优缺点. 最后, 指出状态分片技术面临的问题, 为未来的研究工作提供方向.
    2026,37(1):157-179, DOI: 10.13328/j.cnki.jos.007486, CSTR: 32375.14.jos.007486
    [摘要] (1441) [HTML] (295) [PDF 2.84 M] (587)
    摘要:
    自动驾驶系统能够产生极大的经济效益、安全效益和社会效益, 受到工业界和学术界的格外关注, 逐渐被深入研究, 普及应用. 然而, 引入此类复杂生态系统会产生新的安全问题, 威胁行人的生命安全, 影响现有的法律体系. 因此, 在自动驾驶系统实装、自动驾驶车辆上路、自动驾驶行业商业化落地前, 必须通过仿真测试、准入审核、试点运营等多种途径验证自动驾驶系统. 当前对模块安全研究的总结已经成熟, 但仍然缺乏对整车安全研究的归纳整理工作. 因此, 系统性地分析面向整车系统的自动驾驶安全测试研究, 全面回顾当前的主流工作. 首先, 概述自动驾驶系统结构和仿真测试的基本流程, 梳理近6年整车系统安全测试领域的文献, 并依托于通用的测试框架形成面向整车系统的自动驾驶安全测试框架. 其次, 基于上述框架提炼出当前工作的5类核心研究问题, 即关键场景生成、测试充分性、对抗样本生成、测试优化和测试预言, 并详细地分析和整理每类问题的关键技术、研究现状、发展脉络, 归纳当前研究常用的评价指标和对比方法. 最后, 总结各个研究方向面临的严峻挑战, 并展望未来的研究机遇, 思考潜在的解决方案.
    2026,37(1):180-199, DOI: 10.13328/j.cnki.jos.007417, CSTR: 32375.14.jos.007417
    [摘要] (1154) [HTML] (236) [PDF 2.30 M] (597)
    摘要:
    对比学习是一种在计算机视觉和自然语言处理等领域广泛应用的自监督学习技术. 图对比学习指的是在图数据上应用对比学习技术的一类方法. 给出图对比学习的基本概念、算法和应用的一个综述. 首先介绍图对比学习的背景和意义及其在图数据上的基本概念; 然后详细阐述图对比学习的主流方法, 包括基于不同图数据增强策略的方法分类、基于不同图神经网络编码器结构的方法分类以及基于不同对比损失目标的方法分类等; 最后提出了3个图对比学习的研究思路. 研究结果表明, 图对比学习是一项有效的技术, 可以用来解决图数据上节点分类、图分类等一系列下游任务.
    快速检索
    过刊检索
    全选反选导出
    显示模式:
    优先出版日期:  2026-01-21 , DOI: 10.13328/j.cnki.jos.007472
    摘要:
    结合机器学习相关技术的启发式测试用例生成方法可显著提高测试效率. 已有研究关注于利用部分测试用例构建高效的代理模型, 忽略了初始种群质量以及代理模型对多路径测试效率的影响. 由此, 提出一种结合K-means与SVR (support vector machine regression, 支持向量机回归)的测试用例约简与生成方法. 通过K-means将随机生成的用例聚为若干簇, 保留与簇中心距离在一定阈值内的用例, 生成这些用例的路径覆盖矩阵. 利用该矩阵评估测试用例的路径覆盖潜能以及路径的难易覆盖程度, 并基于这两者对测试用例进行排序, 分别从不同簇中选取若干用例构成测试用例约简集, 将其作为初始遗传种群. 这不仅增强初始种群的多样性, 降低其冗余性, 还有助于减少多路径覆盖的测试用例进化次数. 同时, 将聚类前的用例及其适应度作为样本训练适应于多路径覆盖的SVR适应度预测模型, 并使用遗传进化生成的新用例更新模型, 进一步提高模型精度, 可减少执行插桩程序带来的大量时间消耗. 这样, 种群质量与测试效率均得以提升. 实验表明, 在15个程序上, 所提方法在覆盖率、平均进化代数等指标上均有较好改善. 其中在覆盖率上, 与3类基准方法相比, 最少可提高7%, 最多可达49%; 与5种具有竞争性的方法相比, 可提高约10%, 最多可达25%. 所提方法对融合机器学习的多路径测试研究提供了方法指导.
    优先出版日期:  2026-01-21 , DOI: 10.13328/j.cnki.jos.007562
    摘要:
    当前软件市场呈现出产品同质化加重趋势, 功能性创新已成为决定软件竞争优势的关键因素. 这促使现代需求工程研究范式从被动的需求提取转向主动的创新需求捕获. 在提升需求创新性的实践中, 现有研究主要呈现两条路径: (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在提升需求创新质量和降低协作成本上的优越性.
    优先出版日期:  2026-01-14 , DOI: 10.13328/j.cnki.jos.007558
    摘要:
    K-团枚举是子图匹配中的一个重要问题, 位图算法被证明是求解K-团枚举问题的有效方法. 目前最先进的K-团枚举算法都采用GPU来加速. 先前工作没有关注真实世界图数据的稀疏性对基于位图的K-团枚举算法的影响, 而是在GPU上采用静态的并行方法和位图构造策略, 这导致GPU计算效率低下. 提出了基于thread并行的位图任务负载均衡调度算法, 在解决线程分歧问题的同时实现位图算法的高并行性. 随后, 提出了一种动态位图构造算法, 使得位图可以在合适的时机被构造并高效启用位图算法. 实现了一个GPU友好的K-团枚举问题求解系统KCMiner, 它可以自适应地选择K-团枚举任务的优化策略. 在GPU架构上的实验结果表明, 方法能够比K-团枚举的基线算法最大实现7.36倍的加速, 与子图匹配系统的基线算法相比最大实现30.2倍的加速.
    优先出版日期:  2026-01-14 , DOI: 10.13328/j.cnki.jos.007559
    摘要:
    量子计算机的迅猛发展对现存密码体制造成了极大的威胁, 后量子密码算法的实现和迁移部署尤为重要. 其中, 基于NTRU格的密码方案因结构简洁、计算效率高等优点备受瞩目. CTRU-Prime方案基于NTRU格构造, 鉴于其在安全性、带宽和实现效率上的出色表现和GPU在大规模并行处理任务上的强大能力, 在Tensor Core和CUDA (compute unified device architecture) Core的基础上给出了CTRU-Prime的首个高吞吐量实现. CTRU-Prime的底层代数结构为素阶数域, 在抵御针对分圆环攻击的同时, 也为多项式乘法的实现带来挑战. 首先, 提出两种素阶数域上多项式乘法的GPU实现方案. 基于CUDA Core的伪梅森数不完整NTT的多项式乘法使用层融合技术优化访存模式, 能够达到256.98倍吞吐量, 基于Tensor Core的教科书式多项式乘法, 将多项式乘法转化为矩阵操作, 利用低精度MMA (matrix-multiply-and-accumulate)操作实现, 能够达到177.24倍吞吐量. 接着, 结合批量模式和单一模式、多流技术和多线程技术, 给出了GPU平台上面向吞吐量的CTRU-Prime总体架构, 使用融合内核、合并全局内存访问、优化访存模式等优化策略, 加快各个核函数的访存和计算速度. 实验结果表明, 基于RTX3060平台, CTRU-Prime-653、CTRU-Prime-761、CTRU-Prime-1277每秒钟可以分别进行密钥生成6.3、5.4、1.6万次, 密钥封装63.5、274.5、160.1万次, 密钥解封装35.1、262.2、152.4万次, 是C实现版密钥生成吞吐量的68.85、79.78、66.84倍, 密钥封装吞吐量的10.32、46.57、46.81倍, 密钥解封装吞吐量的11.43、89.19、90.32倍. 同最新实现的Kyber相比, 密钥封装吞吐量达到1.46倍, 密钥解封装达到1.74倍, 是其他NTRU格基GPU高吞吐量实现的26倍.
    优先出版日期:  2026-01-14 , DOI: 10.13328/j.cnki.jos.007536
    摘要:
    Scade是一种广泛用于安全攸关嵌入式控制软件开发的著名商业工具, 其建模语言是从同步数据流语言Lustre扩展而来的同步语言. 包括Lustre在内的同步语言的正确编译近年来备受关注, 并在许多研究中通过形式化验证方法来解决. 对此类语言构建形式化验证的编译器, 实践中常见的做法是先将源程序编译为类C程序, 然后使用形式化验证的后端编译器(如CompCert编译器)将其编译为机器相关的低级代码. 其中, 时态算子的正确编译是至关重要的. 介绍一种形式化验证的类Scade时态算子编译并将其应用于形式化验证的编译器项目中, 该项目将Lustre扩展的同步语言翻译成CompCert编译器的前端中间语言Clight. 时态算子的编译和形式化验证分为两个核心阶段, 在交互式证明辅助器Coq中实现.
    优先出版日期:  2026-01-14 , DOI: 10.13328/j.cnki.jos.007547
    摘要:
    深度强化学习已在多个领域取得了显著突破, 其中策略梯度算法因适用于处理非线性和高维状态空间的问题而被广泛采用. 然而, 现有策略梯度算法在实际应用中仍面临高方差问题, 这会导致算法收敛速度变慢, 甚至可能陷入次优解. 针对这一挑战, 从隐因果模型的视角提出一种策略梯度方差优化方法. 通过引入隐变量刻画未观测随机信息, 构建并学习隐变量因果模型. 基于隐变量因果模型, 提出因果价值函数, 结合长短期记忆网络, 根据时效性区分衡量未观测随机信息对价值估计的影响作用, 提高动作优势函数预估的准确性, 降低策略梯度方差. 实验表明, 与前沿的同类算法相比, 基于隐变量因果模型的方法在多个任务更具有优越性和稳定性.
    优先出版日期:  2026-01-07 , DOI: 10.13328/j.cnki.jos.007554
    摘要:
    GPS (global positioning system, 全球定位系统)移动设备与5G (5th generation mobile communication technology, 第5代移动通信技术)互联网技术的普及催生了轨迹数据的飞速增长. 如何对海量轨迹数据进行高效地存储、管理和分析成为当前环境下的研究热点问题. 传统的单节点式轨迹索引受限于内存容量、磁盘I/O速度等问题已经无法胜任海量轨迹数据的管理. Spark作为一种基于内存计算的分布式框架, 在处理海量数据时具备天然的优势. 因此, 提出了基于Spark平台的分布式轨迹数据索引以及相关的查询技术方案. 为了提升分布式集群中单个节点的数据存储能力和轨迹查询效率, 首先提出了一种轨迹编码技术(Z-order trajectory encoding, ZTE), 该技术对轨迹MBR (minimum bounding rectangle, 最小外接矩形)所覆盖的最小相邻子空间进行编码, 可以表达不同粒度的轨迹以及轨迹的运动方向, 用于判断轨迹与查询空间的关系. 基于这一技术, 将轨迹的ZTE编码进一步组织成偏序结构, 设计了基于子空间偏序分支的SPB分支(subspace partial-order branch, SPB)并结合哈希映射表IDMap构建局部索引. 索引能够避免类R树索引中最小限定矩形堆叠形成死空间导致的效率低下问题, 实现快速剪枝. 为了支持海量轨迹数据的高效检索, 基于SPB分支的局部索引设计了分布式的轨迹索引SPBSpark. SPBSpark主要包括数据分区、局部索引和全局索引这3个部分. 该索引能有效支持时空范围查询、k近邻查询、移动对象轨迹查询这3种查询. 最后, 选取了同样基于Spark框架的分布式轨迹索引TrajSpark和LocationSpark作为实验对照对象. 通过仿真实验对比分析, SPBSpark索引的空间利用率在LocationSpark上改善了约15%. 在查询性能上, 相较于TrajSpark和LocationSpark, SPBSpark拥有2–3倍的性能提升.
    优先出版日期:  2026-01-07 , DOI: 10.13328/j.cnki.jos.007555
    摘要:
    群体智能是新一代人工智能的重要组成部分, 研究如何激发和汇聚开源社区“人”的力量能够极大提升开发效率. 社区检测作为研究开源项目中开发者关系的技术手段, 在社交网络的探索和理解中起着至关重要的作用. 然而, 目前的研究主要集中在Facebook等大规模社交网络上, 系统性地研究项目级开源软件开发者社交网络(OSS-DSN)中的社区检测仍然较为缺乏. 首先收集真实世界的数据, 并分析OSS-DSN的特征. 然后, 在这些真实数据集上, 对多种重叠和非重叠的社区检测算法进行基准测试, 比较它们在多个度量和维度上的性能. 最后, 基于合成的OSS-DSN, 高效地生成了一系列合成网络, 并使用带有真实标签的数据进行算法评估, 以进行对比分析. 识别了小规模和中等规模社交网络与大规模网络之间的特征差异, 并探讨了这些差异如何影响社区检测的度量标准及算法性能. 提供了一个新的基准, 并为更好地理解开源软件社区中的沟通与协作提供了重要的见解.
    优先出版日期:  2026-01-07 , DOI: 10.13328/j.cnki.jos.007556
    摘要:
    许多代码文件随着软件演化逐渐膨胀并承担了过多职责, 严重影响了软件的可维护性和可理解性. 开发者常需要重构这些文件, 将一个大的代码文件分解成多个较小的子文件. 现有研究工作主要聚焦类文件的分解重构, 并不完全适用于分解复杂头文件. 这是因为分解头文件面临一些独有的挑战: 既需要考虑整个软件项目的构建依赖以降低编译成本, 也需要确保分解后的子文件之间不会存在循环依赖. 为此, 提出了一种面向复杂头文件的自动化分解与重构方法——HeaderSplit. 该方法首先为复杂头文件构造蕴含多种代码关系的代码元素图, 其中就包括体现项目构建依赖的共同使用关系; 然后通过节点合并与多视图聚类算法识别关联紧密的代码元素聚类; 随后引入启发式的循环依赖修正算法生成可行的文件分解方案. 用户确认分解方案后, HeaderSplit能够自动执行重构, 生成新的子文件内容, 并更新软件项目内直接或间接引用原头文件的代码语句. 在合成复杂头文件与真实复杂头文件上对HeaderSplit进行评估, 结果表明: 1) HeaderSplit在准确率上比现有方法提升了11.5%, 并且具有更强的跨软件项目稳定性; 2) HeaderSplit分解得到的子文件模块度更高且无循环依赖, 具有更好的架构设计; 3) 使用HeaderSplit分解复杂头文件可以降低其演化历史中15%–60%的重编译成本; 4) HeaderSplit可以高效实施自动化重构, 在5 min以内完成百万行软件项目内的头文件分解重构, 具有很高的实用价值.
    优先出版日期:  2026-01-07 , DOI: 10.13328/j.cnki.jos.007502
    摘要:
    随着5G技术的快速发展, 5G-AKA协议作为5G技术的核心安全机制, 受到广泛关注. 5G-AKA协议的部署推动了通信网络的高速互联, 但也带来了用户对隐私泄露的担忧. 运营商在协议交互过程将收集大量数据, 这些数据一旦泄露, 将给用户造成严重的威胁. 因此, 提出基于SM2的匿名认证与密钥协商协议, 实现用户认证过程的隐私增强, 达到用户信息的最小揭露. 扩展了国密SM2数字签名算法实现对多消息的签名, 结合ElGamal算法对用户的身份进行加密并利用零知识证明技术保证用户证书的匿名性, 有效实现对用户身份的匿名认证. 协议保护合法用户在网络活动中的身份隐私, 并有效阻断对用户信息的非法获取. 此外, 协议还具备对恶意用户的可追责性, 其允许经授权的监管机构在合法流程下还原出用户身份. 最后, 开展协议实验测评, 基于Windows及Raspberry Pi 4B平台上进行部署和实现. 测评结果显示, 匿名认证与密钥协商过程耗时均为毫秒级, 充分展示了所提协议的高效性与实用性.
    优先出版日期:  2025-12-24 , DOI: 10.13328/j.cnki.jos.007557
    摘要:
    在软件工程领域中, 非功能需求(NFR)获取一直是需求工程实践中的重要内容, 但容易被忽视. 传统的NFR获取方法主要依赖需求工程师的经验和人工分析, 不仅效率低下, 而且容易出现遗漏和不一致. 近年来, 大语言模型在自然语言处理领域取得突破性进展, 为自动化获取非功能需求提供了新的技术手段. 然而, 直接使用大语言模型生成非功能需求常面临知识幻觉、领域专业性不足等问题. 为此, 提出了一种基于大语言模型的非功能需求自动获取方法, 实现高质量的非功能需求生成. 构建了包含3856条功能需求和5723条非功能需求的结构化关联数据集, 形成22647对FR-NFR关联关系. 通过融合检索增强生成(RAG)技术, 构建了包含3个核心模块的系统化解决方案: 基于最大边际相关性算法的语义案例检索模块、面向非功能需求生成的提示工程模块和基于参数优化的大语言模型生成模块. 通过软件工程专家的专业评分和对BLEU、ROUGE等自动评分指标的多维度评估, 实验结果表明方法在需求的完整性、准确性和可测试性等方面优于现有方法.
    优先出版日期:  2025-12-24 , DOI: 10.13328/j.cnki.jos.007534
    摘要:
    随着深度学习和计算机视觉的快速发展, 灰度图像着色研究已从传统手工特征设计转向数据驱动的深度神经网络范式. 然而, 现有的灰度图像着色模型评估体系面临双重挑战: 其一, 由于评价指标的局限性以及着色任务的高度病态性本质, 传统评价指标(如PSNR、SSIM和FID等)难以准确量化着色模型性能; 其二, 开展大规模主观实验进行定性分析耗时费力且可行性差. 针对上述问题, 提出了基于难样本挖掘的灰度图像着色模型评估方法. 该方法旨在通过多维度差异化(包括图像质量、美学表现和颜色差异)比较, 高效地挖掘用于比较着色模型的代表性样本; 随后开展可控小规模主观实验, 可靠地比较不同模型的性能, 并指出不同模型的优势和不足. 实验结果表明: 提出的方法能够高效、准确地找到模型的难样本, 在极大幅度地减小主观实验规模的同时, 揭示模型的优缺点, 为灰度图像着色模型评估提供了新范式, 并为模型优化指明方向.
    优先出版日期:  2025-12-17 , DOI: 10.13328/j.cnki.jos.007497
    摘要:
    区块链技术的广泛应用推动多链应用的发展, 通过跨链技术可以解决不同区块链之间信息隔离的问题. 然而, 当区块链之间存在大量并发交易时, 现有跨链技术不能并行处理跨链交易, 带来可扩展性低的问题, 区块链分片技术可以有效解决该问题. 目前, 不完善的交易分配方法和跨分片交易导致分片技术对可扩展性的提升受限. 因此, 提出面向中继链分片环境的两阶段自适应交易分配模型, 该模型在第1阶段得到交易分配方案, 以减少跨分片交易并保证分片负载与分片性能相匹配; 在第2阶段, 对中继链收集节点转发后处于不稳定队列中的交易进行微调, 以解决负载激增导致的交易处理延迟增加问题. 在第1阶段, 设计一种交易分配预测方法, 该方法利用平行链历史跨链交易信息对交易大小和数量进行预测, 根据预测结果与分片的交易吞吐量计算负载值, 同时, 基于交易依赖性设计跨分片交易分配方法, 结合负载值和该方法得到交易分配方案; 在第2阶段, 中继链根据交易分配方案和跨分片交易分配方法将交易转发至对应分片进行处理, 在此过程中用户可能短时间内生成大量交易导致分片负载与分片性能不匹配. 因此, 针对交易队列中等待的交易提出一种交易队列稳定性分析方法, 该方法通过交易队列的长度变化分析交易队列稳定性并对不稳定交易队列中的交易进行分片间动态微调. 通过交易分配预测方法和交易队列稳定性分析方法进行自适应交易分配, 减少交易等待处理的时间并提高中继链的交易吞吐量. 实验结果表明, 所提出的模型可以并行处理大量并发跨链交易并对交易分配方法进行完善, 相较于对比方法显著提高交易吞吐量, 降低交易的处理延迟.
    优先出版日期:  2025-12-17 , DOI: 10.13328/j.cnki.jos.007493
    摘要:
    现实世界中许多应用场景都可以用图数据表示, 图上的查询也具有广泛的应用, 如可达、最短路径、关键字、图匹配、PageRank、SimRank、k-core、k-truss和Clique等. 针对特定的查询问题, 目前的研究方法可概括为: 提出相应的查询处理算法, 并构建索引结构来加速查询. 然而, 现实应用中需求的多样化以及图数据规模爆炸式的增长为该研究方法带来了两方面挑战. 第一, 同一个图数据在应用中会涉及多种查询, 但针对不同查询问题的处理机制和索引结构均不相同, 因此在设计图数据库时需构建多个索引和相应的查询算法; 第二, 索引的规模通常比原图数据的规模大, 多个索引同时存在会占用大量的系统空间, 导致图数据库的性能急剧下降, 不能被真正的应用. 为解决上述挑战, 提出一种统一的查询处理机制, 即为大图数据构建统一且高效的索引结构, 并基于统一索引结构设计可达、最短路径、关键字和图匹配这4种查询处理算法. 为构建统一索引结构, 对大图数据进行划分, 并根据可达、最短路径、关键字和图匹配这4种查询的特点提取出图数据中的重要顶点, 该统一索引结构规模比图数据规模小, 并且能高效地支持上述4种查询. 最后, 通过在4组真实数据上的实验验证了统一索引结构和4种查询处理算法的高效性和扩展性.
    优先出版日期:  2025-12-10 , DOI: 10.13328/j.cnki.jos.007533
    摘要:
    吉布斯采样的临界行为是计算相变理论所关注的核心问题. 以硬核模型这一经典模型为例, 研究了吉布斯采样在临界点前的快速收敛. 在该模型中, 给定一个最大度为Δ≥3的n顶点图G以及参数λ≥0, 则图G中的每个独立集S以正比于λ|S|的概率被采样. 研究了实现这一采样的经典吉布斯采样算法——Glauber dynamics, 在临界条件λ<(Δ–1)Δ–1/(Δ–2)Δ下, 证明了该采样过程的马尔可夫链具有渐进最优的谱隙为Ω(1/n), 因此这一经典采样算法在该临界点前始终快速收敛.吉布斯采样过程在临界点前的快速收敛是马尔可夫链蒙特卡洛(MCMC) 理论中的一类重要问题. 针对硬核模型上的这一问题, 此前已有若干依赖高等数学工具的证明. 为这个重要问题提供了一个简化的组合证明, 引入计算复杂性归约的思想来分析采样过程的收敛速率.
    优先出版日期:  2025-12-10 , DOI: 10.13328/j.cnki.jos.007498
    [摘要] (113) [HTML] (0) [PDF 1.88 M] (1141)
    摘要:
    大模型在推理任务中的性能表现显著优于传统模型, 但仍难以应对复杂任务对计算成本、回复质量等方面提出的要求. 在此背景下, 模型互联通过构建模型协作范式实现了大模型能力的共享、整合和互补. 串联架构是一种典型的模型协作形式, 其将多个大模型按照链式顺序进行组合, 以逐级优化的方式增强多模型系统的能力. 模型串联中的路由旨在选择合适的串联路径, 其是提高系统能力的关键因素. 然而, 当前模型串联路由评估与选择缺乏对模型协作关系的系统性考量. 为此, 设计一种基于协作关系的模型动态路由方法. 它首先通过互评量化机制建立模型协作关系图谱, 然后利用动态协作路由算法逐跳分析回复并优化路径选择. 互评量化机制利用梯度互评来分析两两模型协作关系质量. 基于所得协作质量信息, 动态协作路由算法采取模型“一致同意规则”分析每一跳回复并确定路径顺序, 从而支持动态路由调整. 实验结果表明, 在基线任务数据集上, 所提路由算法在准确性和回复胜率等方面优于非预设路由及非针对性路由算法. 在OMGEval数据集上的胜率较非预设路由最大可提升45%.
    优先出版日期:  2025-12-10 , DOI: 10.13328/j.cnki.jos.007499
    [摘要] (81) [HTML] (0) [PDF 1.43 M] (1322)
    摘要:
    随着人工智能技术的蓬勃发展和广泛应用, 越来越多的恶意软件检测方法和工具利用深度学习的强大学习能力来检测安卓平台上新出现的恶意软件. 然而, 深度学习模型已经被证明容易受到对抗攻击的威胁. 与此同时, 攻击者已经开始提出多种针对安卓恶意软件检测方法的对抗攻击方法, 即生成对抗性安卓恶意软件, 从而达到绕过恶意软件检测的目的. 现有安卓恶意软件检测方法容易受到对抗攻击威胁的主要原因在于, 这些恶意软件检测方法都建立在单一模态特征之上, 而以单一模态存在的特征却很容易被攻击者恶意性地操控. 因此, 为了提高当前安卓恶意软件检测方法可以抵御对抗攻击的鲁棒性, 提出一种基于多模态融合学习的安卓恶意软件鲁棒检测方法RMDroid, 可以在不影响针对一般性安卓恶意软件检测准确性的基础上, 显著提高其抵御对抗攻击的鲁棒性. 具体而言, RMDroid首先会从待测安卓软件的多种模态中提取多种模态的特征信息, 然后分别利用相应的深度学习模型学习表征相应模态深层语义信息的特征向量, 最后利用异类识别网络降低甚至消除多模态特征中受到对抗攻击干扰的模态特征对最终恶意软件预测的影响, 从而提高其抵御对抗攻击的鲁棒性. 实验结果表明, 所提出的RMDroid在5项有效性指标和1项鲁棒性指标上均优于所有基线检测方法. 特别的, 在误报率FPR相同的情况下, RMDroid的检出率TPR比最好的基线检测方法的检出率TPR高出10%以上; 并且针对最先进的HRAT攻击, RMDroid的鲁棒性值高达96%以上, 显著高于MaMaDroid和MalScan基线检测方法的鲁棒性值.
    优先出版日期:  2025-12-10 , DOI: 10.13328/j.cnki.jos.007508
    摘要:
    随着大语言模型(LLM)技术的迅速发展, 涌现了众多代码大模型(Code LLM), 以支持代码生成、代码补全、代码测试和代码重构等任务. 不同模型在处理相同任务时可能表现出显著的性能差异, 且推理阶段的解码参数也会对模型性能产生重要影响. 研究如何为特定代码开发任务高效地选择最佳模型及其最优解码参数. 现有方法通常将模型选择和参数调优分为两个独立阶段, 由于不同阶段的采样策略差异导致无法共享样本数据, 采样与评估计算成本较高. 考虑到不同代码大模型解码参数空间相同, 提出利用倾向评分匹配(PSM)算法加权调整和对齐不同分布的样本数据, 以提高样本数据复用效率、降低计算成本. 由此提出了一个基于样本重用的代码大模型选择与解码参数调优框架CodeLLMTuner. 该框架包含3个阶段: (1)独立采样阶段, 对多个代码大模型并行执行解码参数调优(如贝叶斯优化)并进行数据采样与评估以收集样本数据; (2)模型选择阶段, 利用PSM技术对齐不同模型的样本数据, 从中选出性能期望最优的模型; (3)获选模型的解码参数调优阶段, 复用获选模型的样本数据, 并在其基础上继续进行解码参数调优, 以全面探索性能空间并显著降低采样成本. 实验结果表明, 在代码生成、代码摘要和测试用例生成这3项任务上, CodeLLMTuner相比基线方法在相同成本下性能提升10%–15%, 或在达到相同性能下成本降低超过20%.
    优先出版日期:  2025-12-03 , DOI: 10.13328/j.cnki.jos.007494
    [摘要] (63) [HTML] (0) [PDF 4.11 M] (1346)
    摘要:
    图像去模糊因其在安防监控、医学影像处理、遥感图像处理等领域的广泛应用而备受关注. 尽管基于端到端的方法已经取得了巨大的进步, 但单一的U-Net网络难以处理复杂的运动模糊, 而基于辅助任务的恢复方式往往存在参数量大的问题. 此外, 绝大多数方法均无法实现对不同图像模糊位置和模糊程度的精确识别, 而模糊感知往往是决定模型恢复性能的关键因素之一. 受此启发, 提出一种模糊感知引导的渐进图像去模糊算法(progressive image deblurring guided by blur perception, PDBP-Net), 该算法的主要思想是利用辅助任务来生成模糊感知特征图从而引导算法实现更精细的恢复. 首先, 高频差异与图像残差生成子网络(high frequency difference and image residual generative subnetwork, HDIRG-net)采用辅助学习的方式同时生成高频差异特征图和残差图; 然后, 将两者输入高频差异引导的模糊感知模块(blur perception module guided by high-frequency differences, BPGHD)深入融合并提取模糊信息, 从而生成模糊感知特征图. 此外, 为了缓解单网络对复杂场景难恢复的问题, 本模块利用残差图和模糊图生成初步恢复图; 最后, 模糊感知指导的细节恢复子网络(blur perception guided detail restoration subnetwork, BPGDR-net)在模糊感知特征图的指导下对初步恢复图进行有针对性的再优化, 从而生成最终的恢复图. 提出的去模糊模型在多个基准数据集上进行了广泛的评估, 并且与最先进的去模糊方法相比, 取得了显著的优势. 特别地, 在GoPro数据集上, 峰值信噪比(PSNR)和结构相似性(SSIM)值达到了33.85 dB和0.967, 其中PSNR指标高于第2名0.39 dB. 大量实验表明, PDBP-Net优于最先进的辅助学习方法, 并显著提升了图像去模糊的性能, 印证了所提方法的有效性.
    优先出版日期:  2025-12-03 , DOI: 10.13328/j.cnki.jos.007479
    摘要:
    随着区块链技术及应用的不断发展, 人们对区块链之间的交互需求日益增加. 然而, 不同区块链系统之间缺乏有效的互操作性, 限制了区块链技术的进一步发展. 为解决区块链异构互联互通问题, 跨链技术应运而生, 并迅速成为新的研究热点. 其中, 跨链消息传递(XCMP)协议作为最流行的跨链通信协议之一, 不仅提供了一个安全高效的跨链通信机制, 还为未来的区块链创新和应用提供了广阔的平台. 然而, XCMP协议仍然处于不断发展和完善的阶段, 面临着重放攻击、拒绝服务攻击、延迟攻击等安全问题. 对XCMP协议进行了形式化验证与改进, 旨在为在其基础上构建更安全、功能更丰富的去中心化应用提供坚实支撑. 首先, 利用一种以经典集合论和一阶谓词逻辑为基础的形式化描述语言——Z语言, 对XCMP协议的10条关键安全目标、协议内容进行总结提炼与形式化建模, 并借助支持Z语言的自动化验证工具Z/EVES验证XCMP协议是否满足安全目标. 验证结果表明XCMP协议未满足3条安全目标. 其次, 通过对验证结果进行全面分析, 针对XCMP协议未满足的安全目标, 引入承诺机制、监督机制和轮询机制, 提出了E-XCMP (enhanced cross-chain message passing)协议. 最后, 将E-XCMP协议形式化建模, 并借助安全协议分析工具Scyther和自动化验证工具Z/EVES对其安全性和可靠性进行评估, 评估结果表明E-XCMP协议不仅满足上述未满足要求的3条安全目标, 并且能够有效解决重放攻击、拒绝服务攻击、延迟攻击等安全问题, 具有较好的安全性和可靠性.
    优先出版日期:  2025-12-03 , DOI: 10.13328/j.cnki.jos.007462
    [摘要] (125) [HTML] (0) [PDF 1.81 M] (312)
    摘要:
    以大语言模型(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方法应用到CodeLlama和CodeGen系列模型, 相较前沿的KD及RKD方法的精度损失平均降低19.2%, 证明了AKD方法的泛化能力.
    优先出版日期:  2025-11-26 , DOI: 10.13328/j.cnki.jos.007503
    摘要:
    遗忘学习在隐私保护、减少污染数据影响和冗余数据处理等方面具有重要应用价值, 但现有的遗忘学习方法多用于神经网络等黑箱模型中, 在可解释的TSK模糊分类系统中实现高效的单类和多类遗忘仍面临挑战. 为此, 提出了一种面向分类的TSK模糊遗忘学习方法(TSK-FUC). 首先, 通过各规则的前件参数在(单类或多类)遗忘数据上的归一化激活强度, 将规则库划分为与遗忘数据高相关的删减规则集、与遗忘数据低相关的保留规则集以及与遗忘数据和保留数据关系较为重叠的更新规则集. 继而采取差异化处理策略: 直接剔除删减规则集, 以消除主要信息残留, 并降低分类系统参数量; 完整保存保留规则集, 以缩小遗忘学习过程的参数调整范围; 对于更新规则集, 通过为每个遗忘类添加噪声, 用以进一步消除规则中关于遗忘数据的信息, 从而实现单类和多类遗忘. 实验结果表明, 在16个真实数据集的已建好的0阶和1阶TSK分类系统上, TSK-FUC能够较为准确地划分规则空间, 并结合差异化的处理展现出良好的单类和多类遗忘效果. 该方法在保持规则库可解释性的同时, 使得遗忘学习后的TSK模糊分类系统在结构上更加轻量化.
    优先出版日期:  2025-11-26 , DOI: 10.13328/j.cnki.jos.007505
    [摘要] (61) [HTML] (0) [PDF 2.55 M] (1194)
    摘要:
    HTAP数据库在一套系统中同时支持OLTP和OLAP工作负载. 其中工作负载的识别是查询执行中路由分发的关键, 只有准确识别出查询属于OLTP或OLAP, 才能对查询进行合理优化和分配资源. 因此, 准确识别工作负载类型是HTAP数据库性能的关键因素之一. 然而, 现有的负载识别方法主要基于SQL语句中的规则和成本代价, 以及传统机器学习的方法来区分工作负载. 这些方法没有考虑查询语句的自身特点, 也没有利用执行计划的结构信息, 影响识别工作负载的准确率. 为了提高负载识别的准确性, 提出了一种智能识别OLTP和OLAP工作负载的方法, 该方法通过对SQL语句和执行计划进行特征提取和特征编码, 基于BERT构建SQL语句编码器, 结合树卷积神经网络和注意力机制构建执行计划的编码器, 两种特征融合构建分类器, 该模型能够智能识别HTAP混合负载中的工作负载. 通过实验验证, 模型可以准确识别OLTP和OLAP工作负载, 具有较高的识别准确率. 同时, 在多种数据集中验证了模型的鲁棒性, 并将模型集成到TiDB数据库中验证了其对数据库性能的提升.
    优先出版日期:  2025-11-26 , DOI: 10.13328/j.cnki.jos.007511
    [摘要] (149) [HTML] (0) [PDF 16.15 M] (1382)
    摘要:
    随着深度学习技术和扩散模型的快速发展, 图像及视频生成模型展示了高质量、多样化的强大生成能力. 如何利用这些模型实现高效、精准的个性化生成成为当前研究的热点. 个性化图像生成方法能够通过结合文本描述和用户提供的特定概念或主体, 实现定制化图像的生成, 满足用户对个性化视觉内容的多样化需求. 综述基于扩散模型的个性化图像生成方法, 从生成目标的角度将现有方法分为单主体驱动生成和多概念组合生成两类, 前者聚焦于根据单一主体生成定制化图像, 重点研究如何精确捕捉和重建主体的视觉特征, 后者则专注于将多个概念或主体融合到同一图像中, 解决跨概念语义对齐和视觉一致性等问题. 结合具体任务和应用场景, 对个性化生成代表性工作进行了详细分析. 此外, 比较和总结了常用的数据集、生成模型的评估方法和个性化生成方法间的性能对比, 进一步探讨了个性化生成方法在实际应用中面临的挑战及未来发展方向, 对研究趋势进行了展望. 旨在为相关领域的研究者提供全面的参考, 推动个性化生成方法的发展与创新.
    优先出版日期:  2025-11-20 , DOI: 10.13328/j.cnki.jos.007501
    摘要:
    随着高铁无线通信质量需求日益增长, 高速移动场景下的通信可靠性已成为高铁无线通信中亟需关注和解决的核心问题. 构建可靠的信道模型是解决这一问题的关键. 高铁复合无线通信信道建模应充分考虑实际运行环境与信道传播特性, 以构建通用性强且可靠性高的无线通信信道模型. 在复杂无线信道建模方面, 形式化方法凭借其严谨的数学建模与严格的逻辑推理能力展现出显著优势. 在高架桥这一典型的高铁通信场景中, 结合形式化验证方法, 提出一种基于小尺度衰落模型的复合无线通信信道的高阶逻辑模型. 针对复合信道的长尾分布特性, 运用定理证明技术验证了复合无线通信信道的概率密度函数符合第2类修正Bessel函数的分布.
    优先出版日期:  2025-11-05 , DOI: 10.13328/j.cnki.jos.007460
    [摘要] (86) [HTML] (95) [PDF 3.36 M] (1378)
    摘要:
    聚焦于教学视频(instructional videos)中的操作规划(procedure planning)问题, 探讨如何根据给定的开始和结束视觉状态, 在教学视频提供的动作空间中规划出一条将开始状态转变为结束状态的动作序列. 教学视频以记录和展示各种事件的操作过程为特点, 每个事件对应一组特定动作, 从而形成事件的动作空间. 多个事件的动作空间共同构成了教学视频的整体动作空间. 传统方法未能充分挖掘事件的语义信息, 过于依赖强化学习等复杂训练方法, 既增加了算法设计的复杂性, 又导致模型的可解释性较差. 针对这些问题, 结合教学视频的特点, 提出了一种基于分类检索的操作规划方法CPP (classification-based retrieval procedure planner), 分阶段解决操作规划任务. 具体而言, 该方法首先通过视觉状态识别事件类别, 将动作空间限定在一个较小的子空间内, 显著降低规划的复杂性; 随后, 在该子空间中进行动作序列的规划. 此外, 提出了一种混合规划策略, 将动作序列的检索与预测相结合, 进一步提升了规划性能. 实验结果表明, 方法在3个不同规模的教学视频数据集上均取得了显著效果, 为操作规划任务提供了一种简单而高效的基准方法.
    优先出版日期:  2025-11-05 , DOI: 10.13328/j.cnki.jos.007489
    [摘要] (171) [HTML] (95) [PDF 1.36 M] (247)
    摘要:
    命题可满足性问题(SAT)和可满足性模理论问题(SMT)是重要的计算机科学基础问题, 其在电路设计, 软件分析验证等领域都有着重要应用, 并且目前已有大量工作对其求解技术进行研究. 在实际应用场景中, SAT/SMT求解器通常需要求解一系列互相紧密联系的公式. 相比于每次都调用独立的求解器重新求解, 增量求解技术可以复用之前搜索得到的信息, 包括之前的求解结果以及学习子句等, 从而有效提高了求解效率. 目前, 增量SAT/SMT求解已经受到广泛重视与研究, 并成功应用于有界模型检测, 符号执行, 最大可满足性问题等领域中. 对增量SAT/SMT的求解技术进行详细综述与梳理, 涵盖了完备与非完备算法. 此外, 详细总结增量SAT/SMT求解技术在实际场景中的主要应用. 最后, 对该领域的发展方向进行总结和展望.
    优先出版日期:  2025-11-05 , DOI: 10.13328/j.cnki.jos.007484
    [摘要] (103) [HTML] (124) [PDF 3.71 M] (297)
    摘要:
    软件配置是软件系统的重要组成部分, 在增强软件功能多样性和灵活性方面具有重要作用. 而随着软件系统越来越复杂, 软件配置项之间复杂的约束关系成为困扰运维人员的问题. 因此研究人员提出了基于不同数据源、使用不同技术的配置约束提取方法, 来识别软件配置之间的复杂约束关系. 然而, 这些方法存在难以应用于多种编程语言、分析规模有限、对高质量有标注数据需求大等多种问题, 针对上述问题提出了一种基于大语言模型的配置间约束提取方法LLM-Extractor. 该方法包括了配置-功能关联图构建和基于多配置关联子图的配置约束推断两个部分. 在配置-功能关联图构建阶段, LLM-Extractor借助大语言模型强大的文本理解和分析能力, 从配置文本中识别配置和软件功能相关的实体, 并抽取多种关联关系. 在配置间约束推断部分, LLM-Extractor在已有配置-功能关联图上搜索多配置关联子图, 并依据关联子图信息引导大语言模型推断配置间约束. 基于多配置关联子图的配置间约束推断方法让LLM-Extractor能够提取通过软件功能状态传递的配置约束, 填补了已有方法的空缺, 同时具有对编程语言不敏感、分析规模大的特点. 在3个开源软件系统的配置文档上评估了方法的效果, 分析了超过1400个软件配置项, 实验结果表明, LLM-Extarctor的效果相对已有的文本分析方法具有显著提高, F1分数有至少43.4%的提升. 消融实验的实验结果进一步表明, 多配置关联子图对于配置间约束推断方法的效果具有重要的积极影响.
    优先出版日期:  2025-11-05 , DOI: 10.13328/j.cnki.jos.007485
    [摘要] (96) [HTML] (86) [PDF 1.51 M] (384)
    摘要:
    近年来, 许多研究提出利用共识机制增强网络层安全性. 然而, 现有共识机制存在密钥维护数量多、信任关系传递不灵活和节点身份验证开销大等局限, 难以满足网络层功能的性能需求. 为解决这些问题, 提出一种基于真实源地址验证技术的轻量共识框架. 该框架在多个层次上优化共识效率: 首先, 针对同一地址域内的共识节点, 该框架利用真实地址作为身份识别标志, 通过域内节点共享同一密钥的方式实现密钥聚合, 从而大幅降低所需维护的密钥数量; 其次, 在地址域的粒度上, 该框架构建以真实地址为信任基础的网络信任联盟, 基于前缀树聚合可信地址域, 从而在实现灵活信任传递的同时, 进一步降低所需维护的密钥数量; 最后, 在节点层面, 针对传统共识节点身份验证开销大的问题, 该框架设计基于真实地址和对称密钥的分步验证机制, 从而有效降低共识开销, 实现共识过程轻量化. 仿真实验证明, 所提出的轻量共识框架与基于ECDSA身份验证的共识机制相比, 平均可提升70%共识吞吐量并降低40%共识计算开销, 显著提升了共识效率.
    优先出版日期:  2025-11-05 , DOI: 10.13328/j.cnki.jos.007510
    [摘要] (95) [HTML] (124) [PDF 1.95 M] (1310)
    摘要:
    在现代软件开发中, 频繁的代码提交和更新已成为常态, 虽然加速了功能实现, 但更可能会引入新的缺陷, 进而威胁软件的稳定性和可靠性. 一旦缺陷导致程序错误或故障, 开发团队必须迅速采取行动隔离缺陷以确保系统持续正常运行. 缺陷隔离是快速定位问题并恢复系统稳定性的关键技术手段, 但传统的增量调试(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在提高缺陷隔离精度的同时减少了不必要的变更组合尝试, 从而在复杂代码提交的缺陷隔离任务中表现出更高的效率和稳定性.
    优先出版日期:  2025-11-05 , DOI: 10.13328/j.cnki.jos.007456
    [摘要] (107) [HTML] (117) [PDF 2.91 M] (250)
    摘要:
    UML活动图是软件需求分析的重要工具. 实现由需求文本生成UML活动图流程的自动化有助于缩短软件开发时间, 降低人力成本. 现有的UML活动图自动生成方法通过人工编写或数据驱动的方式来构建规则, 从需求文本中提取活动图图元素及其关系. 然而, 这些方法通常只考虑到需求文本的语法特征, 忽略了需求文本的语义特征, 导致自动生成的UML活动图中可能出现图元素错误或冗余. 因此, 提出一种融合中文需求文本语义特征的UML活动图自动生成方法. 该方法结合需求文本与UML活动图的相关性、需求文本的时序性提取UML活动图图元素及其关系, 弥补了现有方法易受需求文本中无关信息干扰、难以正确识别并表示多种类型业务活动的缺陷. 在100个工业界实际应用案例上的消融和对比实验结果验证了该方法在UML活动图的完整性、正确性和冗余性方面较其他主流方法的优越性.
    优先出版日期:  2025-10-29 , DOI: 10.13328/j.cnki.jos.007435
    [摘要] (161) [HTML] (0) [PDF 1.11 M] (1369)
    摘要:
    政务问答系统能实时处理政务咨询, 在降低人工咨询压力的同时提高了企业和群众的办事效率. 政务问答系统的服务场景多样且重视回答表述的准确规范, 现有方法或基于预设知识库产生回答, 或基于规模有限的语言模型生成回答, 均无法在多服务场景下有效理解咨询并生成准确且可解释的可信回答. 为此, 提出一种基于大语言模型的政务问答技术以实现可信政务回答. 所提方法以政务大语言模型为内容理解和生成的核心模块并由分析引导模块和领域知识库模块辅助. 政务大语言模型生成咨询回答时参考分析引导模块提供的咨询分析结果和领域知识库模块提供的咨询相关领域知识, 并针对咨询生成内容表述与事实一致的准确回答. 生成回答时参考的信息可作为回答依据提升回答的可解释性. 为构建方法涉及的相关模块并测试其有效性, 收集并整理了一个包含多层次多粒度政务公开信息的综合性数据集, 其中包含1901篇文档和10503条问答对数据. 最后, 通过实验分析验证了基于该方法实现的原型系统能在多服务场景下针对用户咨询生成表述准确且可解释的可信咨询回答.
    优先出版日期:  2025-10-29 , DOI: 10.13328/j.cnki.jos.007483
    摘要:
    移动对象的来源丰富、获取简单、运动频繁, 导致数据量呈现爆发式增长, 高效管理移动对象数据的需求日益增加, 使得移动对象数据的索引及查询成为亟待解决的热点问题. 传统的移动对象索引基于空间划分, 能够有效地处理对象的空间位置和时间变化, 但由于移动对象的动态特性需要频繁更新索引, 在对象数量庞大时会导致维护成本显著增加. 学习索引作为新型索引技术, 可以运用机器学习方法提高查询效率, 降低存储成本, 但学习索引并不适用于具有多维特性的移动对象数据. 为此, 提出了一种基于非均匀网格降维的学习索引NUGC_LI, 使用类似B+树的递归层次模型结构. 该学习索引分为根节点、内部节点和叶子节点这3个部分, 使用多阶段线性模型对灵活划分后的数据分布进行拟合学习, 并在叶子节点中设置有空隙的数组和节点关键值范围, 提高节点更新和查询效率. 同时, 对真实出租车轨迹、系统仿真火车轨迹和随机生成轨迹数据集分别建立了B+树、RMI、ALEX、NUGC_LI、3DR树与TB树索引. 真实数据集、仿真数据集和随机数据集中涉及的轨迹点分别约917000个、51544个和5222752个. 通过对比实验与伸缩性测试, 在索引构建上, NUGC_LI相较于TB树、3DR树、B+树、RMI和ALEX分别降低了约91.45%、89.63%、90.38%、87.46%及13.71%的构建时间; 在更新操作上, 其更新时间降低至少93.76%. 基于NUGC_LI的范围查询、最近邻查询和相似轨迹查询在大数据量条件下均显示出显著优势, 查询时间分别至少比ALEX降低8.74%、30%和16.07%; 比RMI降低29.38%、77.44%和25.24%; 比B+树降低52.72%、92.44%和70.5%; 比3DR树降低53.09%、91.2%和67.58%; 比TB树降低52.67%、90.43%和67.47%. NUGC_LI索引在多任务负载下不仅具备较高的扩展性, 而且在构建、更新以及查询操作中均实现了显著的性能提升.
    优先出版日期:  2025-10-29 , DOI: 10.13328/j.cnki.jos.007457
    [摘要] (102) [HTML] (0) [PDF 1.24 M] (1025)
    摘要:
    差分-线性分析是的一种组合类分析方法, 已经被应用于许多对称密码的分析中. 特别地, 对于ARX类分组密码算法SPECK, 差分-线性分析是评估其安全性的一种强有力的方式. 在最新的差分-线性分析框架中, 密码算法被分解为3部分: 差分部分、中间部分和线性部分, 其中差分部分、中间部分和线性部分分别包含高概率的差分特征, 高相关性的差分-线性逼近和高相关性的线性逼近, 组合3部分特征可以得到一个完整的差分-线性区分器. 对于ARX类对称密码算法, 在传统的差分-线性区分器的搜索过程中, 通常是首先借助实验方法来计算得到中间部分一个高相关性的差分-线性逼近, 然后再分别向前向后搜索线性特征和差分特征, 但是该策略容易忽视掉一些好的差分-线性区分器. 区别于传统的搜索算法, 该算法结合高相关性的差分-线性逼近中差分部分和线性部分的特点, 从高概率的差分特征和线性特征出发, 给出一个差分-线性区分器搜索算法. 将所提搜索算法应用于SPECK中, 首次得到SPECK32的11轮差分-线性区分器和SPECK48的12轮差分-线性区分器. 所提区分器都优于SPECK32和SPECK48目前已知最好的差分-线性区分器.
    优先出版日期:  2025-10-29 , DOI: 10.13328/j.cnki.jos.007492
    [摘要] (68) [HTML] (151) [PDF 1.39 M] (739)
    摘要:
    临床12导联心电图(ECG)是测试心脏活动最常用的信号源, 其自动分类及可解释性对心血管疾病的早期筛查和诊断至关重要. 现有的ECG分类研究多集中于单标记分类, 即每条心电记录仅对应一种心功能障碍, 而在临床中, 心血管疾病患者常常伴有多种并发心脏疾病, 因此多标记ECG分类任务更符合现实需求. 现有基于深度网络的多标记ECG分类方法主要聚焦于标记相关性分析或神经网络架构的改进, 而忽略了多标记学习中的本质问题, 即天然存在的正负标记不平衡. 为此, 提出一种策略, 即每次仅推开一对标记使得正负标记在训练过程中维持平衡. 具体而言, 最大化正负标记之间的间隔并由此导出一个新的损失函数, 以缓解正负标记不平衡问题. 此外, 针对现有ECG方法可解释性不足, 难以辅助诊断的问题, 引入时域显著性重缩放方法对提出方法的实验结果进行可视化展示, 以辅助定位并解释不同的疾病. 在PhysioNet Challenge 2021 ECG标准数据集上(包含8个子集)进行实验, 结果表明与最先进的多标记ECG分类方法相比, 所提方法取得了更优的性能.
    优先出版日期:  2025-10-29 , DOI: 10.13328/j.cnki.jos.007477
    [摘要] (89) [HTML] (301) [PDF 1.10 M] (1013)
    摘要:
    随着鸿蒙生态系统的快速发展, 鸿蒙应用的安全问题逐渐成为研究重点. 在安卓领域, 已有多种成熟的静态分析框架广泛应用于安全检测任务. 然而, 针对鸿蒙应用的静态分析框架尚处于初步发展阶段. OpenHarmony社区正在基于鸿蒙应用ArkTS源代码开展静态分析, 但在实际的安全检测任务中, 应用源代码往往难以获取, 限制了其适用范围. 为缓解上述问题, 提出一种基于方舟中间表示(Panda IR)的鸿蒙应用静态分析框架. 该框架提供方舟Panda IR的基本信息接口, 设计适应ArkTS语法特性的字段敏感指针分析算法, 并实现与指针分析交互的拓展分析接口. 具体来说, 对Panda IR中的318条指令进行语义分类和处理, 进一步定制化设计指针流图. 为了支持ArkTS语法特性, 新增指向集合传播规则, 对特殊调用的相关语义进行准确建模. 此外, 基于指针分析结果优化过程间数据依赖关系并提供别名分析能力. 从ArkTS语法特性覆盖性, 指针分析精度和指针分析速度这3个方面对HarmonyFlow进行实验评估. 实验结果表明, HarmonyFlow可以正确处理ArkTS的关键语法, 在9个开源鸿蒙应用上调用边识别的精确率和召回率分别为98.33%和92.22%, 在35个真实鸿蒙应用上的平均运行时间为96 s.
    优先出版日期:  2025-10-29 , DOI: 10.13328/j.cnki.jos.007488
    [摘要] (69) [HTML] (306) [PDF 1.85 M] (531)
    摘要:
    随着编译技术的不断进步, 现代编译器支持了更为丰富的编程模型和复杂的编译优化, 使得手动调整编译选项以获得最佳性能变得非常困难. 尽管已有多种自动化的编译调优方法被提出, 但是面对庞大的搜索空间, 传统的启发式搜索算法很难避免陷入局部最优解. 同时, 现有调优方法主要针对单核或多核架构设计, 这限制了它们在大规模并行计算系统中的应用. 为了解决这些问题, 设计并实现基于机器学习方法的分布式编译调优框架SWTuner, 通过引入AUC-Bandit分布式元搜索策略、机器学习模型指导的性能预测以及基于SHAP的编译选项分析及筛选等技术手段, 有效提升了编译调优过程中的资源利用率和搜索效率. 实验结果显示, SWTuner在神威新一代超级计算机上对典型测试用例的调优中表现出色, 相较于其他调优方法, 其不仅缩短了搜索时间, 还能够显著降低搜索过程中的实际运行功耗. 在调优过程中, SWTuner所使用的随机森林模型显示出了良好的泛化能力和预测准确性, 并且在保证调优效果的前提下有效降低了搜索空间的维度, 为高性能计算中的自动编译调优提供了一个高效且可靠的解决方案.
    优先出版日期:  2025-10-29 , DOI: 10.13328/j.cnki.jos.007491
    [摘要] (95) [HTML] (445) [PDF 4.12 M] (275)
    摘要:
    随着计算机视觉技术的不断进步, 细粒度图像识别在众多应用领域中发挥着重要作用. 与传统的粗粒度图像识别不同, 细粒度图像识别着重于在同一大类别下对具有细微视觉差异的子类别进行精确划分, 因此该任务更具有挑战性. 近年来, 视觉Transformer以其在全局上下文信息建模方面的出色表现而被广泛应用于图像识别领域. 然而, 当应用于细粒度图像识别任务时, 视觉Transformer在处理细节特征和背景噪声方面却存在一定的局限性. 针对上述问题, 提出一种基于视觉Transformer的双视图融合识别框架, 有效融合细粒度图像的全局视图与局部视图以提升识别准确率. 该框架设计了一个基于注意力融合的冗余信息过滤模块, 在编码器内部通过层级注意力权重的融合筛选图像块特征, 以优化全局视图的分类标记嵌入. 同时, 还设计了一个基于注意力阈值的关键区域定位模块, 通过自适应阈值策略动态选定并放大全局视图中的关键区域, 形成细致的局部视图以供再次分析. 此外, 所提出的局部区域特征自适应增强模块进一步增强了对局部细节的关注, 有效提升了细粒度特征的辨识能力. 为优化此双视图融合框架, 提出了基于双视图相似度的对比损失函数和基于双视图置信度的自适应推理策略, 旨在增强视觉Transformer模型输出的全局与局部特征辨识性, 同时有效节约计算资源并缩短推理时间. 在CUB-200-2011、Stanford Dogs、NABirds和iNaturalist2017这4个公共数据集上的实验结果表明, 该方法相较于传统视觉Transformer模型在识别准确率上实现了显著提升, 展示了其在细粒度图像识别任务中的有效性和优越性.
    优先出版日期:  2025-10-29 , DOI: 10.13328/j.cnki.jos.007487
    [摘要] (90) [HTML] (399) [PDF 2.85 M] (1012)
    摘要:
    现有静态恶意软件相似性度量方法受到静态免杀技术影响, 模型使用的特征易被混淆或者恶意软件语义未被充分挖掘. 提出一种基于异质图匹配网络的恶意软件相似性度量方法HGMSim (heterogeneous graph matching network-based similarity)解决上述问题, 该方法首先利用反汇编工具IDA Pro提取恶意软件的函数调用图, 将函数调用图抽象为异质图, 充分挖掘函数调用图中不同类型函数节点和函数调用关系的异质语义. 同时, 为了挖掘不同函数调用图节点之间的隐式邻居语义, 对两个函数调用图中相似的同类型函数节点建立跨图边, 构建异质图匹配网络. 然后, 提出基于局部点图匹配的异质图嵌入方法并实现恶意软件相似性度量, 解决现有方法对不同家族之间图结构高度相似恶意软件难区分的问题. 最后, 通过对比实验验证HGMSim在恶意软件相似性度量方面具有最佳的性能表现.
    优先出版日期:  2025-09-28 , DOI: 10.13328/j.cnki.jos.007474
    [摘要] (153) [HTML] (1103) [PDF 2.76 M] (758)
    摘要:
    GitHub是目前最流行的开源项目管理平台之一. 由于团队协作的需要, GitHub引入了问题报告跟踪功能方便项目使用者提交和追踪项目中出现的问题或新功能请求. 问题报告贡献者在解决问题报告时, 通常需要执行故障复现测试用例来复现问题报告中提到的问题并验证问题报告是否解决. 然而, 在SWE-bench Lite数据集上进行实证研究发现, 有近90%的问题报告在用户提交时没有附带故障复现测试用例, 这导致问题报告贡献者在解决问题报告时还需额外编写故障复现测试用例, 带来了额外的工作负担. 现有的故障复现测试用例生成技术通常依赖错误栈信息, 然而GitHub问题报告中并未明确要求有这类信息. 因此, 提出基于大语言模型的故障复现测试用例生成方法, 旨在自动化地为GitHub问题报告生成故障复现测试用例, 帮助问题报告贡献者复现、理解并验证问题报告, 提升问题报告解决效率. 该方法首先通过检索与问题报告相关的多样化代码上下文信息, 包括报错根函数、import语句和测试用例样本, 随后构建精确的prompt, 以引导大语言模型生成有效的故障复现测试用例. 开展对比实验和消融实验, 验证所提方法在面向GitHub问题报告的故障复现测试用例生成任务上的有效性.
    优先出版日期:  2025-09-28 , DOI: 10.13328/j.cnki.jos.007475
    [摘要] (158) [HTML] (0) [PDF 1.23 M] (351)
    摘要:
    针对隐私保护卷积神经网络预测, 先前的研究采用同态加密、安全多方计算等方法来保护客户端隐私敏感数据. 然而, 这些方法通常面临预测时间开销过大的问题. 为了解决此问题, 提出一个高效的隐私保护卷积神经网络预测方案. 该方案根据卷积神经网络中线性层和非线性层不同计算特点, 设计矩阵分解计算协议和参数化二次多项式近似ReLU激活函数方法, 从而实现了线性层和非线性层高效安全计算, 并缓解了近似处理而导致的预测准确率损失. 在线性层和非线性层中的计算都可以通过轻量级密码原语秘密分享来完成. 理论分析和实验结果表明, 在保证安全性前提下, 所提方案将预测速度提高了2–15倍, 同时预测准确率损失仅约为2%.
    优先出版日期:  2025-09-28 , DOI: 10.13328/j.cnki.jos.007476
    [摘要] (134) [HTML] (290) [PDF 900.19 K] (1375)
    摘要:
    黑盒漏洞扫描器是用于Web应用漏洞检测的重要辅助工具, 能够在Web应用正式上线前有效识别潜在的安全威胁, 从而提升Web应用的整体安全性. 当前大多数黑盒扫描器主要通过模拟用户操作和正则匹配来收集攻击面. 然而, 模拟用户操作容易被输入验证机制拦截, 且难以处理复杂的事件操作, 而正则匹配方法无法有效处理动态内容. 这导致扫描器难以有效处理JavaScript代码中的隐藏攻击面和动态生成的攻击面, 使其在部分Web应用中漏洞检测效果不佳. 为解决上述问题, 提出一种基于JavaScript代码分析的漏洞扫描器增强框架JSEScan. 该框架结合静态与动态代码分析技术, 绕过表单验证和事件触发的限制, 通过提取JavaScript代码中攻击面的特征, 实现JavaScript代码中攻击面的挖掘, 并且攻击面将被同步至多种扫描器, 从而增强其漏洞检测能力. 实验结果表明, JSEScan能将单个扫描器的代码覆盖量提高81.02%–242.15%, 并且相比于多扫描器同时工作的情况, 额外发现239个安全漏洞, 具备更强的攻击面收集能力和漏洞检测能力.
    优先出版日期:  2025-09-17 , DOI: 10.13328/j.cnki.jos.007471
    [摘要] (1258) [HTML] (247) [PDF 2.02 M] (1458)
    摘要:
    自动驾驶系统的安全性对于自动驾驶汽车在现实世界中的实施非常重要. 因此, 自动驾驶系统在公开发布和部署之前必须进行充分的评估. 如何生成多样化的安全关键测试场景是自动驾驶系统测试的关键任务. 现有的自动驾驶系统关键场景生成方法, 包括再现现实世界的交通事故和基于搜索的关键场景生成. 然而, 前者由于自动驾驶与人类驾驶存在鸿沟, 现实世界交通事故大多无法发现自动驾驶系统的问题; 后者由于传统搜索算法的局限性, 发现的问题相似度较高. 此外, 由于测试场景的空间非常庞大, 二者生成关键场景的效率较低. 为了解决上述问题, 提出LEADE, 一种基于道路网络建模的自动驾驶系统安全关键场景生成和自适应演化方法. 具体来说, 它根据用户的测试需求构建抽象场景, 并通过道路网络建模生成具体场景. 然后, LEADE采用改进的自适应进化搜索来生成各种安全关键场景来测试自动驾驶系统. 在工业级全栈自动驾驶系统平台百度Apollo上实施和评估LEADE. 实验结果表明, LEADE可以有效和高效地生成安全关键场景, 并揭露Apollo的10种不同安全违背行为. 它通过识别同一道路上的4种新型安全关键场景, 优于两种最先进的基于搜索的自动驾驶系统测试技术.
    优先出版日期:  2025-09-17 , DOI: 10.13328/j.cnki.jos.007453
    [摘要] (204) [HTML] (124) [PDF 2.12 M] (850)
    摘要:
    关键类是理解复杂软件的极佳起点, 不仅有助于优化软件的文档化过程, 也有助于压缩逆向工程得到的类图. 尽管目前已经提出了很多有效的关键类识别方法, 但普遍存在3点不足: 1)现有工作所依赖的软件网络(由软件元素及其依赖构建的图)不可避免地会包含软件运行时永远不会(或极少)被执行到的软件元素; 2)基于动态分析构建的软件网络往往不够完整, 会遗漏真正的关键类; 3)现有工作通常只考虑类之间的直接耦合对类重要性的影响, 而忽视类之间的间接(非接触)耦合及邻居节点度分布的多样性对类重要性的影响. 有鉴于此, 提出一种融合动态分析和引力公式的关键类识别方法. 首先, 使用静态分析技术构建面向对象软件的类依赖网络CCN (class coupling network), 以抽象类及类之间的耦合关系. 其次, 综合考虑CCN中类之间“直接和间接的耦合”“邻居节点度分布的多样性”等对类重要性的影响, 构建引力熵GEN (gravitational entropy)度量指标以量化类的重要性. 然后, 按照类的GEN值对所有类进行降序排列, 从而得到初步的排序结果. 最后, 通过动态分析技术收集运行时类之间真实的交互关系, 进而对初步排序的结果进行优化, 并通过设定阈值来过滤非关键类, 从而得到候选的关键类. 8个开源Java软件上的实验结果表明: 1) 在检查不超过前15% (或top-25)的节点时, 所提出的方法从整体上而言均显著优于其他11种对比方法; 2)使用动态分析对结果进行优化, 有助于显著提升所提出方法的性能; 3)耦合类型的不同赋权方式对所提出方法的性能没有显著影响; 4)所提出的方法在运行效率上是可以接受的.
    优先出版日期:  2025-09-10 , DOI: 10.13328/j.cnki.jos.007458
    [摘要] (166) [HTML] (164) [PDF 1.41 M] (1458)
    摘要:
    错误定位是软件维护过程中的关键环节, 如何提升自动化故障定位的有效性和效率是软件工程领域的研究焦点之一. 随着开源软件数量激增且软件热更新需求增多, 面向变更集的自动化错误定位成为软件质量保障的重要手段. 传统基于信息检索的错误定位方法只能表征自身文本信息, 未能充分考虑变更集中的结构和语义变化, 无法直接应用于变更集的错误定位任务. 因此, 提出一种基于图Transformer的变更集错误定位方法, 使用基于变更信息抽象语法树表征代码结构变化信息, 并从局部和全局角度表征变更代码和错误报告的语义信息, 进而实现变更集中错误信息的匹配和定位. 为验证方法的有效性, 对来自6个错误诱发变更集的错误报告和变更进行测试, 与最先进模型相比, MAPMRR指标分别提升11.4%和12.9%, 证明了提出方法的有效性.
    优先出版日期:  2025-09-10 , DOI: 10.13328/j.cnki.jos.007468
    [摘要] (128) [HTML] (177) [PDF 1.39 M] (380)
    摘要:
    Android应用开发人员需要快速、准确地复现错误报告以保障应用质量. 然而, 现有方法通常仅依赖堆栈跟踪中提供的崩溃信息生成事件序列, 难以准确定位崩溃页面, 无法为动态探索提供有效指导以触发崩溃. 为解决这一问题, 提出一种组件感知的安卓应用崩溃自动复现方法CReDroid, 能够结合崩溃报告的标题信息和堆栈跟踪来有效地复现崩溃. 首先, CReDroid通过动态探索被测应用构建组件转换图(component transition graph, CTG), 结合堆栈跟踪的动态异常信息与CTG的静态组件交互信息, 精确定位目标崩溃组件; 其次, 基于崩溃报告标题中的关键操作与CTG中的可达路径, 设计自适应评分策略, 利用当前页面所属组件与崩溃组件的上下文关系为GUI控件分配选择优先级分数, 并通过强化学习全局优化动态探索过程, 有效减轻预测过程中的不准确性. 在74个崩溃报告上评估了CReDroid的性能, 并与当前先进的崩溃复现工具CrashTranslator、ReCDroid、ReproBot以及广泛使用的自动化测试工具Monkey和APE进行对比实验. 实验结果显示, CReDroid成功复现了57个崩溃报告, 分别比CrashTranslator、ReCDroid、ReproBot、Monkey和APE多复现13、25、27、30和17个. 此外, 在成功复现相同崩溃的情况下, CReDroid的平均用时较CrashTranslator、ReCDroid、ReproBot、Monkey和APE分别减少26.71%、94.96%、71.65%、84.72%和88.56%.
    优先出版日期:  2025-09-10 , DOI: 10.13328/j.cnki.jos.007469
    [摘要] (123) [HTML] (211) [PDF 841.40 K] (1456)
    摘要:
    签名计算通常在移动电话或小型物联网设备等不安全的物理设备上进行, 这可能导致私钥暴露, 从而引发整个密码系统的崩溃. 密钥隔离签名方案是减轻私钥暴露造成的损害的一种方法. 在密钥隔离密码系统中, 公钥在整个时间周期内保持不变, 固定私钥被存储在物理安全设备上. 在每个离散的时间段开始时, 不安全设备通过与存储固定私钥的物理安全设备的交互以获得当前时间片的临时私钥. 一个安全的基于身份的密钥隔离签名方案需要满足签名不可伪造性和密钥隔离性. 密钥隔离性保证了即使一个攻击者获得了多个时间段的临时私钥, 它也无法伪造其他时间段的签名. SM9是我国自主设计的商用标识密码算法. 将密钥隔离方法应用于SM9基于身份的签名方案中, 解决原方案中存在的私钥暴露问题. 首先给出基于身份的密钥隔离签名的安全模型. 然后构造一个基于身份的SM9密钥隔离签名方案. 最后给出详细的安全性证明和实验分析.
    优先出版日期:  2025-09-02 , DOI: 10.13328/j.cnki.jos.007509
    摘要:
    SAT求解的CDCL算法被广泛应用于软硬件验证领域, 重启策略是其中的核心组件之一. 目前, 主流的CDCL求解器采用了“热重启”技术, 保留了变元序、赋值倾向、学习子句等主要搜索信息, 且重启频率极高. 热重启技术会使CDCL重启之后更倾向于搜索重启前的搜索空间, 有可能会长期陷于一个不利的局部区域, 缺乏探索性. 首先对现有的CDCL算法进行测试, 证实了在不同的初始搜索设置下, 主流CDCL求解器的求解时间有巨大的扰动. 为了利用上述观察, 提出一种遗忘搜索信息的“冷重启”技术, 即阶段性的遗忘变元序、赋值倾向、学习子句, 实验证明了该技术可以有效地提高主流的CDCL算法. 同时, 也进一步拓展了其并行版本, 每个线程探索不同的区域, 提高了并行算法的性能. 此外, 冷重启技术主要改进了串并行求解器可满足实例的求解能力, 为设计可满足导向的 SAT求解器提供了新的改进思路. 通过引入并行冷重启技术, PaKis求解器可满足性实例的PAR2打分平均提高41.81%. 基于相关技术设计的并行SAT求解器ParKissat-RS以领先亚军24%的大幅领先优势取得国内首个国际SAT竞赛并行组冠军.
    优先出版日期:  2025-08-20 , DOI: 10.13328/j.cnki.jos.007448
    [摘要] (713) [HTML] (0) [PDF 1.32 M] (364)
    摘要:
    研究3类非平衡广义Feistel结构的中间相遇攻击, 并在Q1模型下对这3类结构进行量子中间相遇攻击. 首先, 采用多重集和差分枚举技术对3分支Type-III型广义Feistel结构构建4轮中间相遇区分器, 分别向前向后扩展1轮进行6轮中间相遇攻击, 并利用Grover算法和量子爪搜索算法对该结构进行6轮量子密钥恢复攻击, 该攻击所需的时间复杂度为O(23?/2·?)次量子查询, 其中?为广义Feistel结构的分支长度. 其次, 对3分支Type-I型广义Feistel结构的9轮区分器分别向前向后扩展1轮进行11轮中间相遇攻击及量子密钥恢复攻击, 相应的时间复杂度分别为O(22?)次11轮加密和O(23?/2·?)次量子查询. 最后, 以 3-cell型广义Feistel结构为例探讨了n-cell型广义Feistel结构的量子中间相遇过程, 对n-cell型广义Feistel结构构建2n轮中间相遇区分器, 并进行2(n+1)轮中间相遇攻击及量子密钥恢复攻击, 且时间复杂度分别为O(22?)次2(n+1)轮加密和O(23?/2·?)次量子查询. 结果表明, 相比于经典环境, Q1模型下消耗的时间复杂度更低.
    优先出版日期:  2025-07-30 , DOI: 10.13328/j.cnki.jos.007436
    [摘要] (359) [HTML] (0) [PDF 5.20 M] (454)
    摘要:
    测试用例优先级排序方法TCP在缓解测试开销方面备受关注. 基于不同优先级策略的贪心算法是TCP中常用的方法. 然而, 现有基于贪心算法的TCP技术多使用单一的排序策略, 且每轮迭代排序过程一次性考虑全部测试用例, 而未关注用例间的关系, 导致在覆盖信息和排序方面的处理上耗时过长, 极大降低排序效率. 同时, 在单一的排序策略中, Additional策略得到广泛研究, 但其受随机因素影响较大, 当出现平局时, 通常会随机选择待排用例, 影响排序的有效性. 基于此, 提出一种面向两阶段分组的测试用例优先级排序方法TPG-TCP. 第1阶段进行粗粒度测试用例分组, 通过挖掘用例间的隐藏关系, 将它们分为关键用例组和普通用例组, 为下一阶段采用多样性策略排序做准备, 以提高排序效率. 第2阶段进行细粒度测试用例分组排序, 根据迭代次数将关键用例分组, 为减少Additional策略中随机因素的干扰, 提出基于用例潜力度的TP-Additional策略对一部分关键用例排序, 同时采用简单高效的Total策略对普通用例与另一部分关键用例排序, 将排序结果追加至TP-Additional策略的排序结果中, 在排序有效性提升的同时也提高了效率. 通过与8种相关方法在6个数据集上的对比结果发现, 所提方法是高效且可行的, 在APFDTETC指标上分别平均提升约1.29%和9.54%.
    优先出版日期:  2025-07-30 , DOI: 10.13328/j.cnki.jos.007434
    [摘要] (223) [HTML] (0) [PDF 5.57 M] (1589)
    摘要:
    (t, N)门限多方隐私集合交集协议(threshold multi-party private set intersection, TMP-PSI)允许当指定参与方的集合元素x在其余不少于t–1 (tN)个参与方的私有集合中出现时, 数据元素x作为交集结果输出, 在提案投票、金融交易威胁识别、安全评估等场景具有广泛应用. 现有的门限多方隐私集合交集协议运行效率低、通信轮数多且只能由某一个指定参与方获取交集. 针对这些问题, 设计一种基于弹性秘密共享的参与方门限测试方法, 结合不经意键值对存储(oblivious key-value store, OKVS)提出一种TMP-PSI方案, 能够有效减少计算开销和通信轮数. 为了满足多参与方获取私有集合中交集信息的需求, 提出第2种拓展门限多方隐私集合交集(extended threshold multi-party private set intersection, ETMP-PSI)协议对份额分发方式进行改变, 与第1种方案相比, 秘密分发者和秘密重构方没有额外增加通信轮数和计算复杂度, 实现了多参与方获取私有集合中的交集元素. 所设计的协议在数据集合大小为n = 216的三方场景下运行时间为6.4 s (TMP-PSI)和8.7 s (ETMP-PSI), 与现有的门限多方隐私集合交集协议相比, 重构方和分发方的通信复杂度由O(nNtlog)降为O(bNλ).
    优先出版日期:  2025-07-17 , DOI: 10.13328/j.cnki.jos.007429
    [摘要] (335) [HTML] (0) [PDF 8.83 M] (1384)
    摘要:
    域名系统(domain name system, DNS)协议的性能和操作特性引起了研究和网络运营界的极大兴趣. 在这项工作中, 通过测量分析来自一个大型DNS服务商递归服务器数据, 从一个大型DNS运营商递归服务的角度考察了用户访问模式及解析状况. 面向海量的DNS数据, 首先提供一种多机分布式并行测量机制和大数据平台存储监控方案, 实现了对DNS海量数据的高效测量分析. 然后, 从用户请求响应率, 请求域名的情况, 请求用户的情况和域名解析的情况多个维度系统分析了DNS数据的特征, 并呈现了多个有价值的测量结果, 对提升DNS的运维和洞察DNS的特性具有重要价值. 最后, 基于对DNS缓存命中率的测量分析, 提出一种适用于DNS大型运营商进行在线异常检测的通用框架, 并初步验证了框架方案的正确性和可行性.
    优先出版日期:  2025-07-09 , DOI: 10.13328/j.cnki.jos.007427
    [摘要] (272) [HTML] (0) [PDF 4.43 M] (1483)
    摘要:
    区块链, 又称分布式账本, 作为新一代信息技术的典型代表, 在金融、医疗、能源和政务等领域得到广泛应用. 区块链中可监管的隐私保护技术既能保护用户隐私, 增强用户对区块链应用的信任, 又能防止区块链被用于非法活动, 确保应用的合规性. 现有可监管区块链隐私保护方案通常基于双线性配对构造, 运算效率较低, 无法满足高并发场景应用需求. 针对上述问题, 提出一种高效的区块链中可监管身份隐私保护方案, 通过设计一种无需配对的接收者身份一致性零知识证明和可追踪环签名方案, 在保护交易双方身份隐私的同时保证监管的有效性. 实验结果表明, 当按照Monero参数配置将环签名成员数量设置为16时, 高效的区块链中可监管身份隐私保护方案中所有算法执行时间均为5 ms以内, 相较于同类型方案效率提升14倍以上, 消息长度缩短为原方案的50%, 具有更高的计算效率和更短的消息长度.
    优先出版日期:  2017-10-18
    [摘要] (3201) [HTML] (0) [PDF 525.21 K] (8044)
    摘要:
    Data race is a major source of concurrency bugs. Dynamic data race detection tools (e.g., FastTrack) monitor the execu-tions of a program to report data races occurring in runtime. However, such tools incur significant overhead that slows down and perturbs executions. To address the issue, the state-of-the-art dynamic data race detection tools (e.g., LiteRace) ap-ply sampling techniques to selectively monitor memory access-es. Although they reduce overhead, they also miss many data races as confirmed by existing studies. Thus, practitioners face a dilemma on whether to use FastTrack, which detects more data races but is much slower, or LiteRace, which is faster but detects less data races. In this paper, we propose a new sam-pling approach to address the major limitations of current sampling techniques, which ignore the facts that a data race involves two threads and a program under testing is repeatedly executed. We develop a tool called AtexRace to sample memory accesses across both threads and executions. By selectively monitoring the pairs of memory accesses that have not been frequently observed in current and previous executions, AtexRace detects as many data races as FastTrack at a cost as low as LiteRace. We have compared AtexRace against FastTrack and LiteRace on both Parsec benchmark suite and a large-scale real-world MySQL Server with 223 test cases. The experiments confirm that AtexRace can be a replacement of FastTrack and LiteRace.
    优先出版日期:  2017-10-18
    [摘要] (3162) [HTML] (0) [PDF 352.38 K] (8520)
    摘要:
    It is difficult to fix atomicity violations correctly. Existing gate lock algorithm (GLA) simply inserts gate locks to serialize exe-cutions, which may introduce performance bugs and deadlocks. Synthesized context-aware gate locks (by Grail) require complex source code synthesis. We propose ?Fixer to adaptively fix ato-micity violations. It firstly analyses the lock acquisitions of an atomicity violation. Then it either adjusts the existing lock scope or inserts a gate lock. The former addresses cases where some locks are used but fail to provide atomic accesses. For the latter, it infers the visibility (being global or a field of a class/struct) of the gate lock such that the lock only protects related accesses. For both cases, ?Fixer further eliminates new lock orders to avoid introducing deadlocks. Of course, ?Fixer can produce both kinds of fixes on atomicity violations with locks. The experi-mental results on 15 previously used atomicity violations show that: ?Fixer correctly fixed all 15 atomicity violations without introducing deadlocks. However, GLA and Grail both intro-duced 5 deadlocks. HFix (that only targets on fixing certain types of atomicity violations) only fixed 2 atomicity violations and introduced 4 deadlocks. ?Fixer also provides an alternative way to insert gate locks (by inserting gate locks with proper visibility) considering fix acceptance.
    优先出版日期:  2017-09-11
    [摘要] (3744) [HTML] (0) [PDF 276.42 K] (6353)
    摘要:
    对Github上Python科学计算软件生态系统中的跨项目关联缺陷进行了实证分析,聚焦于开发者对缺陷根源的追踪和上下游项目开发者修复缺陷的协作。通过定性和定量的分析,揭示了影响这类缺陷定位与修复的因素,以及开发者应对它们的常见行为。
    优先出版日期:  2017-06-21
    [摘要] (3696) [HTML] (0) [PDF 169.43 K] (5117)
    摘要:
    Numerical instability is a well-known problem that may cause serious runtime failures. This paper discusses the reason of instability in software development process, and presents a toolchain that not only detects the potential instability in software, but also diagnoses the reason for such instability. We classify the reason of instability into two categories. When it is introduced by software requirements, we call the instability caused by problem. In this case, it cannot be avoided by improving software development, but requires inspecting the requirements, especially the underlying mathematical properties. Otherwise, we call the instability caused by practice. We design our toolchain as 4 loosely-coupled tools, which combine stochastic arithmetic with infinite-precision testing. Each tool in our toolchain can be configured with different strategies according to the properties of the analyzed software. We evaluate our toolchain on subjects from literature. The results show that it effectively detects and separates the instabilities caused by problems from others. We also conduct an evaluation on the latest version of GNU Scientific Library, and the toolchain finds a few real bugs in the well-maintained and widely deployed numerical library. With the help of our toolchain, we report the details and fixing advices to the GSL buglist.
    优先出版日期:  2017-06-13
    [摘要] (4967) [HTML] (0) [PDF 174.91 K] (5395)
    摘要:
    Code contributions in Free/Libre and Open Source Software projects are controlled to maintain high-quality of software. Alternatives to patch-based code contribution tools such as mailing lists and issue trackers have been developed with the pull request systems being the most visible and widely available on GitHub. Is the code contribution process more effective with pull request systems? To answer that, we quantify the effectiveness via the rates contributions are accepted and ignored, via the time until the first response and final resolution and via the numbers of contributions. To control for the latent variables, our study includes a project that migrated from an issue tracker to the GitHub pull request system and a comparison between projects using mailing lists and pull request systems. Our results show pull request systems to be associated with reduced review times and larger numbers of contributions. However, not all the comparisons indicate substantially better accept or ignore rates in pull request systems. These variations may be most simply explained by the differences in contribution practices the projects employ and may be less affected by the type of tool. Our results clarify the importance of understanding the role of tools in effective management of the broad network of potential contributors and may lead to strategies and practices making the code contribution more satisfying and efficient from both contributors' and maintainers' perspectives.
    优先出版日期:  2017-01-25
    [摘要] (3840) [HTML] (0) [PDF 254.98 K] (5789)
    摘要:
    Code contributions in Free/Libre and Open Source Software projects are controlled to maintain high-quality of software. Alternatives to patch-based code contribution tools such as mailing lists and issue trackers have been developed with the pull request systems being the most visible and widely available on GitHub. Is the code contribution process more effective with pull request systems? To answer that, we quantify the effectiveness via the rates contributions are accepted and ignored, via the time until the first response and final resolution and via the numbers of contributions. To control for the latent variables, our study includes a project that migrated from an issue tracker to the GitHub pull request system and a comparison between projects using mailing lists and pull request systems. Our results show pull request systems to be associated with reduced review times and larger numbers of contributions. However, not all the comparisons indicate substantially better accept or ignore rates in pull request systems. These variations may be most simply explained by the differences in contribution practices the projects employ and may be less affected by the type of tool. Our results clarify the importance of understanding the role of tools in effective management of the broad network of potential contributors and may lead to strategies and practices making the code contribution more satisfying and efficient from both contributors' and maintainers' perspectives.
    优先出版日期:  2017-01-18
    [摘要] (4363) [HTML] (0) [PDF 472.29 K] (5395)
    摘要:
    Software should behave correctly even in adverse conditions. Particularly, we study the problem of automated validation of crash consistency, i.e., file system data safety when systems crash. Existing work requires non-trivial manual efforts of specifying checking scripts and workloads, which is an obstacle for software developers. Therefore, we propose C3, a novel approach that makes crash consistency validation as easy as pressing a single button. With a program and an input, C3 automatically reports inconsistent crash sites. C3 not only exempts developers from the need of writing crash site checking scripts (by an algorithm that computes editing distance between file system snapshots) but also reduces the reliance on dedicated workloads (by test amplification). We implemented C3 as an open-source tool. With C3, we found 14 bugs in open-source software that have severe consequences at crash and 11 of them were previously unknown to the developers, including in highly mature software (e.g., GNU zip and GNU coreutils sort) and popular ones being actively developed (e.g., Adobe Brackets and TeXstudio).
    优先出版日期:  2017-01-04
    [摘要] (4104) [HTML] (0) [PDF 293.93 K] (5781)
    摘要:
    本文提出了一种可部署的数据竞争动态采样检测技术,首先提出了基于线程本地时序的数据竞争定义,之后基于硬件断点进行采样检测。在采样率为1%时,时间开销约为5%,且有效性得以保证。
    优先出版日期:  2017-01-04
    [摘要] (4426) [HTML] (0) [PDF 244.61 K] (6670)
    摘要:
    在软件开发过程中,软件更新时常发生,怎样保证软件更新后的软件质量呢?这就是回归测试的任务。传统上,回归测试通过检测软件异常行为来保证软件质量。然而,在实践中所有的软件行为不可能全部被检测到,尤其针对于大型的复杂软件系统。为帮助开发人员更好的进行回归测试,传统工作集中在增加测试用例上,即通过人工或自动生成测试输入的方法,观测测试输出以捕获程序行为。这种方法虽一定程度上有效,但也存在很大缺陷:人工编写测试用例费时费力,不能覆盖的代码较多,而且容易受人主观判断的误导(例如忽略某些特别容易存在缺陷的类、方法等);自动生成测试用例技术存在很多问题,例如代价大和无法很好的处理数组、字符串等。基于目前软件测试技术存在的缺陷,很多软件不得不在面临诸多安全威胁的状态下发布,有时甚至造成重大财产损失甚至人员伤亡。因此,我们迫切需要新技术来辅助现有技术以更好的进行回归测试、保障软件质量。
    优先出版日期:  2016-12-12
    [摘要] (3934) [HTML] (0) [PDF 358.69 K] (5285)
    摘要:
    在程序分析中,循环(Loop)的处理与分析是一个非常重要而且很有挑战的任务。例如,在符号执行(Symbolic Execution)中,循环的不断展开会导致程序路径数量指数级地增长。因此,符号执行通常会陷入不停的循环展开,而不能覆盖到新的程序分支上,最终影响了测试用例生成或者缺陷检测的效率。
    优先出版日期:  2016-09-30
    摘要:
    在软件测试中,测试预言是一种判断程序在给定测试输入下的执行结果是否符合预期的机制。测试预言通常由在测试中需要被观测的变量以及这些变量的预期值组成。对于相同的测试输入,不同的测试预言可能有不同的缺陷检测能力。因此,高质量的测试预言对于检测软件中的缺陷是非常必要的。在已有的研究中,虽然研究人员提出了各种各样的自动化测试输入生成技术,但是测试预言问题仍然被公认为是软件测试中最难解决的问题之一。
    优先出版日期:  2016-09-09
    [摘要] (4393) [HTML] (0) [PDF 313.52 K] (191)
    摘要:
    本文基于众测平台,提出了一种基于局部的主动学习方法,能够将众测报告中的缺陷进行自动分类,该方法解决了众测报告分类中的局部偏见问题、及缺少历史训练数据的问题,并基于实际的众测数据进行了验证。
    优先出版日期:  2016-09-07
    [摘要] (5156) [HTML] (0) [PDF 231.98 K] (114)
    摘要:
    并发缺陷是由于某些事件按照一定的顺序发生而导致的,本文提出了一种基于缺陷半径的并发缺陷的概率检测方法RPro,并用于死锁的检测,且有概率保证。实验表明该方法可以显著提高死锁的检测概率。
    优先出版日期:  2016-08-29
    摘要:
    当公司投入资源到开源社区,其诉求可能跟开放共享的开源开发方法存在冲突,继而影响自由贡献者.因此我们研究:公司参与会对开源社区带来怎样的影响?面向三个技术同构的混合项目,我们总结了三个商业参与模型,并量化了不同模型对贡献者稳定性和持续性的影响.
  • 全文下载排行(总排行年度排行各期排行)
    摘要点击排行(总排行年度排行各期排行)

  • 快速检索
    过刊检索
    全选反选导出
    显示模式:
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号