Formal methods: a practical tool for OS implementors

Patrick Tullmann, J. Turner, J. McCorquodale, Jay Lepreau, Ajaya Chitturi, Godmar Back
{"title":"Formal methods: a practical tool for OS implementors","authors":"Patrick Tullmann, J. Turner, J. McCorquodale, Jay Lepreau, Ajaya Chitturi, Godmar Back","doi":"10.1109/HOTOS.1997.595176","DOIUrl":null,"url":null,"abstract":"The formal methods community has long known about the need to formally analyze concurrent software, but the operating systems (OS) community has been slow to adopt such methods. The foremost reasons for this are the cultural and knowledge gaps between formalists and OS hackers, fostered by three beliefs: inaccessibility of the tools, the disabling gap between the validated model and actual implementation, and the intractable size of OSs. In this paper, we show these beliefs to be untrue for appropriately structured OSs. We applied formal methods to verify properties of the implementation of the Fluke microkernel's IPC (interprocess communication) subsystem, a major component of the kernel. In particular, we have verified, in many scenarios, certain liveness properties and lack of deadlock, with results that apply to both SMP (scalable multiprocessor) and uniprocessor environments. The SPIN model checker provided an exhaustive concurrency analysis of the IPC subsystem, unattainable through traditional OS testing methods. SPIN is easily accessible to programmers inexperienced with formal methods. We present our results as a starting point for a more comprehensive inclusion of formal methods in practical OS development.","PeriodicalId":176246,"journal":{"name":"Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1997-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"31","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HOTOS.1997.595176","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 31

Abstract

The formal methods community has long known about the need to formally analyze concurrent software, but the operating systems (OS) community has been slow to adopt such methods. The foremost reasons for this are the cultural and knowledge gaps between formalists and OS hackers, fostered by three beliefs: inaccessibility of the tools, the disabling gap between the validated model and actual implementation, and the intractable size of OSs. In this paper, we show these beliefs to be untrue for appropriately structured OSs. We applied formal methods to verify properties of the implementation of the Fluke microkernel's IPC (interprocess communication) subsystem, a major component of the kernel. In particular, we have verified, in many scenarios, certain liveness properties and lack of deadlock, with results that apply to both SMP (scalable multiprocessor) and uniprocessor environments. The SPIN model checker provided an exhaustive concurrency analysis of the IPC subsystem, unattainable through traditional OS testing methods. SPIN is easily accessible to programmers inexperienced with formal methods. We present our results as a starting point for a more comprehensive inclusion of formal methods in practical OS development.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
形式化方法:操作系统实现者的实用工具
形式化方法社区早就知道需要形式化地分析并发软件,但是操作系统(OS)社区在采用这种方法方面进展缓慢。最重要的原因是形式主义者和操作系统黑客之间的文化和知识差距,这是由三个信念造成的:工具的不可访问性,验证模型和实际实现之间的残疾差距,以及操作系统难以处理的规模。在本文中,我们证明了这些信念对于适当结构的操作系统是不真实的。我们应用形式化方法来验证Fluke微内核的IPC(进程间通信)子系统(内核的主要组成部分)实现的属性。特别是,我们已经在许多场景中验证了某些活动属性和缺乏死锁,其结果适用于SMP(可扩展的多处理器)和单处理器环境。SPIN模型检查器为IPC子系统提供了详尽的并发性分析,这是通过传统的操作系统测试方法无法实现的。对于没有正式方法经验的程序员来说,SPIN很容易理解。我们将我们的结果作为一个起点,在实际的操作系统开发中更全面地包含形式化方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
General purpose proxies: solved and unsolved problems Preventing denial-of-service attacks on a /spl mu/-kernel for WebOSes Security for extensible systems Secure applications need flexible operating systems Self-monitoring and self-adapting operating systems
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1