基于二型模糊逻辑的死锁与数据竞争检测方法研究

来源 :苏州大学 | 被引量 : 0次 | 上传用户:mikesh123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
多线程技术因其可以提高计算效率、共享数据存储和节省资源开销在程序开发中得到了广泛应用,然而随着多线程程序的复杂度越来越高,软件开发人员面临着程序设计中出现的大量并发错误,其中死锁和数据竞争是较为常见的错误。国内外很多机构在这一方面做了大量研究,并取得很多研究成果。目前死锁和数据竞争的检测方法可分为静态检测和动态检测,然而静态检测的精度低,存在很多误报,而动态检测的覆盖率低,存在漏报。此外在检测过程中,它们几乎都没有考虑到线程时序的不确定性,同时无法计算死锁和数据竞争发生的概率并根据概率生成优先级列表。针对这些问题,本文提出了基于二型模糊逻辑的死锁和数据竞争检测方法。方法分为四个步骤:(1)搜集可以静态确定线程时序的语句并定义规则库,根据此规则库,静态扫描目标程序,得到时序关系依赖图(Time Sequence Graph, TSG);(2)根据TSG图,使用静态分析技术对目标程序进行预处理,获得潜在死锁和数据竞争;(3)使用基于区间型二型模糊逻辑的隐马尔科夫模型(Interval Type-2Fuzzy Logic Hidden Markov Model, IT2FHMM)获得目标程序中所有潜在死锁和数据竞争位置点对的时序先后概率;(4)根据得到的时序先后概率对死锁和数据竞争进行评估,计算出所有死锁和数据竞争发生的概率,并通过发生概率生成死锁和数据竞争优先级列表供软件开发人员优先处理发生概率高的死锁和数据竞争。基于上述方法,本文开发了死锁检测工具DLdetector和数据竞争检测工具DRdetector,并将两个工具应用于实验,检测两组多线程程序。通过分析检测结果,表明本文方法可以有效提高死锁和数据竞争的检测精度,减少误报,并提供优先级列表。本文方法是该领域的一项新的探索,是现有检测工具的一项重要补充。
其他文献
近年来,空气质量问题受到社会各界的广泛关注。2012年2月,国家相关部门发布了新修订的《环境空气质量标准》,增设了PM2.5和O3浓度限值并对现有部分限值进行了调整,新标准势必要求
WebGIS是以互联网为环境,以Web页面作为GIS软件的用户界面,将Internet与GIS技术结合在一起,为各种地理信息应用提供GIS功能的技术[1],它将Web技术、GIS技术和数据库技术融为一体,
随着办公自动化的不断普及,信息采集系统已成为各个领域不可或缺的办公工具,数据作为信息采集系统最重要的部分,研究如何将数据以中文复杂报表的形式呈现出来是目前信息采集系统
多核和众核架构有望解决或缓解现代处理器设计面临的存储墙、线延迟和功耗问题,分片式处理器作为一种代表性的众核实现方案,强调功能单元的分布化、结构的层次化,将硬件细节暴露
随着网络技术的迅速发展,面向服务的体系架构(SOA)以其良好的可重用性、松耦合性和互操作性,已成为一种工业界和学术界广泛接受的网络化软件应用模式。Web服务作为SOA的主流
群体智能优化算法属于随机搜索算法的一种,由于其可以解决传统优化技术无法解决的优化问题,因此受到众多专家学者们的青睐。人工蜂群算法是新兴的群体智能优化算法,算法主要
校友是高校发展的重要资源,大量的校友信息蕴含在电子文本或者网页中,如何从中抽取出校友信息是一项很有价值的研究问题。传统的解决方法是使用实体抽取方法将人名看作候选校友
针对现有服务选择技术的不足,提出一种应用服务社会网络SSN(Service Social Network)机制的方法。算法主要通过社会网络原理,将Web候选服务根据联系紧密程度和服务本身的QoS属性
云计算及移动云计算因在时间效率,成本效益,以及高效利用计算资源等方面展现出了明显优势,从而备受业界的广泛关注。然而,在这一技术逐步发展的过程中仍存在大量亟需解决的问题,如
双语词表作为跨语言信息处理的基本纽带,是自然语言处理领域的重要资源,在统计机器翻译和跨语言信息检索等应用中发挥着重要的作用。本文在深入研究现有从可比较语料库构建双