基于符号计数器抽象的并发布尔程序验证研究

来源 :桂林电子科技大学 | 被引量 : 0次 | 上传用户:cc249879369
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的快速发展和应用需求,多线程并发程序成为现代程序设计的重要目标。由于线程之间的相互交错执行,可能会产生许多难以发现的微小错误,因此,并发软件验证成为备受关注的研究领域。然而,模型检测并发软件面临严重的状态空间爆炸问题,即可达状态数随着并发线程的增加而呈指数增长,对并发软件直接采用模型检测方法进行验证的效率非常低,甚至无法在实际应用中实现。  推动模型检测发展的一个有效方法是谓词抽象,对源程序实施谓词抽象技术产生布尔程序,布尔程序作为软件验证的常用模型,虽缩减了状态空间,但仍是谓词抽象精化技术的瓶颈。为解决状态空间爆炸问题,本文围绕并发布尔程序的线程状态的可达性问题进行分析,为其提出了一些算法,并以一组布尔程序基准测试集证明了算法的有效性。主要工作与贡献如下:  (1)研究了带有有界线程创建的非递归并发布尔程序的可达性问题,结合on-the-fly技术提出了一种基于符号计数器抽象的判定方法。在计数器抽象方法中,计数器记录每个局部状态的执行线程数,由其构成的向量表示系统的全局状态。然而,在实际应用中,难以实现为每个局部状态引入一个计数器。本文的方法是仅为可达的局部状态引入计数器,同时在全局状态中保留局部状态至少有一个线程执行的计数器,去掉零值的计数器及其对应的局部状态,从而节省大量的存储空间。  (2)研究了带有无界线程创建的非递归并发布尔程序的可达性问题,在上一个方法的基础上进行了扩展,提出了一种基于Karp-Miller可覆盖树的判定方法。由于由未知个线程执行的有限状态并发程序,在任何程序状态都允许动态创建线程,从而会使线程总数增加,由此可能产生无限的状态空间,此种程序的验证问题是不可判定的。本文的方法是为布尔程序直接构建Karp-Miller可覆盖树,将线程状态的可达性问题简化为状态向量加系统的可覆盖性问题,从而证明可达性问题的可判定性,其优点是避免布尔程序静态转化为状态向量加系统时面临的状态空间爆炸问题。
其他文献
智能主体(intelligent agent)技术为复杂软件系统的分析、设计、及实现提供了一种崭新的问题求解范例。基于智能主体的计算被认为是软件发展中一个重大的突破(sargent,1992)和
该文的主要研究内容与贡献是:对带有换位操作的近似串匹配问题进行了讨论,提出了一个基于过滤思想的快速的串行算法.理论分析表明,在误差率α(α=k/m)比较小的情况下,该串行算法
论文根据TCP协议的设计特点,对TCP应用于异构网络环境可能出现的问题进行了全面的分析.在此基础上,我们考察各种可能的解决方案,如链路层上的方案,基于分段连接的方案,各种TC
装配序列规划是产品装配规划的重要内容,序列好坏将直接影响产品的可装配性和装配质量。20世纪90年代以来,国内外诸多学者基于遗传算法来解决装配序列规划问题,但多见于线性序
为提高售票系统网络数据库访问的安全强度,该文提出了 种数据库安全通信服务技术,使用数据库通信中间件、加密和基于证书的身份认证来提高售票系统数据库访问的安全性能.为提
在中国软件测试依然是新兴领域,与软件工程一样,仍然没有得到程序员的重视,该文首先阐述软件危机的原因及由此导致软件工程的产生.由软件工程又介绍了软件质量和软件测试的基
该文将传统的辞典与XML文档的特点相结合,提出了一种基于XML文档结构的辞典--“XML相似相关结构库”,简称为结构库.具体地说,该文的贡献如下:1.总结了XML查询和XML搜索技术的
该文研究基于关系的XML数据处理技术,对XML数据的有效检索、XML数据库系统和查询的可视化、环路查询处理、不同XML数据库系统实现的基准测试和XML的最优存储模式选择等方面的
随着多媒体技术和计算机通信的日益发展,具有庞大数据量的数字图像极大地制约了图像通信。采用有效的压缩编码技术删除冗余,以尽量少的比特数存储图像,并同时保证图像的质量,已成
分布式计算是当今计算机科学与技术发展的重要领域。计算机网络互连技术与通信技术的发展使越来越多的计算机系统可以通过互连形成网络计算机系统以满足各种数据处理中信息通