基于JPF的软件模型检测分析与应用

被引量 : 0次 | 上传用户:gg106419
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
形式化方法是提高并发系统的安全性与可靠性的重要手段。模型检测是一种对有限状态并行系统进行形式化验证的方法,并已初步应用于各种软件的安全性和可靠性验证中。软件模型检测过程中最大的问题,是如何缓解状态空间爆炸问题。JPF(Java Pathfinder)是一种精确的Java字节码状态模型检测工具。JPF为Java程序的模型检测提供了很好的实现方法,对并行程序中存在的死锁和数据竞争等问题,以及未处理异常等与Java运行时相关的程序漏洞,JPF都可以有效地进行模型检测。JPF工作在Java虚拟机之上,通过VM来对系统状态进行搜索和管理,使用启发式选择生成器来构建系统的状态转移。JPF提供了SearchListener和VMListener、MJI、字节码工厂及报告系统等丰富的扩展方式。针对Java程序本身的特点,JPF提供了一系列限制状态空间爆炸的可行性方案,包括偏序规约、对称规约、谓词抽象等。本文基于JPF提出了一种软件模型检测工具的通用设计策略,包括状态管理、搜索策略和环境模拟等;实现了基于Eclipse的Java模型检测平台,使得程序员可以在编写代码的同时实时检测自己的代码;扩展了JPF的错误轨迹输出方式,在只关注系统漏洞位置的情况下,可以通过忽略系统反例细节的方式来加速程序的模型检测过程。通过多个实例验证,表明了本文提出的软件模型检测工具设计策略的有效性和基于Eclipse的Java模型检测平台的可靠性。JPF对提高Java程序软件的安全性、保证软件质量和发掘软件中的漏洞发挥着重大作用,有着广阔的发展前景,需要进一步的深入研究。
其他文献
目的观察抑癌基因第10号染色体缺失的磷酸酶和张力蛋白同源物基因(PTEN)与磷脂酰肌醇3激酶(PI3K)/丝氨酸苏氨酸蛋白激酶(AKT)信号通路在溃疡性结肠炎(UC)炎症-肿瘤序列演进过
函数是数学的重要基础概念之一,函数概念能深刻地反映客观世界的运动和实际的量之间的依赖关系。函数的教学能使学生懂得一切事物都在不断变化、而且是互相联系与相互制约的,
金融数据的割裂和分散一直以来都是金融业发展的一个重要特征,这种状况虽然对银行等金融机构有利,但对普通用户和金融业本身的发展来讲,似乎并不是什么好事。金融数据共享正
目前我国中小学外语教师培训还缺少合理有效的评价机制和手段。源于欧美的培训档案袋评价法与传统评价方式有很大不同,是一种多元化发展性评价方式,重视过程评价,有助于教师
<正>一、时空观塑造是边防文化育人行之有效的基础(一)时间与空间是边防文化客观存在的载体李白的"夫天地者,万物之逆旅;光阴者,百代之过客",生动地说明时间和空间承载了万事
目的:探讨流程管理在化疗药物输注(高危药物输注)安全中的应用效果。方法:将输注化疗药物的患者200例随机分为试验组和对照组,对照组实施常规护理,试验组在常规护理基础上,将流程
自从人类诞生那天起,苦难就与人类社会如影随形,它源于人类生命意识的自我觉醒,在人类生存境遇中无可规避,一个作家的自我意识越强,他的苦难感受就越强。所以苦难构成了文学
人力资源作为企业经营的“第二利润源泉”,其管理已处于现代企业经营管理的核心地位,而人力资源培训作为人力资源管理的重要组成部分,也越来越受到企业决策者的重视。A公司作
背景:以脑血管内皮损伤为病变基础的缺血性脑中风,随着我国社会老龄化进展,发病率和死亡率不断攀升,是严重危害我国人民生命健康的重大疾病。脑血管内皮细胞氧化应激损伤是缺
【正】 清代宫廷诸机构中,自鸣钟处在乾隆朝以后的史书中不断出现。不少人认为自鸣钟处即做钟处。笔者通过查阅大量档案材料,证明白鸣钟处和做钟处是完全不同的两个机构。自