2023, 34(1):1-32. DOI: 10.13328/j.cnki.jos.006402 CSTR:
摘要:区块链是由一系列网络节点构建的一种分布式账本, 本身具有不可篡改性、去中心化、去信任化、密码算法安全性和不可否认性等安全属性, 对基于区块链实现的安全服务进行了综述, 这些安全服务包括数据机密性、数据完整性、身份认证、数据隐私、数据可信删除. 首先介绍了区块链和公钥密码学的基础知识, 并围绕上述5种安全服务, 给出了用户真实场景中面临的安全问题以及传统的解决方案, 讨论了这些传统实现方案所面临的问题, 之后介绍了使用区块链技术解决相关问题的实现方案, 最后讨论了区块链的价值以及面临的问题.
2023, 34(1):33-49. DOI: 10.13328/j.cnki.jos.006421 CSTR:
摘要:传统的区块链技术为了保证交易账本的全网共识和不可篡改性, 要求矿工节点具有强大的计算能力和足够的存储空间, 这就限制了资源受限的设备加入区块链. 近几年, 区块链技术已经拓展到金融经济、医疗健康、物联网、供应链等多个领域, 但是这些应用场景存在大量算力弱、存储容量低的设备, 这给区块链的应用带来了巨大挑战. 为此轻量级的区块链技术应运而生. 从轻量级计算和轻量级存储两方面出发, 总结当前轻量级区块链的研究现状, 对比分析各个方案的优缺点. 最后展望未来轻量级区块链的发展.
2023, 34(1):50-102. DOI: 10.13328/j.cnki.jos.006503 CSTR:
摘要:面向对象软件度量是理解和保证面向对象软件质量的重要手段之一. 通过将面向对象软件的度量值与其阈值比较, 可简单直观评价其是否有可能包含缺陷. 确定度量阈值方法主要有基于数据分布特征的无监督学习方法和基于缺陷相关性的有监督学习方法. 两类方法各有利弊: 无监督学习方法无需标签信息而易于实现, 但所得阈值的缺陷预测性能通常较差; 有监督学习方法通过机器学习算法提升所得阈值的缺陷预测性能, 但标签信息在实际过程中不易获得且度量与缺陷链接技术复杂. 近年来, 两类方法的研究者不断探索并取得较大进展. 同时, 面向对象软件度量阈值确定方法研究仍存在一些亟待解决的挑战. 对近年来国内外学者在该领域的研究成果进行系统性的总结. 首先, 阐述面向对象软件度量阈值确定方法的研究问题. 其次, 分别从无监督学习方法和有监督学习方法总结相关研究进展, 并梳理具体的理论和实现的技术路径. 然后, 简要介绍面向对象软件度量阈值的其他相关技术. 最后, 总结当前该领域研究过程面临的挑战并给出建议的研究方向.
2023, 34(1):103-129. DOI: 10.13328/j.cnki.jos.006409 CSTR:
摘要:随着神经网络等技术的快速发展, 人工智能被越来越多地应用到安全关键或任务关键系统中, 例如汽车自动驾驶系统、疾病诊断系统和恶意软件检测系统等. 由于缺乏对人工智能软件系统全面和深入的了解, 导致系统时常发生严重错误. 人工智能软件系统的功能属性和非功能属性被提出以加强对人工智能软件系统的充分认识和质量保障. 经调研, 有大量研究者致力于功能属性的研究, 但人们越来越关注于人工智能软件系统的非功能属性. 为此, 专注于人工智能软件系统的非功能属性, 调研了138篇相关领域的论文, 从属性定义、属性必要性、属性示例和常见质量保障方法几个方面对目前已有的研究工作进行系统的梳理和详细的总结, 同时重新定义和分析了非功能属性之间的关系并介绍了人工智能软件系统研究中可以用到的开源工具. 最后, 展望了人工智能软件系统非功能属性的未来研究方向和挑战, 以期为该领域的研究人员提供参考.
2023, 34(1):130-149. DOI: 10.13328/j.cnki.jos.006425 CSTR:
摘要:在软件测试过程中, 待测程序的预期输出是判断软件是否存在缺陷的重要因素. 蜕变测试技术是利用被测软件的属性来检查程序输出, 从而有效地解决程序预期输出难以构造的问题. 近年来, 蜕变测试在软件测试领域取得了蓬勃的发展, 许多研究人员将蜕变测试技术进行优化, 将其运用到各个领域, 有效提高了软件质量. 从原理、过程及其优化, 应用领域3个方面, 总结蜕变测试的研究工作, 着重分析了近5年的研究进展, 进一步展望了蜕变测试用于并行程序时, 可能的研究主题. 首先, 介绍蜕变测试的基本概念和蜕变测试过程; 接着, 从蜕变关系、测试用例、测试执行过程以及蜕变测试工具4个角度, 总结蜕变测试优化技术; 然后, 汇总了蜕变测试的应用领域; 最后, 基于已有研究成果, 讨论蜕变测试在并行程序测试领域面临的问题, 为蜕变技术在并行程序测试领域的研究提供可能的思路.
2023, 34(1):150-170. DOI: 10.13328/j.cnki.jos.006431 CSTR:
摘要:代码坏味(code smells)是低质量的急需重构的代码片段. 代码坏味是软件工程领域的一个研究热点, 并且相关研究方向众多、时间跨度大、研究成果丰富. 为梳理相关研究思路和研究成果、分析研究热点并预判未来研究方向, 对1990年至2020年6月间发表的代码坏味相关的339篇论文进行了系统地分析和归类, 对代码坏味的发展趋势进行了分析与统计, 量化揭示了相关研究的主流与热点. 揭示了学术界关注的关键代码坏味, 并研究了工业界与学术界的关注点的差异及其影响.
2023, 34(1):171-196. DOI: 10.13328/j.cnki.jos.006500 CSTR:
摘要:在软件开发和维护过程中, 缺陷修复人员通常根据由终端用户或者开发/测试者提交的缺陷报告来定位和修复缺陷. 因此, 缺陷报告本身的质量对修复人员能否快速准确定位并修复缺陷具有重要的作用. 围绕缺陷报告质量的刻画及改进, 研究人员开展了大量的研究工作, 但尚未进行系统性的归纳. 旨在对这些工作进行系统性地梳理, 展示该领域的研究现状并为未来的研究方向提供参考意见. 首先, 总结了已有缺陷报告存在的质量问题, 如关键信息缺失、信息错误等; 接着, 总结了对缺陷报告质量进行自动化建模的技术; 然后, 描述了一系列对缺陷报告质量进行改进的方法; 最后, 对未来研究可能面临的挑战和机遇进行了展望.
2023, 34(1):197-229. DOI: 10.13328/j.cnki.jos.006411 CSTR:
摘要:随着大数据、云计算等领域的蓬勃发展, 重视数据安全与隐私已经成为世界性的趋势, 不同团体为保护自身利益和隐私不愿贡献数据, 形成了数据孤岛. 联邦学习使数据不出本地就可被多方利用, 为解决数据碎片化和数据隔离等问题提供了解决思路. 然而越来越多研究表明, 由谷歌首先提出的联邦学习算法不足以抵抗精心设计的隐私攻击, 因此如何进一步加强隐私防护, 保护联邦学习场景下的用户数据隐私成为一个重要问题. 对近些年来联邦学习隐私攻击与防护领域取得的成果进行了系统总结. 首先介绍了联邦学习的定义、特点和分类; 然后分析了联邦学习场景下隐私威胁的敌手模型, 并根据敌手攻击目标对隐私攻击方法进行了分类和梳理; 介绍了联邦学习中的主流隐私防护技术, 并比较了各技术在实际应用中的优缺点; 分析并总结了6类目前联邦学习的隐私保护方案; 最后指出目前联邦学习隐私保护面临的挑战, 展望了未来可能的研究方向.
2023, 34(1):230-254. DOI: 10.13328/j.cnki.jos.006415 CSTR:
摘要:深度学习目前在计算机视觉、自然语言处理、语音识别等领域得到了深入发展, 与传统的机器学习算法相比, 深度模型在许多任务上具有较高的准确率. 然而, 作为端到端的具有高度非线性的复杂模型, 深度模型的可解释性没有传统机器学习算法好, 这为深度学习在现实生活中的应用带来了一定的阻碍. 深度模型的可解释性研究具有重大意义而且是非常必要的, 近年来许多学者围绕这一问题提出了不同的算法. 针对图像分类任务, 将可解释性算法分为全局可解释性和局部可解释性算法. 在解释的粒度上, 进一步将全局解释性算法分为模型级和神经元级的可解释性算法, 将局部可解释性算法划分为像素级特征、概念级特征以及图像级特征可解释性算法. 基于上述分类框架, 总结了常见的深度模型可解释性算法以及相关的评价指标, 同时讨论了可解释性研究面临的挑战和未来的研究方向. 认为深度模型的可解释性研究和理论基础研究是打开深度模型黑箱的必要途径, 同时可解释性算法存在巨大潜力可以为解决深度模型的公平性、泛化性等其他问题提供帮助.
2023, 34(1):255-276. DOI: 10.13328/j.cnki.jos.006420 CSTR:
摘要:情绪是情感的外在体现, 影响人类的认知、感知、理性决策等日常活动. 情绪识别作为实现计算机全面智能的一项基础任务, 在情感计算和人机交互领域被深入研究和广泛应用. 相比面部表情、语音或其他生理信号, 利用脑电进行情绪识别具有时间分辨率高、成本低、识别效果好、可靠性高的优势. 近年来, 越来越多的深度学习框架被应用于基于脑电信号的情绪识别, 并取得了比传统机器学习方法更加优异的效果. 基于深度脑电特征的情绪识别是当前的研究热点之一, 也具有一定的挑战性. 目前, 可供参考的针对此研究热点的综述文献较少. 对近年来国内外相关文献进行调研分析, 从模型输入、深度框架、实验设置、实验结果等方面对深度学习在基于脑电的情绪识别中的应用研究做了总结概况, 并在DEAP和SEED这两个公开的脑电-情绪数据集上对具有代表性的方法进行了定性和定量的多方面对比, 分析和总结这些方法的不足, 同时也对未来可能的研究方向进行了展望.
2023, 34(1):277-311. DOI: 10.13328/j.cnki.jos.006429 CSTR:
摘要:知识图谱(KG)是一种用图模型来描述知识和建模事物之间关联关系的技术. 知识图谱嵌入(KGE)作为一种被广泛采用的知识表示方法, 其主要思想是将知识图谱中的实体和关系嵌入到连续的向量空间中, 用来简化操作, 同时保留KG的固有结构. 可以使得多种下游任务受益, 例如KG补全和关系提取等. 首先对现有的知识图谱嵌入技术进行全面回顾, 不仅包括使用KG中观察到的事实进行嵌入的技术, 还包括添加时间维度的动态KG嵌入方法, 以及融合多源信息的KG嵌入技术. 对相关模型从实体嵌入、关系嵌入、评分函数等方面进行分析、对比与总结. 然后简要介绍KG嵌入技术在下游任务中的典型应用, 包括问答系统、推荐系统和关系提取等. 最后阐述知识图谱嵌入面临的挑战, 对未来的研究方向进行展望.
乔少杰,吴凌淳,韩楠,黄发良,毛睿,元昌安,Louis Alberto GUTIERREZ
2023, 34(1):312-333. DOI: 10.13328/j.cnki.jos.006395 CSTR:
摘要:如何利用多源异构时空数据进行准确的轨迹预测并且反映移动对象的移动特性是轨迹预测领域的核心问题. 现有的大多数轨迹预测方法是长序列轨迹模式预测模型, 根据历史轨迹的特点进行预测, 或将当前移动对象的轨迹位置放入时空语义场景根据历史移动对象轨迹预测位置. 综述当前常用的轨迹预测模型和算法, 涉及不同的研究领域. 首先, 阐述了多模式轨迹预测的主流工作, 轨迹预测的基本模型类; 其次, 对不同类的预测模型进行总结, 包括数学统计类、机器学习类、滤波算法, 以及上述领域具有代表性的算法; 再次, 对情景感知技术进行了介绍, 描述了不同领域的学者对情景感知的定义, 阐述了情景感知技术所包含的关键技术点, 诸如情景感知计算、情景获取和情景推理的不同类模型, 分析了情景感知的不同分类、过滤、存储和融合以及它们的实现方法等. 详细介绍了情景感知驱动的轨迹预测模型技术路线及各阶段任务的工作原理. 给出了情景感知技术在真实场景中的应用, 包括位置推荐, 兴趣点推荐等, 通过与传统算法对比, 分析情景感知技术在此类应用中的优劣. 详细介绍了情景感知结合LSTM (long short-term memory)技术应用于行人轨迹预测领域的新方法. 最后, 总结了轨迹预测和情景感知研究的当前问题和未来发展趋势.
2023, 34(1):334-350. DOI: 10.13328/j.cnki.jos.006435 CSTR:
摘要:任播通过将相同IP地址分配到多个终端节点上, 利用BGP实现最佳路径选择. 近年来, 随着任播技术发展越来越成熟, 任播被广泛运用到DNS和CDN服务上. 首先全方位介绍了任播技术, 随后讨论了任播技术目前存在的问题并将这些问题归结为3大类: 任播推断的不完善, 任播性能无法保证, 难以控制任播负载均衡. 针对这些问题, 阐述了国内外最新研究进展, 总结了任播研究工作中的相关问题及改进方向, 为相关领域的研究者提供有益的参考.
2023, 34(1):351-380. DOI: 10.13328/j.cnki.jos.006510 CSTR:
摘要:随着计算机网络规模和复杂度的日益增长, 网络管理人员难以保证网络意图得到了正确实现, 错误的网络配置将影响网络的安全性和可用性. 受到形式化方法在硬软件验证领域中成功应用的启发, 研究人员将形式化方法应用到网络中, 形成了一个新的研究领域, 即网络验证(network verification), 旨在使用严格的数学方法证明网络的正确性. 网络验证已经成为当下网络和安全领域的热点研究, 其研究成果也在实际网络中得到了成功应用. 从数据平面验证、控制平面验证和有状态网络验证3个研究方向, 对网络验证领域的已有研究成果进行了系统总结, 对研究热点内容与解决方法进行了分析, 旨在整理网络验证领域的发展脉络, 为本领域研究者提供系统性文献参考和未来工作展望.
2023, 34(1):381-403. DOI: 10.13328/j.cnki.jos.006501 CSTR:
摘要:为保护计算设备中安全敏感程序运行环境的安全, 研究人员提出了可信执行环境(TEE)技术, 通过对硬件和软件进行隔离为安全敏感程序提供一个与通用计算环境隔离的安全运行环境. 侧信道攻击从传统的需要昂贵设备发展到现在仅基于微体系结构状态就能通过软件方式获取机密信息的访问模式, 从而进一步推测出机密信息. TEE架构仅提供隔离机制, 无法抵抗这类新出现的软件侧信道攻击. 深入调研了ARM TrustZone、Intel SGX和AMD SEV这3种TEE架构的软件侧信道攻击及相应防御措施, 并探讨其攻击和防御机制的发展趋势. 首先, 介绍了ARM TrustZone、Intel SGX和AMD SEV的基本原理, 并详细阐述了软件侧信道攻击的定义以及缓存侧信道攻击的分类、方法和步骤; 之后从处理器指令执行的角度, 提出一种TEE攻击面分类方法, 利用该方法对TEE软件侧信道攻击进行分类, 并阐述了软件侧信道攻击与其他攻击相结合的组合攻击; 然后详细讨论TEE软件侧信道攻击的威胁模型; 最后全面总结业界对TEE软件侧信道攻击的防御措施, 并从攻击和防御两方面探讨TEE软件侧信道攻击未来的研究趋势.
2023, 34(1):404-420. DOI: 10.13328/j.cnki.jos.006513 CSTR:
摘要:匿名网络旨在公开网络环境中保护用户通信隐私. 自Chaum提出Mix网以来, 相关研究在几十年中不断取得进展. 如今, 匿名网络已发展成以Mix网、DC网或PIR (private information retrieval)为基础, 并结合多种设计要素, 使之适用于各种应用场景和威胁模型. 从匿名概念出发, 介绍匿名网络领域的发展情况, 分类阐述代表性研究工作及其设计选择, 并系统地从匿名性、延迟和带宽开销等角度进行分析.
2023, 34(1):421-443. DOI: 10.13328/j.cnki.jos.006434 CSTR:
摘要:普通的城市道路地图未能覆盖(超)重卡货车的道路禁限行信息, 缺少标注适用于大宗货运的热门停驻区域, 无法满足货运司机的大批量长距离公路运输需求. 为解决大宗货运交通事故频发、物流效率低下等问题, 进一步提升货运司机的出行体验感, 亟需结合运输货物类型、货车车型以及司机的线路选择偏好等因素, 研究适用于公路大宗货运的定制化物流地图构建方法. 随着移动互联网、车联网的普及, 大宗货运产生的时空数据迅猛增长, 与物流运营数据等一起构成物流大数据, 为构建物流地图提供了数据基础. 在梳理地图构建技术的基础上, 针对现有电子地图构建方法在大宗货运领域的局限性, 利用多源物流数据提出了一个数据驱动的物流地图构建框架, 主要研究内容包括: (1)基于用户先验知识的多约束物流地图构建; (2)动态时空数据驱动的物流地图增量更新. 物流地图将成为大宗货运发展新一代物流科技的AI基础设施. 研究成果为物流地图构建的技术创新提供了丰富的实践内容, 也为促进大宗物流降本增效提供了新的解决思路, 具有重要的理论意义和应用价值.
2023, 34(1):444-462. DOI: 10.13328/j.cnki.jos.006488 CSTR:
摘要:近年来随着计算机视觉领域的不断发展, 三维场景的语义分割和形状补全受到学术界和工业界的广泛关注. 其中, 语义场景补全是这一领域的新兴研究, 该研究以同时预测三维场景的空间布局和语义标签为目标, 在近几年得到快速发展. 对近些年该领域提出的基于RGB-D图像的方法进行了分类和总结. 根据有无使用深度学习将语义场景补全方法划分为传统方法和基于深度学习的方法两大类. 其中, 对于基于深度学习的方法, 根据输入数据类型将其划分为基于单一深度图像的方法和基于彩色图像联合深度图像的方法. 在对已有方法分类和概述的基础上, 对语义场景补全任务所使用的相关数据集进行了整理, 并分析了现有方法的实验结果. 最后, 总结了该领域面临的挑战和发展前景.
2023, 34(1):463-488. DOI: 10.13328/j.cnki.jos.006502 CSTR:
摘要:当前, 以Hadoop、Spark为代表的大数据处理框架, 已经在学术界和工业界被广泛应用于大规模数据的处理和分析. 这些大数据处理框架采用分布式架构, 使用Java、Scala等面向对象语言编写, 在集群节点上以Java虚拟机(JVM)为运行时环境执行计算任务, 因此依赖JVM的自动内存管理机制来分配和回收数据对象. 然而, 当前的JVM并不是针对大数据处理框架的计算特征设计的, 在实际运行大数据应用时经常出现垃圾回收(GC)时间长、数据对象序列化和反序列化开销大等问题. 在一些大数据场景下, JVM的垃圾回收耗时甚至超过应用整体运行时间的50%, 已经成为大数据处理框架的性能瓶颈和优化热点. 对近年来相关领域的研究成果进行了系统性综述: (1)总结了大数据应用在JVM中运行时性能下降的原因; (2)总结了现有面向大数据处理框架的JVM优化技术, 对相关优化技术进行了层次划分, 并分析比较了各种方法的优化效果、适用范围、使用负担等优缺点; (3)探讨了JVM未来的优化方向, 有助于进一步提升大数据处理框架的性能.
2023, 34(1):489-508. DOI: 10.13328/j.cnki.jos.006436 CSTR:
摘要:控制流劫持攻击利用程序内存漏洞获取程序的控制权, 进而控制程序执行恶意代码, 对系统安全造成极大的威胁. 为了应对控制流劫持攻击, 研究人员提出了一系列的防御手段. 控制流完整性是一种运行时防御方法, 通过阻止进程控制流的非法转移, 来确保控制流始终处于程序要求的范围之内. 近年来, 越来越多的研究致力于解决控制流完整性的相关问题, 例如提出新的控制流完整性方案、新的控制流完整性方案评估方法等. 首先阐述了控制流完整性的基本原理, 然后对现有控制流完整性方案进行了分类, 并分别进行了分析, 同时介绍了现有针对控制流完整性方案的评估方法与评价指标. 最后, 对控制流完整性的未来工作进行了展望, 以期对未来的控制流完整性研究提供参考.