【摘 要】
:
对于软件开发和维护人员来说,软件调试是日常性的工作。一般而言,软件调试过程包括错误定位、错误理解和错误更正。不幸的是,软件调试极其费时、费力,实证研究证实软件调试的开销己经超过软件开发费用的50%。为了应对这一挑战,人们提出软件调试的自动化处理,并且对其展开了广泛而深入的研究。但是,由于软件本身的复杂性,软件演化等原因,目前的自动化软件调试方法存在一些问题,如调试结果的质量不高,调试方法的适用性不
论文部分内容阅读
对于软件开发和维护人员来说,软件调试是日常性的工作。一般而言,软件调试过程包括错误定位、错误理解和错误更正。不幸的是,软件调试极其费时、费力,实证研究证实软件调试的开销己经超过软件开发费用的50%。为了应对这一挑战,人们提出软件调试的自动化处理,并且对其展开了广泛而深入的研究。但是,由于软件本身的复杂性,软件演化等原因,目前的自动化软件调试方法存在一些问题,如调试结果的质量不高,调试方法的适用性不强等。为了克服这些困难,进一步改进自动化软件调试方法,本文对软件调试展开了三个方面的研究,具体内容如下:基于模型诊断(MBD)的智能诊断理论应用到软件错误定位中取得了一定的效果。但是经典MBD理论基于元件间独立地发生故障这一假设,导致软件错误定位的结果中存在假阳性的诊断。论文对现有基于MBD的软件错误定位方法进行了改进,提出了冲突中元件的冗余分析方法。该方法既包括了基于Craig插值的元件冗余分析机制,同时利用条件语句取值的二元性(真或假)的特点,对冲突中的条件语句元件进行软件错误的无相关分析。实验结果表明:冲突中的元件冗余分析方法可以有效地减少诊断的假阳性率,将诊断结果数减少了 48.4%;在诊断计算过程中,碰集树生成的结点数减少了 47.6%.为了缓解由于软件演化造成的失效测试用例的维护困难,人们提出自动的JUnit单元测试用例修复方法。现有的JUnit测试用例修复方法仅仅通过修复断言和方法声明来对测试用例进行修复。实证研究表明,在实际的测试用例维护中,往往需要新的方法调用序列。本文给出一种修复JUnit的单元测试用例方法框架TestFix,该方法可以通过合成一方法调用序列来对单元测试用例进行修复。具体而言,TestFix将方法调用序列的合成问题归结为搜索问题,利用遗传算法对其求解。对真实项目中失效测试用例进行的修复实验表明,该方法能够通过增加、删除方法调用来对失效的JUnit单元测试用例展开修复。与此同时,对基于遗传算法的测试用例修复方法与基于完全随机算法的方法在性能进行了评估比较,结果发现,基于遗传算法的测试用例修复方法在性能上要优于基于完全随机算法的方法。基于搜索的自动程序修复方法利用遗传编程或完全随机的搜索方法搜索得到带bug的程序修复解,此类方法本身的随机性容易产生无意义的修复结果。基于变异枚举的方法借用了变异测试的思想,利用几个变异算子对出错语句进行变异操作来获得修复解。由于该方法缺乏文法指导及变异算子数量的有限,使得修复成功率不高。借助演示编程(Programming by Demonstration)的思想,提出一种基于变型空间代数的自动程序修复方法,具体而言,将程序的回归测试用例集看作训练实例,通过归纳学习得到的变型空间即包含了修复解。为此,对变型空间代数进行以下改进,(1)自动从文法到变型空间的构造生成方法,(2)根据变型空间的不同类型给出不同的定义,(3)结合类型检查机制的变型空间代数运算。实验结果表明:与基于代码枚举及基于搜索的修复方法相比,基于变型空间代数的自动程序修复方法在修复成功率方面更具优势;与此同时,方法中的类型检查机制可以有效地削减假设空间的规模。
其他文献
本论文旨在通过比较研究埃克哈特大师和老子,重新发现传统与原创双重意义上之形而上人学。两位大思想家皆为形而上学家及人学家,皆以承继各自传统的方式分别出离其思维语境,如今观之其理路仍不乏观照基于世俗性之后现代思想之洞见。该比较研究总体分为两部分:语境比较与文本比较,二者时常交织在一起。第一部分自形而上学关乎神圣本质的两大传统始。自然地,这其中既有分歧又有趋同:其形而上学歧见于语境之轩轾,而按照终极实在
面对传统上帝观因过于强调超越性而体现出的理论困境和实践困境(不能有效应对现代观念和危机的挑战),科布试图建立一个与现代世界紧密相关的、能够面对社会各种挑战的基督教,以期在现代社会中重建上帝的神圣及影响。因此,在哲学层面,科布以过程哲学为基础试图建构一种基督教新自然神学,过程哲学以具内在联系性的“事件”为本体且将上帝视为形而上学原理之内的示例事件,以泛经验主义为认识论等特征为科布上帝观之内在性(与世
《波恩笔记》是马克思在1842年波恩所做的关于五本不同宗教书籍的读书摘记。它形成于马克思开始脱离青年黑格尔学派时期。作为马克思研究的一块处女地,《波恩笔记》处于仍然在编纂过程中的MEGA2版的第一部分。这篇论文的目的在于对《波恩笔记》做一个介绍和研究。因此,整本论文分为两部分,一部分为翻译,另一部分为基于翻译之上的研究。对《波恩笔记》做翻译是很有必要的,这是因为《波恩笔记》由德语、法语以及少量的古
在任何一个国家,慈善机构都是一种非常重要的社会组织,为整个社会的进步和人类的发展都做出了重要的贡献。与此同时,随着社会文明的发展和进步,慈善机构也如雨后春笋般越来越多,遍及了人们生活的方方面面。然而,各个慈善机构也随之面临各种各样的问题,其中,面临的最严重也是最迫切需要解决的问题就是如何募集捐款,如何让捐赠者保持其捐赠行为,这样才可以实现慈善机构的长期可持续发展。以往的研究表明增强与捐赠者的互动和
近些年来,随着数字技术的日益发展,我国网民数量也不断增大,为各行各业都带来了极大的机遇和挑战。数字媒介相关的研究领域也不断扩展,从单纯的传播学相关的新媒体研究扩展到各种数字技术应用领域,其中数字学习就是极为重要的一个组成部分,填补了传统教育业的空白。泛在学习、移动学习等学习理念的普及使得学习不断呈现出新的发展态势。2012年,慕课元年的到来标志着新的基于个人学习环境的数字学习模式正式进入公众的视野
为了促进相邻沿海国家间关系的稳定与和平,《海洋法公约》禁止任何一方在争议海域内的单边行动,而是在相互合作的基础上提供了一个新的理论,进而更好地管理和利用海洋及其自然资源。《海洋法公约》使得缔约国能够以签署共同开发协定的方式为勘探和开发油气资源开展合作。这一规定有助于在解决自然资源的归属问题上缓解两国的紧张关系。此外,它还要求相关国家搁置海域划界争端而聚焦自然资源的共同管理。虽然非洲国家之间存在许多
现代密码技术是保障信息系统安全的基础,而作为密码算法运行载体的密码设备正受到多种侧信道分析攻击的威胁。目前学术界和工业界都已普遍接受侧信道分析方法对密码设备构成的严重威胁,并对侧信道防护方法进行了广泛的研究。目前的侧信道防护方法可以分为隐藏技术和掩码技术两类,其中算法级掩码防护方案是尤其受到关注的防护方法。在现有大量的掩码方案研究中,基于秘密共享的多种高阶掩码方案实现了在任意给定阶数下的可证明安全
根据摩尔定律,当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。现如今,半导体器件的特征尺寸从微米级缩减至7纳米,逐渐接近摩尔定律的极限。深纳米尺寸的电子器件面临众多复杂且难以解决的量子效应,给半导体行业带来前所未有的挑战。与此同时,人工智能飞速发展,由谷歌(Google)旗下DeepMind公司开发的人工智能机器人AlphaGo吸引人们对深度学习的
近年来,随着科技的迅猛发展,智能手机、电脑、可穿戴设备、智能家居设备和无人机等电子产品已被广泛使用并将逐步普及,这给人们的生活带来了极大的便利。然而,这些产品续航能力不足的问题也渐渐的凸显出来。可见,以低功耗设计为优化目标的产品是当今绿色智能电子设备发展的必由之路。智能电子设备中最重要的组成部分是处理器和存储器,这两部分通常也是功耗开销的主要部分。随着半导体工艺的进步,处理器的运行速度越来越快,而
软硬件划分是软硬件协同设计中关键步骤之一,随着嵌入式系统任务复杂度和设计规模的增加,已逐步成为一个具有挑战性的优化问题。粒子群算法因其概念简单、实现容易和收敛速度快,已被广泛应用于软硬件划分问题中。但是没有一种通用的算法能够有效地解决所有类型的软硬件划分问题,采用粒子群算法求解软硬件划分存在如下问题:1)早熟收敛;2)容易陷入局部最优解;3)时间开销高。为了解决粒子群算法求解软硬件划分中的问题,本