共查询到18条相似文献,搜索用时 71 毫秒
1.
2.
基于Wi-Fi接收信号强度的室内定位技术因其良好的定位性能获得广泛关注。为了提高定位精度,需要构建高密度信号指纹数据库。但是创建与维护数据库需要投入大量人力物力,高密度信号指纹数据库还会增加定位所需时间,实时性难以得到保证。针对上述问题,提出一种基于高斯过程的两阶段信号指纹定位算法:利用高斯过程,在训练数据库基础上,生成高密度虚拟信号指纹数据库;定位过程中首先使用训练数据库确定大致范围,然后使用虚拟数据库进行精确定位。仿真结果显示,该算法与K近邻算法相比定位精度平均提高了81.9%,定位时间平均减少86%,从而验证了算法的有效性。 相似文献
3.
4.
软件缺陷定位是指找出与软件失效相关的程序元素. 当前的缺陷定位技术仅能产生函数级或语句级的定位结果. 这种粗粒度的定位结果会影响人工调试程序和软件缺陷自动修复的效率和效果. 专注于细粒度地识别导致软件缺陷的具体代码令牌, 为代码令牌建立抽象语法树路径, 提出基于指针神经网络的细粒度缺陷定位模型来预测出具体的缺陷代码令牌和修复该令牌的具体操作行为. 开源项目中的大量缺陷补丁数据集包含大量可供训练的数据, 且基于抽象语法树构建的路径可以有效捕获程序结构信息. 实验结果表明所训练出的模型能够准确预测缺陷代码令牌并显著优于基于统计的与基于机器学习的基线方法. 另外, 为了验证细粒度的缺陷定位结果可以贡献于缺陷自动修复, 基于细粒度的缺陷定位结果设计两种程序修复流程, 即代码补全工具去预测正确令牌的方法和启发式规则寻找合适代码修复元素的方法, 结果表明两种方法都能有效解决软件缺陷自动修复中的过拟合问题. 相似文献
5.
软件测试是生产可靠软件的重要保障,对测试所发现缺陷的解决可以分为缺陷定位和缺陷修改两个步骤[1],其中的缺陷定位是最耗时的.通常情况下,测试套件中成功执行的测试用例都占绝大多数,对基于程序频谱的缺陷定位方法,应该具备自主调节成功测试用例覆盖比重的能力,以提高方法的可用性.即,随着语句被成功测试用例覆盖的次数增多,该语句的覆盖次数对怀疑率的贡献度应逐渐减小,成功测试用例数的有效处理能提高缺陷定位方法的效果.基于此,本文提出EPStar(EP*)缺陷定位方法,该方法可以有效调整成功执行用例数的影响,以避免成功用例数量对缺陷定位效果的过度影响,从而提高缺陷定位的准确性,通过实验对比,说明了EP*方法比现有的几种缺陷定位方法具有更高的缺陷定位精度. 相似文献
6.
7.
8.
缺陷的存在,会影响软件系统的正常使用甚至带来重大危害.为了帮助开发者尽快找到并修复这些缺陷,研究者提出了基于信息检索的缺陷定位方法.这类方法将缺陷定位视为一个检索任务,它为每个缺陷报告生成一份按照程序实体与缺陷相关度降序排序的列表.开发者可以根据列表顺序来审查代码,从而降低审查成本并加速缺陷定位的进程.近年来,该领域的研究工作十分活跃,在改良定位方法和完善评价体系方面取得了较大进展.与此同时,为了能够在实践中更好地应用这类方法,该领域的研究工作仍面临着一些亟待解决的挑战.对近年来国内外学者在该领域的研究成果进行系统性的总结:首先,描述了基于信息检索的缺陷定位方法的研究问题;然后,分别从模型改良和模型评估两方面陈述了相关的研究进展,并对具体的理论和技术途径进行梳理;接着,简要介绍了缺陷定位的其他相关技术;最后,总结了目前该领域研究过程中面临的挑战并给出建议的研究方向. 相似文献
9.
缺陷定位是软件调试过程中的重要环节,它通过利用程序信息和测试信息来定位软件中的错误.借助于事件信息量,提出一种基于事件信息量的缺陷定位方法——SIQ(suspiciousness based on information quantity).SIQ方法根据测试信息中不同事件的类型及其发生的概率,结合语句的执行信息,动态计算和调整缺陷定位的结果.通过大量的实验分析和对比,SIQ方法在多个数据集上表现出了很好的稳定性,与几种现有的缺陷定位方法相比,SIQ方法的缺陷定位效果也更加准确. 相似文献
10.
《计算机应用与软件》2017,(8)
对于大型开源软件项目来说,用户提交了海量缺陷报告,人工分发缺陷时会出现大量的错误分配。提出OSDR(Open Software Developer Recommendation)方法通过计算新缺陷报告和历史缺陷报告之间的文本相似度,基于K最近邻算法得到相似度最高的K个历史缺陷报告及其对应的修复人列表,再基于频率和社交网络图的各项指标对开发者专业能力进行评价。从Mozilla Firefox缺陷库中采集真实实验数据,比较不同社交网络指标在推荐修复人时的准确率与召回率。结果表明,推荐性能最高的指标是频率和出度,其准确率大约在0.6左右;Betweenness和Closeness的推荐效果最差;度、入度以及PageRank推荐效果良好。 相似文献
11.
12.
为了降低缺陷定位过程中的人力成本,研究者们在缺陷报告的基础上提出了许多基于信息检索的缺陷定位模型,包括使用传统特征和使用深度学习特征进行建模的定位模型.在评价不同缺陷定位模型时设计的实验中,现有研究大多忽视了缺陷报告所属的版本与目标源代码的版本之间存在的“版本失配”问题或/和在训练和测试模型时缺陷报告的时间顺序所引发的“数据泄露”问题.致力于报告现有模型在更加真实的应用场景下的性能表现,并分析版本失配和数据泄露问题对评估各模型真实性能产生的影响.选取6个使用传统特征的定位模型(BugLocator、BRTracer、BLUiR、AmaLgam、BLIA、Locus)和1个使用深度学习特征的定位模型(CodeBERT)作为研究对象.在5个不同实验设置下基于8个开源项目进行系统性的实证分析.首先, CodeBERT模型直接应用于缺陷定位效果并不理想,其定位的准确率依赖于目标项目的版本数目和源代码规模.其次,版本匹配设置下使用传统特征的定位模型在平均准确率均值(MAP)、平均序位倒数均值(MRR)两个指标上比版本失配实验设置下最高可以提高47.2%和46.0%, CodeBERT模型的效果也... 相似文献
13.
SMT求解器作为重要的基础软件, 其存在的缺陷可能会导致依赖于它的软件功能失效, 甚至带来安全事故. 然而, 修复SMT求解器缺陷是一个十分耗时的任务, 因为开发者需要花费大量的时间和精力来理解并找到缺陷的根本原因. 虽然已有许多软件缺陷定位方面的研究, 但尚未有系统的工作研究如何自动定位SMT求解器缺陷. 因此, 提出一种基于多源频谱的SMT求解器缺陷定位方法SMTLOC. 首先, 对于给定的SMT求解器缺陷, SMTLOC提出一种枚举算法, 用以对触发该缺陷的公式进行变异, 从而生成一组不触发缺陷, 但与触发缺陷的公式具有相似执行路径的证人公式. 然后, SMTLOC根据证人公式的执行路径以及SMT求解器的源码信息, 提出一种融合覆盖频谱和历史频谱的文件可疑度计算方法, 从而定位可能存在缺陷的文件. 为了验证SMTLOC的有效性, 收集60个SMT求解器缺陷. 实验结果表明, SMTLOC的缺陷定位效果明显优于传统的频谱缺陷定位方法, SMTLOC可以将46.67%的缺陷定位在TOP-5的文件内, 定位效果提升了133.33%. 相似文献
14.
当软件缺陷报告在跟踪系统中被指派给开发人员进行缺陷修复之后,缺陷修复人员就需要根据提交的缺陷报告来进行软件缺陷定位,并做出相应的代码变更,以修复该软件缺陷.在缺陷修复的整个过程中,软件缺陷定位占用了开发人员大量的时间.提出了一种方法级别的细粒度软件缺陷定位方法MethodLocator,以提高软件修复人员的工作效率.MethodLocator首先对缺陷报告和源代码方法体利用词向量(word2vec)和TF-IDF结合的方法进行向量表示;然后,根据源代码文件中方法体之间的相似度对方法体进行扩充;最后,通过对扩充后的方法体和缺陷报告计算其余弦距离并排序,来定位为修复软件缺陷所需做出变更的方法.在4个开源软件项目ArgoUML、Ant、Maven和Kylin上的实验结果表明,MethodLocator方法优于现有的缺陷定位方法,它能够有效地将软件缺陷定位到源代码的方法级别上. 相似文献
15.
缺陷定位是软件工程研究最活跃的领域之一.大部分软件缺陷都会被提交到类似于Bugzilla和Jira的缺陷追踪系统中.由于提交的缺陷报告数量过多,开发人员不能及时处理,因而迫切需要一个自动化工具来帮助开发人员识别缺陷相关源代码文件.研究人员已提出了大量缺陷定位技术.基于信息检索的软件缺陷定位技术(information retrieval-based bug localization,简称IRBL)利用了缺陷报告的文本特性,并且由于计算成本低、对不同的程序语言更具普适性而成为缺陷定位领域的研究热点,取得了一系列研究成果.然而,IRBL技术也在数据预处理、相似度计算和工程应用等方面存在诸多挑战.鉴于此,对现有的IRBL技术进行梳理总结,主要内容包括:(1)梳理了IRBL中数据预处理的过程和信息检索通用方法;(2)对IRBL技术中利用的数据特征进行了详细的分类和总结;(3)总结了技术评估中使用的性能评估指标;(4)归纳出了IRBL技术的关键问题;(5)展望了IRBL技术的未来发展. 相似文献
16.
在软件开发和维护过程中,缺陷修复人员通常根据由终端用户或者开发/测试者提交的缺陷报告来定位和修复缺陷.因此,缺陷报告本身的质量对修复人员能否快速准确定位并修复缺陷具有重要的作用.围绕缺陷报告质量的刻画及改进,研究人员开展了大量的研究工作,但尚未进行系统性的归纳.旨在对这些工作进行系统性地梳理,展示该领域的研究现状并为未来的研究方向提供参考意见.首先,总结了已有缺陷报告存在的质量问题,如关键信息缺失、信息错误等;接着,总结了对缺陷报告质量进行自动化建模的技术;然后,描述了一系列对缺陷报告质量进行改进的方法;最后,对未来研究可能面临的挑战和机遇进行了展望. 相似文献
17.
18.
软件缺陷报告的严重性对缺陷的解决具有关键作用。随着软件规模的不断扩大,使用开源的软件缺陷跟踪系统成为海量缺陷信息数据的主要处理方法。分析缺陷报告严重性在数据仓库中的作用,是处理软件缺陷的重要内容。通过对Bugzilla缺陷跟踪系统数据的研究和分析,发现不同项目的属性特征差异较大,同时在修复率、解决时长、开发者、组件等属性上的统计特征具有一致性。对Mozilla项目和Eclipse项目的数据进行系统分析,并根据不同组件和项目中严重性程度分布情况,认为软件缺陷报告严重性程度的提升会导致缺陷修复率的提高,同时严重性程度为normal级别的缺陷解决时长最短,开发者持有缺陷的数量越高其修复率越低。 相似文献