基于SMT的并发程序可满足性验证

来源 :桂林电子科技大学 | 被引量 : 0次 | 上传用户:highlove
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着多处理器和多核计算的兴起,并发程序的验证逐渐成为学术界广泛关注的热点问题之一。然而,由于并发程序本身存在的线程交互性,使得程序的执行不具备确定性,即在相同的输入下,程序多次执行后的结果可能不同,或者执行结果相同但内部执行路径不同,上述两种情况都直接导致了传统的测试技术无法精确地发现并发程序中隐藏的错误和漏洞。因此,尽可能采用一种实用的形式化验证方法和理论技术来解决并发程序研发过程中潜在的问题,显得尤为重要与迫切。  在并发程序的验证技术中,可满足性分析是一项重要的核心技术,其基本思想主要是通过分析某一个给定的性质是否满足该并发程序模型,从而判定该程序是否存在错误或漏洞。本文分别针对基于共享变量和消息队列通信方式的并发程序进行可满足性分析,旨在通过可满足性分析保证此类程序的正确性和可靠性。基于上述思想,本文的研究工作主要包括:  (1)针对基于消息队列进行线程间交互的并发程序,本文采用了基于SMT(Satisfiability Modulo Theories)的有界模型队列对其进行可满足性公式编码。由于当前的SMT求解器所采用的SMT-LIB格式的输入语言并不直接支持队列理论,因此,为了能够准确地编码消息队列的行为,本文结合SMT求解器中的相关理论域,如未解释函数(uninterpreted function)和数组(array),分别提出两种不同的编码方法:shifting编码和cyclic编码。对于前一种编码方式,主要是采用不依赖于任何理论的布尔和位向量显式地表示队列中的内容,该技术可以直接应用于基于 BDD(Bounded Model Checking)或SAT/SMT的验证过程中;而对于后一种编码方式,本文重点采用基于未解释函数和数组的内容表示方法。最后对这两种编码方式进行了复杂度的比较。  (2)针对基于共享变量进行线程间交互的并发程序,本文采用了基于SMT的并发程序可满足性验证。由于SMT在表达能力上使用了含有量词和变量的一阶逻辑,能处理更加复杂的性质验证,并且提高程序验证的准确度,因此本文主要采用基于SMT的验证技术,同时为了能有效地限定允许交互的上下文切换数目、进一步约简验证并发程序的复杂度,本文还结合上下文限界(context-bounded)的思想,以及极小不可满足核(minimal unsatisfiable clauses)的查找技术,提出了一种针对并发路径程序模型(CTP)的可满足性判定算法。并且通过复杂度分析理论上证明该算法在一定程度上能够缓解对并发程序可满足性验证的复杂性。最后通过一个实例阐述了该方法的有效性。
其他文献
目的 研究根除胃内幽门螺杆菌(Hp)感染能否提高口腔牙周病的治疗效果.方法 从2018年1月至2020年1月前来四川省科学城医院口腔科、消化内科就诊患有牙周病合并存在胃内幽门螺
视频监控系统是银行安全防范系统的一个重要组成部分,其集成了计算机技术、网络技术、通信技术以及多媒体技术等,是当前的热点研究领域。随着银行业各种暴力及恐怖事件的发生
网络技术和Web服务技术的广泛应用,推动和促进了并行分布式计算的快速发展。并行分布式计算的主要特征包括并发性、分布性、实时性,具有这些复杂特征的并行分布式系统面临着
1998年1月6~7日,河北省科委、省新闻出版局在廊坊市召开了1997年度河北省科技期刊表彰大会。全省具有全国统一刊号的国家正式科技期刊100余家的代表近100人参加了会议。国家科
图是一种较为复杂的数据模型。与线性表和树相比,图能表达更多种类的信息。现实生活中很多场景都能用图表示,如最短路径的生成,疾病的传播,参考文献的引用等。图也能用来表示一些
20世纪90年代以来,伴随着信息技术、特别是网络技术的飞速发展,信息化成为普遍关注的一个焦点,节约资源,降低耗费的集约型经济增长方式是我国向节约型社会迈进的必由之路。In
考试是教学过程中的重要环节,是对学生所学知识和能力的一种评价,也是衡量教师教学效果优劣的一种教育测量手段,而考试中的命题是考试管理部门考前的准备工作之一,一份良好的
薛东生今年52岁,是通化市二道江区三道江村党总支书记兼村委会主任。他生在农村长在农村,受过穷,吃过苦,靠党的好政策,白手起家,经过不懈的奋斗,成为拥有400多万元资产的富裕
软件重用是提高软件开发效率的最有效方法之一。但仅仅程序源代码级的重用并不能给软件开发效率带来数量级的提高。以重用的思想指导整个开发过程更为关键。框架是近几年出现
举剑治腐力千钧,风清舵正行自远。近年来,柳州市纪委监察局认真贯彻执行党的反腐倡廉路线方针,结合柳州市改革与发展的实际,围绕经济建设这个中心,解放思想,创造性地开展党风