{"title":"Mutual Exclusion Verification of Peterson's Solution in Isabelle/HOL","authors":"Xiaojun Ji, Li-Hui Song","doi":"10.1109/TSA.2016.22","DOIUrl":null,"url":null,"abstract":"Peterson's solution is a classical algorithm for mutual exclusion problem. But rigorous works on analyzing its properties of safety or liveness are rare so far. In theorem prover Isabelle/HOL, we formally modelled Peterson's solution for two processes, and proved that it satisfies mutual exclusion property. With Paulson's inductive approach, the algorithm is inductively defined as a set of all possible event lists of two concurrent processes, in which event is defined as atomic action of concurrent processe. All of the reasoning codes have been checked by Isabelle/HOL. Comparing with those works based on model checking, our work can be easily generalized to the analysis of Peterson's solution for n (n>2) processes. And the model we defined for Peterson's solution could be extended to analyze liveness property of Peterson's solution. The process of proving also produces some good advices on how to programming Peterson's solution.","PeriodicalId":114541,"journal":{"name":"2016 Third International Conference on Trustworthy Systems and their Applications (TSA)","volume":"77 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 Third International Conference on Trustworthy Systems and their Applications (TSA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TSA.2016.22","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
Peterson's solution is a classical algorithm for mutual exclusion problem. But rigorous works on analyzing its properties of safety or liveness are rare so far. In theorem prover Isabelle/HOL, we formally modelled Peterson's solution for two processes, and proved that it satisfies mutual exclusion property. With Paulson's inductive approach, the algorithm is inductively defined as a set of all possible event lists of two concurrent processes, in which event is defined as atomic action of concurrent processe. All of the reasoning codes have been checked by Isabelle/HOL. Comparing with those works based on model checking, our work can be easily generalized to the analysis of Peterson's solution for n (n>2) processes. And the model we defined for Peterson's solution could be extended to analyze liveness property of Peterson's solution. The process of proving also produces some good advices on how to programming Peterson's solution.