基于JML的垃圾收集验证

被引量 : 0次 | 上传用户:gunnie0095
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
垃圾收集已经普遍应用于主流的软件开发领域中,有效地避免了一些安全漏洞的同时提高了资源利用率。然而,垃圾收集自身都比较复杂,其算法设计和实现的可靠性往往难以保证。对于和用户程序并行执行的垃圾收集器,其交互过程变得更加复杂,可靠性也更难保证。然而垃圾收集过程中的任何错误或异常都会导致用户程序在运行时产生不可预测的结果。因此要确保用户程序的有效执行,势必对垃圾收集的可靠性和安全性进行严格地研究。JML是一种精确的形式化的行为接口规范语言,继承了契约式设计的所有优点,能够规范程序模块的行为及详细设计决策,同时可以利用自身开发的工具进行高效率的测试,从而有效地保证软件质量。本文首先从垃圾收集技术的基本概念和基本技术出发,深入浅出地分析了垃圾收集技术背后的运行机理及其在具体内存堆上的行为,利用三色抽象原则实现了标记-清扫垃圾收集算法。为了减少垃圾收集给用户程序带来的停顿,在此基础上对算法进行改进,采用逐步更新的写拦截器实现了渐进式垃圾收集。为了严格地验证垃圾收集的安全性和正确性,本文首先利用Daikon动态分析工具和ESC/JAVA静态检测工具辅助生成程序不变量,然后使用JML对垃圾收集与用户程序交互过程的安全规范进行精确描述,避免了使用自然语言产生的需求不精确、可能产生歧义的问题。本文通过JML运行时断言检测完成了垃圾收集和用户程序交互的自动化形式验证,证明了不可达节点的正确回收以及整个收集过程中内存堆的数据保持和用户数据的不变性,保证了用户程序没有干涉垃圾收集器的正确执行,同时也确保了用户程序数据未被垃圾收集修改。最后通过实际的例子对两种垃圾收集算法进行比较分析,结果表明渐进式垃圾收集器能够缩短中断时间并且降低内存需求量,有效地提高了垃圾收集的运行效率。
其他文献
【正】 近年来,徽商研究成果颇丰。但是,研究者多从经济层面加以分析,而文化的一个重要层面——商人的宗教信仰都历来被人们忽视。即便有的学者偶有涉及,也仅仅是当它作商人
随着经济全球化与国际间市场竞争的不断加深,我国制造业正经历着劳动力成本急速上升的阶段,这对我国长久以来依赖劳动力发展的制造行业势必会产生极大冲击。本文分析了制造业
班级是大学生最基本的学习、生活单位,也是高校思想政治工作者实施思想政治教育的一个基本单位。班级作为学校的基本单位,其管理的好坏直接影响着学校的整体管理水平,良好的
近年来,由于经济结构和就业结构的精细分化,高级应用型人才在社会发展的众多领域中的需求量增大,所以专业学位硕士研究生的教育受到极大的重视。但是我国已经发展的专业学位
2012年1月1日,我国在上海实施了交通运输业及部分现代服务业营业税改征增值税,2013年8月1日,交通运输业和现代服务业在全国范围实行“营改增”,物流企业的税负和利润因此受到
随着幼儿园、社区、家庭合作共育工作的深入开展,幼儿园利用社区资源开展参观活动已成为幼儿园活动的重要组成部分,参观活动正成为幼儿园“走出去”的重要形式。幼儿园的参观
近年来,超分辨定位显微成像凭借其约20nm的超高空间分辨率成为细胞生物学、微生物学及神经生物学领域前所未有的工具。在保证该技术的超高空间分辨率的同时,若能大大提高成像
摘要:我国轨道交通建设期间,城市轨道交通建设项目造价高,曾经有些线路每公里高达10亿人民币左右,而敷设方式对造价的影响尤其明显,我国轨道交通建设时偏好地下线,尚未做到完
水凝胶这种湿润柔软的固体,以各种商品形态出现在我们面前,如:肥皂、洗发水、牙膏、发胶以及隐形眼镜等,这些凝胶基本是由高分子组成。高分子水凝胶的发现和使用已有几百年的
文章主要以出资人的视角来讨论我国的金融国有资产的管理。目前,我国庞大的国有金融资产由财政部、中央汇金公司等多个部门进行监督和管理。然而,在这种多头管理的模式下,容