2024, 35(7):3314-3331.DOI: 10.13328/j.cnki.jos.006922
摘要:SMT求解器作为重要的基础软件, 其存在的缺陷可能会导致依赖于它的软件功能失效, 甚至带来安全事故. 然而, 修复SMT求解器缺陷是一个十分耗时的任务, 因为开发者需要花费大量的时间和精力来理解并找到缺陷的根本原因. 虽然已有许多软件缺陷定位方面的研究, 但尚未有系统的工作研究如何自动定位SMT求解器缺陷. 因此, 提出一种基于多源频谱的SMT求解器缺陷定位方法SMTLOC. 首先, 对于给定的SMT求解器缺陷, SMTLOC提出一种枚举算法, 用以对触发该缺陷的公式进行变异, 从而生成一组不触发缺陷, 但与触发缺陷的公式具有相似执行路径的证人公式. 然后, SMTLOC根据证人公式的执行路径以及SMT求解器的源码信息, 提出一种融合覆盖频谱和历史频谱的文件可疑度计算方法, 从而定位可能存在缺陷的文件. 为了验证SMTLOC的有效性, 收集60个SMT求解器缺陷. 实验结果表明, SMTLOC的缺陷定位效果明显优于传统的频谱缺陷定位方法, SMTLOC可以将46.67%的缺陷定位在TOP-5的文件内, 定位效果提升了133.33%.
2023, 34(5):2231-2250.DOI: 10.13328/j.cnki.jos.006403
摘要:深度神经网络已经在自动驾驶和智能医疗等领域取得了广泛的应用.与传统软件一样,深度神经网络也不可避免地包含缺陷,如果做出错误决定,可能会造成严重后果.因此,深度神经网络的质量保障受到了广泛关注.然而,深度神经网络与传统软件存在较大差异,传统软件质量保障方法无法直接应用于深度神经网络,需要设计有针对性的质量保障方法.软件缺陷定位是保障软件质量的重要方法之一,基于频谱的缺陷定位方法在传统软件的缺陷定位中取得了很好的效果,但无法直接应用于深度神经网络.在传统软件缺陷定位方法的基础上提出了一种基于频谱的深度神经网络缺陷定位方法Deep-SBFL.该方法首先通过收集深度神经网络的神经元输出信息和预测结果作为频谱信息;然后将频谱信息进行处理作为贡献信息,以用于量化神经元对预测结果所做的贡献;最后提出了针对深度神经网络缺陷定位的怀疑度公式,基于贡献信息计算深度神经网络中神经元的怀疑度并进行排序,以找出最有可能存在缺陷的神经元.为验证该方法的有效性,以EInspect@n(结果排序列表前n个位置内成功定位的缺陷数)和EXAM(在找到缺陷元素之前必须检查元素的百分比)作为评测指标,在使用MNIST数据集训练的深度神经网络上进行了实验.结果表明,该方法可有效定位深度神经网络中不同类型的缺陷.
2018, 29(6):1756-1769.DOI: 10.13328/j.cnki.jos.005287
摘要:缺陷定位是软件调试的重要阶段,依赖程序频谱信息实现软件缺陷定位,是当前比较行之有效的方法.基于频谱缺陷定位方法应用的前提是,程序频谱和执行结果之间存在的潜在关联.通过经验性分析两者之间的内在关联,借助于统计学的条件概率思想,构建了用以量化分析两者关系强弱的P模型,并基于此提出了基于条件概率的缺陷定位方法.以Siemens套件中的7个程序、Space程序和3个Unix工具程序为基准评测对象,与已有的15种经典缺陷定位方法进行了对比实验.实证研究结果表明,该方法总体上具有更好的缺陷定位效果.
2016, 27(8):1993-2007.DOI: 10.13328/j.cnki.jos.004858
摘要:故障定位是软件调试过程中耗力和耗时的活动之一,尤其是对规模大和复杂性高的软件.目前的一些定位技术可分为两类:基于组件和基于语句.前者太粗,不能准确地定位到地方;后者太细,运算复杂度过大.提出一种新技术,称为二次定位策略(double-times-locating,简称DTL),来定位故障:第1次定位,从程序中抽象出函数调用图,再从函数调用轨迹中建立程序谱,最后用基于模型的诊断(model-based diagnosis,简称MBD)对可能含有故障的函数进行排序;第2次定位,利用DStar定位函数中故障的代码行.实验结果表明,该技术比目前基于统计的方法更有效.
2015, 26(2):390-412.DOI: 10.13328/j.cnki.jos.004708
摘要:基于程序频谱的动态缺陷定位是软件自动化调试研究中的一个热点问题,通过搜集测试用例的程序频谱和执行结果,基于特定模型以定位缺陷语句在被测程序内的可能位置.对近些年来国内外学者在该研究领域取得的成果进行系统总结:首先,给出预备知识和基本假设;随后,提出缺陷定位研究框架并识别出框架内一系列可影响缺陷定位效果的内在影响因素,包括程序频谱构造方式、测试套件构成和维护、内在缺陷数量、测试用例预言设置、用户反馈和缺陷修复开销等;接着,对实证研究中采用的评测指标和评测程序进行总结和分析;然后,对缺陷定位方法在一些特定测试领域中的应用进行总结;最后,对该领域未来值得关注的研究方向进行了展望.
2015, 26(4):886-903.DOI: 10.13328/j.cnki.jos.004761
摘要:可靠性是衡量软件质量的一个重要指标.在线预测和提高软件可靠性是一个重要的研究课题.目前大多数在线预测和提高软件可靠性的方法具有如下弱点:不能预测软件不同时段的可靠性,且不能定位导致可靠性下降的组件.针对服务组合软件系统,提出在线提高可靠性的方法.通过观测端口失效数据,预测在线系统在不同时段的可靠性.当预测到的可靠性低于预期时,则采用改进的基于频谱的错误定位方法,定位出导致问题的故障组件,再通过添加新组件或替换故障组件的方法对软件系统重新配置,从而在线自动提高软件系统可靠性.使用在线商店的事例来说明方法的有效性.
2015, 26(4):927-944.DOI: 10.13328/j.cnki.jos.004812
摘要:在宽带无线网络中,频谱是重要但很稀缺的资源.随着无线网络规模的迅速增长,有限的频谱资源已无法满足日益增长的移动流量.为缓解网络压力、提高频谱资源的利用效率,频谱资源管理机制得到了广泛的关注.首先简述无线通信中频谱资源的基本知识,并分析频谱使用所面临的主要挑战;然后,从传统的静态频谱管理和正在成为主流的动态频谱管理两个方面对宽带无线网络中的频谱资源管理研究进行分类总结和分析评价;最后,从管理架构和关键要素两个层面对频谱资源管理未来研究的发展趋势进行了展望.
2014, 25(s1):47-55.
摘要:为了实现认知无线传感器网络(CRSN)在授权频段的连续可靠通信,结合协作感知和宽带感知策略,提出了一种CRSN架构.通过在网络中部署专门负责频谱感知的认知节点,将频谱感知与数据传输功能进行了合理分配.在最大化感知和传输时间的同时,实现了频谱的实时感知和数据的连续传输,进而提高了频谱检测率和网络吞吐量.同时,由认知节点协作对宽带进行多信道联合检测,除了可以提高检测的可靠性,还有利于实现CRSN对授权频段的连续接入,进一步保证网络数据传输的连续性.通过仿真对不同硬融合准则下的平均网络吞吐量进行了分析和比较,结果表明该网络架构可以获得更高的吞吐量.
2014, 25(3):606-630.DOI: 10.13328/j.cnki.jos.004522
摘要:认知无线电技术被认为是解决目前频谱资源利用率低下问题最有前景的技术,基于该技术,认知无线电网络采用动态频谱接入方式有效地提高了授权频段的利用率.然而,动态变化的信道可用性极大地增加了认知无线电网络组网的难度.信道交汇旨在为用户通信提供公共传输媒介,是实现无线网络组网的基础.介绍了认知无线电网络信道交汇的基本概念和特点,并阐述了信道交汇策略设计面临的挑战以及应考虑的性能指标.提出了信道交汇策略的分类标准和系统模型,根据该分类标准,详细剖析了当前信道交汇策略相关的研究工作.最后,讨论了认知无线电网络信道交汇研究的开放性问题,以期为未来的研究指出可能的方向和重点.