并发数据结构主动测试方法研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:michael_lv
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
并发数据结构可以支持多线程并发访问。为了支持并发的访问,并发数据结构必须具有协调同时来自不同线程的读、写请求的能力。如何对并发数据结构进行测试是近些年的一个被不断研究的难题。首先,由于并发程序难以穷举的线程交互空间,如果不在测试的过程中加入主动的导向和控制,并发程序很难通过自身运行来触发一些潜在的并发错误。其次,因为并发数据结构并非一个完整的可以直接编译运行的程序,所以需要生成一个调用这个待测的并发数据结构的并发测试程序,然后通过编译并且执行这个并发测试程序来发现并发数据结构的潜在的错误。本文的主要研究工作及贡献如下:  第一,针对待测的C/C++并发数据结构,我们提出了并发测试程序自适应随机生成方法,并实现了相应的并发测试用例自动生成工具Mars。这些并发测试程序构成并发数据结构的测试用例。  第二,我们提出面向并发数据结构的适应式主动测试方法。这些适应式主动测试方法通过遴选最优测试用例对并发数据结构进行主动测试。  第三,我们通过对九个实际并发数据结构的实现进行测试,分析了我们提出的适应式主动测试方法的测试效率和错误发现能力。具体分析指标包括:完成完整的测试所需要的时间开销、完成完整测试所需要的主动测试的次数、发现潜在并发错误的能力,以及发现第一个并发错误所需要的时间。与Maple主动测试方法相比,我们提出的三种适应式主动测试方法只需执行更少的主动测试次数,能够在较大程度上缩短完整测试所需的时间开销,还可以发现更多的线程交错实例。
其他文献
城市的迅速扩展涌现出了大量的空间物品(POI,Points of interest),如餐馆、剧院、商场等,来提高人们的生活水平,人们越来越愿意去探究自己所生活的地方,依据自身的喜好来选择这些
防火墙与入侵检测作为保护网络安全的重要技术手段被广泛应用,但现有的安全产品往往将防火墙与入侵检测系统分开单独使用,不能满足网络安全整体化、立体化的要求。实现防火墙与
该文综述了直接转矩控制系统的发展现状,对它所存在的问题,特别是低速区存在的问题进行了分析、讨论,在提出直接转矩控制技术发展趋势的基础上,提出了该文研究的主要内容.该
随着现代软件工程的发展,基于软构件复用的系统开发方法成为了当前软件工程领域的一个研究热点,而构件库系统作为一种对基于构件的软件开发过程提供支持的重要设施也已经被广大
以往的工作中,大部分的研究和应用都是基于 L1-软间隔支持向量机方法的.该文首先较为系统地讨论了 L2-软间隔支持向量机方法,探讨了它与 L1-软间隔支持向量机方法相区别的一
现代计算机技术极大地促进了计算科学的发展。在实践中,由于受到物理器件极限速度和技术水平的限制,使单处理机远远满足不了现代许多领域中具有挑战性的大规模计算课题对计算资
ARM体系作为专为嵌入式系统设计的处理器内核,由于其高性能、低功耗、易扩展的特点,已经成为嵌入式系统领域应用最广泛的处理器之一.ARM体系嵌入式系统开发也面临着如何提高
该文主要围绕网络性能测试、网络传输模型分析、代理签名做了一些研究工作.网络测试是保证网络高性能、高可靠性和高可用率的基本手段,它在IP网络建设和发展中的重要意义正得
该文研究的目标是实现Apla-Java可重用部件库的并行(并发)机制.Apla-Java可重用部件库是PAR方法开发工具的重要组成部分.探索并实现可重用部件库的并行(并发)机制是PAR方法的
基于组件的软件工程的主要思想是使用已有的组件去构建一个大的软件系统。通过增强系统的灵活性和易维护性,使用这种开发方式能降低软件开发成本、快速集成系统、减少维护负担