Formal Verification of Lock-Free Algorithms

G. Schellhorn, S. Bäumler
{"title":"Formal Verification of Lock-Free Algorithms","authors":"G. Schellhorn, S. Bäumler","doi":"10.1109/ACSD.2009.10","DOIUrl":null,"url":null,"abstract":"he current trend towards multi-core processors has renewedthe interest in the development and correctness of concurrent algorithms.Most of these algorithms rely on locks to protect critical sectionsfrom unwanted interference. Recently a new class of nonblockingalgorithms has been developed which do not rely on critical sections,but on atomic compare-and-set instructions. Such lock-free algorithmsare less vulnerable to the typical problems of concurrent algorithms:deadlocks, livelocks and priority inversion. On the other hand, thelack of a uniform principle to rule out interference results inincreased complexity. This makes it harder to understand thesealgorithms and to verify their correctness.The paper gives a simple example to demonstrate thecentral correctness criteria of linearizability (a safety property)and lock-freeness (a liveness property) for lock-free algorithms.It then sketches our approach to the modular verification oflock-free algorithms which uses rely-guarantee reasoning anda powerful temporal logic to derive refinement proof obligationsthat can be verified with the interactive theorem prover KIV.Finally an overview over related work and techniques that arerelevant to automate proofs is given.","PeriodicalId":307821,"journal":{"name":"2009 Ninth International Conference on Application of Concurrency to System Design","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2009 Ninth International Conference on Application of Concurrency to System Design","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ACSD.2009.10","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

he current trend towards multi-core processors has renewedthe interest in the development and correctness of concurrent algorithms.Most of these algorithms rely on locks to protect critical sectionsfrom unwanted interference. Recently a new class of nonblockingalgorithms has been developed which do not rely on critical sections,but on atomic compare-and-set instructions. Such lock-free algorithmsare less vulnerable to the typical problems of concurrent algorithms:deadlocks, livelocks and priority inversion. On the other hand, thelack of a uniform principle to rule out interference results inincreased complexity. This makes it harder to understand thesealgorithms and to verify their correctness.The paper gives a simple example to demonstrate thecentral correctness criteria of linearizability (a safety property)and lock-freeness (a liveness property) for lock-free algorithms.It then sketches our approach to the modular verification oflock-free algorithms which uses rely-guarantee reasoning anda powerful temporal logic to derive refinement proof obligationsthat can be verified with the interactive theorem prover KIV.Finally an overview over related work and techniques that arerelevant to automate proofs is given.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
无锁算法的形式化验证
当前多核处理器的发展趋势重新引起了人们对并发算法的发展和正确性的兴趣。这些算法大多依靠锁来保护关键区域免受不必要的干扰。最近,一类新的非阻塞算法被开发出来,它不依赖于临界区,而是依赖于原子比较和设置指令。这种无锁算法不容易受到并发算法的典型问题的影响:死锁、活动锁和优先级反转。另一方面,由于缺乏统一的原则来排除干扰,结果增加了复杂性。这使得理解这些算法和验证它们的正确性变得更加困难。本文给出了一个简单的例子来证明无锁算法的线性性(一种安全性)和无锁性(一种活动性)的中心正确性准则。然后,它概述了我们对无锁算法的模块化验证方法,该方法使用可靠保证推理和强大的时间逻辑来推导可使用交互式定理证明器KIV验证的精化证明义务。最后,对自动化证明的相关工作和技术进行了概述。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Examining Important Corner Cases: Verification of Interacting Architectural Components in System Designs Teak: A Token-Flow Implementation for the Balsa Language From Concurrent Multi-clock Programs to Deterministic Asynchronous Implementations Checking pi-Calculus Structural Congruence is Graph Isomorphism Complete Scheduling Synchronous Elastic Designs
×
引用
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