2019, 30(2):195-210. DOI: 10.13328/j.cnki.jos.005565 CSTR:
摘要:当软件缺陷报告在跟踪系统中被指派给开发人员进行缺陷修复之后,缺陷修复人员就需要根据提交的缺陷报告来进行软件缺陷定位,并做出相应的代码变更,以修复该软件缺陷.在缺陷修复的整个过程中,软件缺陷定位占用了开发人员大量的时间.提出了一种方法级别的细粒度软件缺陷定位方法MethodLocator,以提高软件修复人员的工作效率.MethodLocator首先对缺陷报告和源代码方法体利用词向量(word2vec)和TF-IDF结合的方法进行向量表示;然后,根据源代码文件中方法体之间的相似度对方法体进行扩充;最后,通过对扩充后的方法体和缺陷报告计算其余弦距离并排序,来定位为修复软件缺陷所需做出变更的方法.在4个开源软件项目ArgoUML、Ant、Maven和Kylin上的实验结果表明,MethodLocator方法优于现有的缺陷定位方法,它能够有效地将软件缺陷定位到源代码的方法级别上.
2019, 30(2):211-230. DOI: 10.13328/j.cnki.jos.005581 CSTR:
摘要:当前,静态污点分析检测Android应用隐私泄露存在误报率较高的问题,这给检测人员和用户带来很大的不便.针对这一问题,提出了一种多源绑定发生的污点分析技术.该技术可以精确地判断污点分析结果中多组源是否可以在一次执行中绑定发生,用户可以从单一分析1条结果转为分析有关联的多组结果,这既缩小了分析范围,又降低了检测的误报率.在精度上,该技术支持上下文敏感、流敏感、域敏感等特性,并可以有效地区分出分支互斥的情况.在效率上,提供了一种高效的实现方法,可以将高复杂度(指数级别)的分析降低为与传统方法时间相近的分析(初始阶段开销为19.7%,进一步的多源分析平均时间为0.3s).基于此,实现了一个原型系统MultiFlow,利用其对2 116个良性手机软件和2 089个恶意手机软件进行应用,应用结果表明,多源污点分析技术可以有效地降低隐私泄露检测的误报率(减少多源对41.1%).同时,还提出了一种污点分析结果风险评级标准,评级标准可以进一步帮助用户提高隐私泄露检测的效率.最后探讨了该技术潜在的应用场景.
2019, 30(2):231-243. DOI: 10.13328/j.cnki.jos.005584 CSTR:
摘要:由于经典的线性时序逻辑表达能力有限,设计并开发了基于交替投影时序逻辑(alternating projection temporal logic,简称APTL)的模型检测工具.根据王海洋等人提出的APTL符号模型检测方法,设计并实现了APTL模型检测器MCMAS_APTL.该工具可用于多智能体系统(multi-agent system,简称MAS)的性质验证.MCMAS_APTL检查MAS是否满足具体性质的过程如下:首先,用解释系统编程语言(interpreted system programming language,简称ISPL)描述要验证的系统IS,用APTL公式P描述要验证的性质;然后,符号化表示系统IS,并将非P转化为范式;最后,计算所有满足非P的路径的起始状态集合.如果得到的状态集合中包含系统的初始状态,则说明系统不满足公式P;反之,则说明系统满足公式P.详细阐述了实现MCMAS_APTL的过程,并且通过验证机器人足球赛的例子展示了MCMAS_APTL的性能.
2019, 30(2):244-265. DOI: 10.13328/j.cnki.jos.005657 CSTR:
摘要:程序自动修复技术能够有效地降低软件维护成本,是近年来学术研究的热点问题.待修复程序规约的刻画,对自动修复过程具有至关重要的作用.从规约的角度对程序自动修复问题和技术进行了分析梳理.从待修复程序是否具有完整的程序规约,将现有修复问题分为不完全规约、完全规约和半完全规约这3大类待修复问题.以3类抽象问题为线索,梳理了不同前提假设下修复技术面临的核心问题、问题之间的联系和技术体系中的逻辑关系.分析了不完全规约程序修复问题中高精度补丁生成、规约补全和补丁择优等问题,梳理了完全规约程序修复问题中内存泄漏、资源泄露、并发错误中的数据竞争、原子性违背、顺序违背和死锁,配置错误以及特定性能错误等具体问题及研究进展,整理了半完全规约程序修复问题中多种形式的修复具体问题及研究进展.最后分析了程序自动修复面临的机遇和挑战.
张卓 , 谭庆平 , 毛晓光 , 雷晏 , 常曦 , 薛建新
2019, 30(2):266-281. DOI: 10.13328/j.cnki.jos.005677 CSTR:
摘要:错误定位就是寻找程序错误的位置.现有的错误定位方法大多利用测试用例的覆盖信息,以标识一组导致程序失效的可疑语句,却忽视了这些语句相互作用导致失效的上下文.因此,提出一种增强上下文的错误定位方法Context-FL,以构建上下文的方式来优化错误定位性能.Context-FL利用动态切片技术构建数据与控制相关性的错误传播上下文,显示了导致失效的语句之间传播依赖关系;然后,基于可疑值度量来区分上下文片段中不同语句的可疑度;最后,Context-FL以标记可疑值的上下文作为定位结果.实验结果表明,Context-FL优于8种典型错误定位方法.
张远鹏 , 周洁 , 邓赵红 , 钟富礼 , 蒋亦樟 , 杭文龙 , 王士同
2019, 30(2):282-301. DOI: 10.13328/j.cnki.jos.005625 CSTR:
摘要:多视角数据的涌现对传统单视角聚类算法提出了挑战.利用单视角聚类算法独立地对每个视角进行划分,再通过集成机制获取全局划分的方法,人为地割裂了视角之间的内在联系,难以获得理想的聚类效果.针对此问题,提出了一个多视角聚类模型.该模型不仅考虑了视角内的划分质量,还兼顾了视角间的协同学习机制.对于视角内的划分,为了捕捉更为准确的簇内结构信息,采用多代表点的簇结构表示策略;对于视角间的协同学习机制,假设簇中代表点在不同视角下,其代表性保持.因此,在该模型基础上提出了基于代表点一致性约束的多视角模糊聚类算法(multi-view fuzzy clustering with a medoid invariant constraint,简称MFCMddI).该算法通过最大化两两相邻视角下代表点权重系数的乘积之和来保证代表点一致性.MFCMddI的目标函数可通过引入拉格朗日乘子和KKT条件进行优化.在人工数据集以及真实数据集上的实验结果均表明,该算法相对于所引入的对比算法而言具有一定的优势.
2019, 30(2):302-322. DOI: 10.13328/j.cnki.jos.005678 CSTR:
摘要:近年来,随着虚拟现实、物联网、云计算等新兴技术的发展,用户对网络带宽的需求迅猛增加,使用单一接入技术已经难以满足用户对网络带宽的需求.为了解决用户日益增长的带宽需求和有限的频率资源之间的矛盾,互联网端到端多路径传输技术应运而生.互联网端到端多路径传输协议,如MPTCP (multipath TCP),目前主要工作于传输层,能够利用终端已经具备的多块网卡(如WiFi网卡和4G网卡)同时进行数据的端到端并发传输,从而提高总的传输带宽和对网络动态性的适应能力.由于每条子流可以通过TCP协议及其优化算法实现端到端的可靠有序传输,因此端到端多路径传输的研究重点在于多条子流之间的智能协同,主要体现在子流选择、数据分配和调度、联合拥塞控制等方面.然而,底层链路的动态变化使得传输层所估计的链路参数无法及时地反映当前链路的状态,异构物理网络接口具有不同的资源分配特点,不同子流在网络层存在部分传输路径重合问题,上层应用的数据包在截止时间、重要性、失真率等方面存在差异,这些都将给端到端多路径传输中子流之间的智能协同带来影响.因此,仅仅依靠传统的传输层信息无法有效发挥多路径传输的优势,需要在传输层对其他层次的相关参数进行有效利用.为此,近年来有关研究着手利用物理层、链路层、网络层以及应用层的相关信息,通过跨层联合优化来有效地提升多路径传输的优势.比较了近年来利用跨层信息进行多路径传输优化的研究,分析了各层的功能特点及其与多路径传输的关系,并在最后对未来的研究趋势进行了展望.
2019, 30(2):323-345. DOI: 10.13328/j.cnki.jos.005635 CSTR:
摘要:基于覆盖协议和存储-携带-转发范式的延迟/中断容忍网络(delay/disruption tolerant network,简称DTN)被认为是应对空间环境挑战(如长延迟、间歇性连接等)的有效解决方案.接触图路由(contact graph routing,简称CGR)是一种利用空间DTN网络拓扑的先验知识来计算路径的动态路由算法.首先介绍了CGR的基本原理和算法过程,并给出了相关术语的定义及相应计算公式;然后,从路由环路避免、计算效率、路由准确性、拥塞控制、机会性扩展和异常处理方面总结了现有的CGR改进工作;接下来概述了已经进行的评估DTN协议栈和CGR适用性的代表性实测实验,并通过GEO/MEO/LEO卫星网络仿真实验,对比评估了CGR算法与多层卫星路由算法(multi-layered satellite routing algorithm,简称MLSR)的性能差异;最后给出了CGR的未来发展方向,包括扩展块CGR (CGR-extension block,简称CGR-EB)和缓存CGR (cache-CGR,简称C-CGR)整合、机会CGR、CGR向大型网络的扩展、服务质量保障CGR和接触计划描述方法改进等.
强敏 , 陈晓江 , 尹小燕 , 贾茹昭 , 徐丹 , 汤战勇 , 房鼎益
2019, 30(2):346-361. DOI: 10.13328/j.cnki.jos.005384 CSTR:
摘要:由于车辆节点与路边设施的强大存储与计算能力、良好的无线通信能力以及不间断的能量供应,车载自组网(vehicular ad-hoc network,简称VANET)可检测车辆行驶环境的变化,评测危险路况并预警,如前方事故现场预警、交叉路口防碰撞预警等,预估司机的反应时间,为安全驾驶及驾驶体验提供技术支持.但VANET中,数据传输面临无线信道质量不稳定、网络拓扑瞬息万变、无线链路寿命短、带宽受限、通信负载量大等多重挑战.因此,如何将数据及时而可靠地传输到"城市大脑",已成为一个研究热点.考虑存储成本、丢包惩罚与传输奖励,首先提出了面向VANET的混合流调度策略,为不同优先级的数据流分配传输资源;结合链路状况,接着提出了VANET中混合流调度与路径选择联合优化的数据传输策略,满足了强实时数据流对传输时延的需求,同时提高了弱实时数据流的传输可靠性.大量的仿真实验与性能分析表明,这些策略能够为VANET中数据传输提供QoS保障.
2019, 30(2):362-380. DOI: 10.13328/j.cnki.jos.005423 CSTR:
摘要:数据拥有性证明技术是当前云存储安全领域中的一大重要研究内容,目的是不必下载所有文件,就能安全而高效地远程校验存储在云服务器中的数据是否完整.目前已陆续提出了许多批处理数据拥有性证明方案,但大多数方案都没有考虑用户数据出错后的错误定位问题,仅有的几个批处理校验方案也只能单独定位错误数据所在服务器或其所属用户.提出了利用定位标签辅助第三方审计员快速定位错误的方法,并在Zhou等人工作的基础上,利用Merkle Hash Tree构造数据定位标签,实现了一个多用户、多服务器环境下支持批处理校验且具备错误数据定位功能的数据拥有性证明方案,可以在批处理校验失败后快速定位错误数据的拥有者和所在服务器.在随机谕言机模型下,该方案是可证明安全的,且性能分析表明,定位错误数据的能力和效率比其他具有单一定位功能的方案更高.
2019, 30(2):381-398. DOI: 10.13328/j.cnki.jos.005572 CSTR:
摘要:为了从根本上解决现有互联网存在的可扩展性、移动性和安全性等方面的问题,全新的未来互联网体系结构得到了广泛研究.其中,命名数据网络(named data networking,简称NDN)利用网内缓存和多路转发实现了基于层次化名字的高效数据传输,从根本上解决了现有互联网所面临的问题.内容的层次化名字具有数量庞大、结构复杂等特点,现有的基于IP的路由转发机制无法直接应用于NDN网络,需要有针对性地研究高效的层次化名字路由机制,保证海量网络内容的正常路由转发.路由聚合是缩减网络路由规模的主要措施.不同于现有的面向本地NDN路由表查表过程的优化,路由聚合需要全网协同处理,在不同网络节点上不断对聚合路由进行聚合.这对聚合路由标识和聚合路由可用性评估提出了诸多要求.为此,研究并提出了针对层次化名字路由的聚合机制,包括两个方面的工作:(1)构建了一种全新的计数布隆过滤器——堆叠布隆过滤器,该过滤器支持多过滤器合并,用于压缩表示被聚合路由名字;(2)给出了一种动态路由聚合机制,在保证NDN网络路由转发准确性的同时,缩小全网路由规模,最大程度地优化了路由转发效率.在真实网络拓扑上构建了仿真平台,经过实验验证,该路由聚合机制以可控的少量冗余转发为代价,有效地压缩了全网路由规模,提升了全网路由转发效率,保证了海量在线内容的高效路由转发,为NDN网络投入实际部署提供了前提.
2019, 30(2):399-415. DOI: 10.13328/j.cnki.jos.005585 CSTR:
摘要:Yao的混淆电路可用于客户端将函数计算外包给服务器,并可验证其正确性.然而,混淆电路仅能使用1次.Gennaro等人组合使用全同态加密和混淆电路,可实现客户端和服务器在多次输入上重用混淆电路.但是,所有已知的全同态加密在效率的提高上似乎仍有很大的空间,并且需要较强的困难性假设.另一方面,Gennaro等人的方案只能在敌手不能对客户端发起任何数量的验证查询这种较弱的模型下被证明是安全的.部分同态加密的困难性假设要弱于全同态加密,虽然只支持数量有限的同态操作,但比全同态加密运行速度更快、更加紧凑.提出了一个使用加同态加密的可验证计算方案.它基于DDH假设,能够容忍任意数量的恶意验证查询,采用的主要技术是可重随机化的混淆电路.该技术可以实现重随机化的混淆电路分布与原有的混淆电路分布在计算上是不可区分的.另外,也给出了一种使用可重随机化的混淆电路构造密码转置防火墙方案,称为可重用密码转置防火墙.也就是说,混淆电路可生成1次,接下来,密码转置防火墙可安全地重随机化和重用多次.
2019, 30(2):416-439. DOI: 10.13328/j.cnki.jos.005636 CSTR:
摘要:人类能够迅速地选取视野中的关键部分,选择性地将视觉处理资源分配给这些视觉显著的区域.在计算机视觉领域,理解和模拟人类视觉系统的这种注意力机制,得到了学界的大力关注,并显示出了广阔的应用前景.近年来,随着计算能力的增强以及大规模显著性检测数据集的建立,深度学习技术逐渐成为视觉注意力机制计算和建模的主要手段.综述了视觉注意力检测的最新研究进展,包括人眼关注点检测和显著物体检测,并讨论了当前流行的视觉显著性检测数据集和常用的评估指标.对基于深度学习的工作进行了综述,也对之前代表性的非深度学习模型进行了讨论,同时,对这些模型在不同的数据集上的性能进行了详细评估.最后探讨了该领域的研究趋势和未来的发展方向.
2019, 30(2):440-468. DOI: 10.13328/j.cnki.jos.005659 CSTR:
摘要:近年来,深度学习技术已经广泛应用到图像语义分割领域.主要对基于深度学习的图像语义分割的经典方法与研究现状进行分类、梳理和总结.根据分割特点和处理粒度的不同,将基于深度学习的图像语义分割方法分为基于区域分类的图像语义分割方法和基于像素分类的图像语义分割方法.把基于像素分类的图像语义分割方法进一步细分为全监督学习图像语义分割方法和弱监督学习图像语义分割方法.对每类方法的代表性算法进行了分析介绍,并详细总结了每类方法的基本思想和优缺点,系统地阐述了深度学习对图像语义分割领域的贡献.对图像语义分割相关实验进行了分析对比,并介绍了图像语义分割实验中常用公共数据集和性能评价指标.最后,预测并分析总结了该领域未来可能的研究方向及相应的发展趋势.
2019, 30(2):469-480. DOI: 10.13328/j.cnki.jos.005568 CSTR:
摘要:近年来,基于深度卷积神经网络的人脸活体检测技术取得了较好的性能.然而,深度神经网络被证明容易受到对抗样本的攻击,影响了人脸系统的安全性.为了建立更好的防范机制,需充分研究活体检测任务对抗样本的生成机理.相对于普通分类问题,活体检测任务具有类间距离小,且扰动操作难度大等特性.在此基础上,提出了基于最小扰动维度和人眼视觉特性的活体检测对抗样本生成算法,将扰动集中在少数几个维度上,并充分考虑人眼的视觉连带集中特性,加入扰动点的间距约束,以便最后生成的对抗样本更不易被人类察觉.该方法只需平均改变输入向量总维度的1.36%,即可成功地欺骗网络,使网络输出想要的分类结果.通过志愿者的辨认,该方法的人眼感知率比DeepFool方法降低了20%.
2019, 30(2):481-494. DOI: 10.13328/j.cnki.jos.005312 CSTR:
摘要:安全攸关反应式系统的核心要求是:必须在指定时间期限内完成对外部事件的检测和目标事件的响应,否则会产生灾难性的后果.随着安全攸关反应式系统对智能化需求的日益增加,将规则推理应用于这类系统成为必然趋势.规则调度是保证规则推理硬实时约束的关键.为此,提出了一种基于图模型的实时规则调度方法(graph-based real-time rule scheduling,简称GBRRS).该方法对基于事件图的实时规则推理过程进行建模,提出了基于图的端到端推理任务模型,并给出了端到端推理任务的调度算法,保证了规则调度的安全性.采用模拟实验对GBRRS方法进行了验证,实验结果表明,与DM-EDF方法(通过直接映射把规则上的推理操作转成推理任务后,用全局EDF算法对其进行调度的方法)相比,GBRRS方法在规则调度成功率上平均高出13%~15%,且在规则集的平均负载较高时,仍保持着80%以上的调度成功率.