并发程序精化验证及其应用

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:jojo0911216779
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
许多程序验证问题都可以被归结为精化验证,即证明一个较具体的程序不会比一个较抽象的程序产生更多的行为。本文发掘了在并发环境下精化验证的应用场景,并提出若干种可以支持这些精化应用实例的验证技术。具体来说,本文在理解和验证并发程序精化方面做出了如下贡献。首先,本文提出了一种基于依赖/保证的模拟关系RGSim,作为并发程序精化的通用验证手段。这一新颖的模拟关系将线程和并发环境之间的交互作为参数,从而获得可组合性,支持模块化验证。同时,它将精化应用中对并发环境的特定前提参数化,因而具有较好的灵活性和实用性。我们应用RGSim验证了并发环境下的几种程序优化。此外,我们还将并发垃圾收集器的验证归结为精化验证,并提出一种基于RGSim的通用验证框架。使用这一框架,我们验证了Boehm等人提出的并发的标记-清扫垃圾收集算法。其次,本文提出了一种霍尔风格的程序逻辑,用于高效地、模块化地验证并发对象的线性一致性。这是并发程序精化验证的一种重要应用。作为该程序逻辑的一部分,我们提出了一种轻量的辅助代码插桩机制。我们的程序逻辑支持可线性化点不固定的并发算法,这些算法的验证难度很大。具体包括:使用帮助机制的无锁算法(如HSY栈),可线性化点依赖未来不确定执行的算法(如懒惰集合算法),以及同时有这两种特性的算法(如RDCSS算法)。我们还扩展了模拟关系RGSim以支持可线性化点不固定的程序,新的模拟关系保证了我们的程序逻辑的可靠性,它可以蕴涵一种上下文精化关系,该精化关系与线性一致性等价。我们应用这一程序逻辑验证了12个著名的并发算法,其中两个算法已经在Java并发包java.util.concurrent中使用。最后,本文展示了一个用精化关系刻画并发对象完整正确性(包括线性一致性以及各种进展性性质)的统一框架。我们证明了对于满足线性一致性的并发对象,每种进展性性质等价于一种特定的对终止性敏感的上下文精化关系。我们用上下文精化关系统一了并发对象的线性一致性和所有常见的进展性性质,包括无等待性、无锁性、无阻碍性、无饥饿性和无死锁性。根据这一结果,对于任何使用并发对象操作的客户端程序,我们可以模块化地验证该客户端程序的安全性和终止性。另一方面,它也告诉我们,有希望借鉴已有的验证上下文精化的技术来同时验证线性一致性和进展性性质。
其他文献
在职业学校的办学过程中,人力资源管理起着至关重要的作用,促进职业学校人力资源管理的改革,对于职业学校的发展十分有必要。本文对分析了职业学校人力资源管理的主要问题,提出了
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
船载航行数据记录仪(VDR)是一种记录船舶航行状态及操作信息的装置,对加强船舶的海上航行安全以及事故分析具有重要的作用。VDR中需要记录驾驶室声音和雷达图像的大量数据,声
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
艺术设计是一门以创新为生命的应用性学科。创新是现代艺术设计的本质属性之一,创新思维作为现代艺术设计的灵魂,在设计活动中起着十分重要的作用。现代艺术设计人员要注重理论
多媒体信息技术作为一种教学手段的介入,提高美术教学质量,同时提高了教学容量,增强学生学习的效率,初中美术设计课程需要扩大学生知识面,激发学生想象力,培养学生的实践能力,提高学
和平主义是近代西方具有广泛影响的社会思潮。从晚清到民国,欧美和平运动在中国受到持续的关注,部分人士与西方和平主义者接触,并参加了一些相关的活动。至20世纪30年代,国内
苏联艺术家作为当年西方艺术市场的宠儿,如今被中国艺术家所取代。乖巧的中国"当代艺术家",一眼看到了先前大红大紫的苏联政治波普,立刻看懂了西方艺术市场喜欢什么,什么东西
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield