分享到:

程序调试中的错误定位方法

本文从实际应用出发,简要地阐述了反向跟踪与正向跟踪法、静态分段与  (本文共4页) 阅读全文>>

中国矿业大学
中国矿业大学

基于因果推理与聚类分析的软件错误定位

程序调试是保障软件系统可靠性的重要手段。针对软件测试时检测到的错误,程序调试要求开发人员在充分理解软件系统结构和功能需求的基础上,能够高效地定位错误位置,并开展修复工作。然而,错误定位并不是一项简单的工作:错误状态在语句间、方法间、模块间、系统间不断地传播,由此使得最终的错误结果与最初的错误状态存在很大的差异,开发人员很难直接发现错误位置。与此同时,软件技术的不断进步以及软件需求的不断增加使得当前软件系统的代码规模、功能、逻辑复杂度需求不断增高,更是增加了开发人员的程序调试工作量和错误定位难度。因此,当前迫切需要高效自动化错误定位方法的支持,来帮助开发人员缩小错误范围、获取指导信息,从而提高程序调试以及软件开发的效率。软件错误定位可以理解为针对程序执行失败这一现象寻找引发该现象原因的因果推理过程。由于软件错误定位本身所具有的现实意义,研究人员对其进行了广泛而深入的研究,并提出了多种理论分析与错误定位方法。然而,现有方法在实践中还...  (本文共170页) 本文目录 | 阅读全文>>

中国矿业大学
中国矿业大学

基于图挖掘的错误定位方法研究

现如今计算机软件已经涉及社会发展的各个方面,为了保证软件质量,人们更加注重软件测试。程序调试是软件测试中比较困难的任务,其中错误定位是程序调试中比较费力的一步,提升软件错误定位效率能够有效减小调试代价。因此,研究有效的错误定位方法,对提高程序调试效率,减少软件测试的成本以及保证软件的质量具有重要意义。国内外众多研究人员提出了多种软件错误分析与定位方法,然而现有方法在错误定位过程中存在忽略了一些程序执行统计信息和错误定位结果缺少错误相关上下文信息等问题。本文在分析研究了已有方法与技术的基础上,针对性地提出了基于图挖掘与支持向量机的错误定位方法和基于化学反应优化的错误定位方法,并且实现了一个基于化学反应优化的错误定位工具。针对现有方法在错误定位过程中忽略了一些程序执行统计信息的问题,本文提出了一种基于图挖掘与支持向量机的错误定位方法。该方法首先收集程序执行轨迹并建模为软件行为图;之后,约简行为图构建加权软件行为图,并且利用图挖掘算法...  (本文共71页) 本文目录 | 阅读全文>>

大连海事大学
大连海事大学

软件调试中多错误定位的算法研究

软件的测试、调试和验证占据了软件开发过程中的绝大部分的开销。这很大程度上是由于这个过程需要很多的人员参与,尤其是诊断出导致执行测试用例失效的错误。定位软件中的错误直接影响了软件的有效性,修正软件中的错误直接影响了软件的可靠性。所以能够自动诊断错误的技术势必可以帮助开发者提高软件的有效性,大大节约开发成本。近些年来,很多专家学者都在从事研究错误定位技术,并且提出了多种方法,广泛地应用在软件工程自动化领域。基于程序谱的软件错误定位技术SFL (Spectrum-Based Fault Localization)就是其中一种轻量级的诊断技术。SFL通过运行大量测试用例,比较程序谱的成功测试用例运行和失效测试用例运行的差异来进行错误诊断,定位出有问题的语句。SFL能够处理实验程序,它通过减少调试过程中的时间开销而缩短了测试-诊断-修正循环。但是现实中仍然存在着各种各样的程序错误使得SFL技术得不到很好的效果。本论文归纳了关于SFL的技术...  (本文共59页) 本文目录 | 阅读全文>>

北方工业大学
北方工业大学

针对软件调试的辅助代码推荐

随着互联网产业的快速发展,对软件的需求和质量要求越来越高,软件的设计模式也就越来越复杂,这对软件的调试提出了新的挑战。提高软件质量已成为软件工程领域最重要的问题之一,但是目前的技术还不存在可以开发出无缺陷的软件。对于某些项目来说,调试需要占用整个软件开发过程中50%以上的资源消耗和人力消耗。因此,对于软件调试的研究是很有必要的,提高软件调试效率,降低调试成本已成为软件质量保证中的重要课题。故障理解作为软件调试最重要的阶段之一,早已成为国内外学者的研究热点。软件规模的增大,复杂程度的提高,程序执行信息的大量增长,这使得当今故障理解技术面临着严峻的挑战。而推荐系统具有从海量信息中识别出关键信息的能力。因此本文从关键信息识别和代码推荐入手,以提高软件调试效率为目标,提出针对软件调试的辅助代码推荐方法。针对目前软件调试技术中缺乏关于故障理解的研究,本文提出基于用户行为的软件调试分析方法。利用Eclipse插件实现用户调试行为信息的监控与...  (本文共99页) 本文目录 | 阅读全文>>

郑州大学
郑州大学

改进的基于程序谱概念格的程序错误定位技术研究

在软件开发的过程中,软件调试和软件维护所占的开销越来越大,软件调试是软件开发过程中最困难、最费时的任务之一。在软件调试过程中,程序员需要不断迭代运行程序,找出程序中可能存在的错误并给予修改。随着软件的复杂多样化和软件规模的不断扩大,软件调试变得越来越困难,半自动化或自动化的程序错误定位技术应运而生,逐步提高了程序错误定位的效率。基于程序谱的软件错误定位技术是近年来研究热点之一,它是通过运行测试用例,得到程序的运行轨迹信息并计算每个程序元素的可疑度来进行错误定位。这种技术对测试覆盖信息的搜集比较简单,定位效率也相对较高,然而,当程序中的多种错误引起同一语句的测试叠加失效时,由于缺乏程序上下文信息,程序员很难根据单个程序语句判断失效的测试语句,会引起失效测试语句叠加,从而导致定位效率降低。本论文首先介绍了基于程序谱的错误定位技术和概念格的相关理论,在基于程序谱的错误定位基础上,参考基于程序谱概念格的软件错误定位技术的不足,在可疑度构...  (本文共54页) 本文目录 | 阅读全文>>