×

无死锁和饥饿的可重入读写器:结合模型检查和定理证明的案例研究。 (英语) Zbl 1213.68193号

摘要:经典的读者-作者问题已经被广泛研究。对于可重入版本来说,这在较小程度上适用,在该版本中允许嵌套锁定操作。当使用各种过程创建库时,这种嵌套非常有用,每个过程都以锁定操作开始和结束。允许嵌套使这些过程可以相互调用。
我们考虑了一个现有的广泛使用的可重入读写器问题的工业实现。与原始代码保持接近,我们使用模型检查器对其进行建模和分析,从而检测到一个严重错误:可能的死锁情况。对模型进行了改进,并对固定数量的过程进行了令人满意的检查。为了获得任意数量过程的正确结果,将模型转换为规范,并用定理证明器进行证明。此外,我们还研究了饥饿问题。通过模型检查,我们发现了饥饿问题。我们已经解决了问题并检查了解决方案。将模型检查与定理证明相结合似乎在减少验证过程的时间方面非常有效。

MSC公司:

68甲19 其他编程范式(面向对象、顺序、并发、自动等)
60年第68季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 阿南德,S。;帕萨雷努,C.S。;Visser,W.:JPF-SE:Java探路者的符号执行扩展,计算机科学课堂讲稿4424134-138(2007)
[2] 安德鲁斯,T。;卡迪尔,S。;Rajamani,S.K。;Rehof,J。;Xie,Y.:Zing:并发软件的模型检查器,计算机科学讲义3114,484-487(2004)·Zbl 1103.68600号 ·doi:10.1007/b98490
[3] M.Archer,C.Heitmeyer,S.Sims,TAME:简化自动机模型证明的PVS接口,收录于:定理证明者的用户界面,荷兰埃因霍温,1998年。
[4] Barbosa,M.A.:软件组件和架构的精化演算,SIGSOFT softw。工程注释30,第5期,377-380(2005)
[5] Ben-Ari,M.:自旋模型检验原理(2008)·Zbl 1142.68044号
[6] Bertot,Y。;Castéran,P.:交互式定理证明和程序开发。Coq'art:归纳结构的微积分,理论计算机科学文本(2004)·Zbl 1069.68095号
[7] E.M.Clarke,E.A.Emerson,A.P.Sistla,《使用时序逻辑规范自动验证有限状态并发系统:实用方法》,载于:POPL,1983年,第117-126页。
[8] J.C.Corbett、M.B.Dwyer、J.Hatcliff、S.Laubach、C.S.Pasareanu、Robby H.Zheng、Bandera:从java源代码中提取有限状态模型,见:软件工程,2000年。2000年国际会议记录,2000年,第439-448页。
[9] Courtois,P.J。;海曼斯,F。;Parnas,D.L.:与“读者”和“作者”的并发控制,Commun。ACM 14,编号10,667-668(1971)
[10] A.de Groot,PVS中的实用自动化证明,博士论文,奈梅亨Radboud大学,2008年。
[11] 范·埃克伦,M。;Hoedt,S.Ten;Schreurs,R。;Usenko,Y.S.:分析mcrl2中的会话层协议。真实工业实现的验证,计算机科学讲义4916,182-199(2008)
[12] B.van Gastel,《验证可重入读者-作者》。2010年3月,荷兰奈梅亨拉德布德大学硕士论文。
[13] 范·加斯特尔,B。;Lensink,L。;Smetsers,S。;Van Eekelen,M.:再入读者-作者:结合模型检验和定理证明的案例研究,计算机科学讲义5596,85-102(2009)·Zbl 1213.68193号
[14] 戈茨,B。;佩埃尔斯,T。;布洛赫,J。;Bowbeer,J。;霍姆斯,D。;Lea,D.:Java并发实践(2006)
[15] 哈,V。;Rangarajan,M。;科弗,D。;Rues,H。;Dutertre,B.:应用于实时航空电子软件的归纳证明的基于特征的分解:经验报告,304-313(2004)
[16] Havelund,K。;Pressburger,T.:使用Java探路器检查Java程序的模型,Sttt 2,No.4,366-381(2000)·Zbl 1059.68585号 ·doi:10.1007/s100090050043
[17] Havelund,K。;Shankar,N.:用于协议验证的定理证明和模型检查实验,FME’96:工业效益和形式化方法的进步,662-681(1996)
[18] Holzmann,G.:SPIN模型检查器:入门和参考手册,(2004)
[19] 雅各布斯,B。;Smetsers,S。;Schreur,R.Wichers:代码关联理论,Form.asp。计算。191-203年第2期19号(2007年)·Zbl 1121.68030号 ·doi:10.1007/s00165-006-0013-4
[20] Katz,S.:模型和规范之间的忠实翻译,419-434(2001)·Zbl 0977.68660号
[21] Larsen,K.G。;Pettersson,P。;Yi,W.:简而言之,UPPAAL,国际期刊Softw。工具技术。转让1,编号1–2,134-152(1997)·Zbl 1060.68577号 ·doi:10.1007/s100090050010
[22] Leavens,G.T。;Kiniry,J.R。;Poll,E.:JML教程:Java功能行为的模块化规范和验证,计算机科学讲义4590,37(2007)
[23] Nipkow,T。;保尔森,L.C。;Wenzel,M.:Isabelle/HOL——高阶逻辑的证明助手,Lncs 2283(2002)·兹比尔0994.68131
[24] Owre,S。;Rushby,J.M。;Shankar,N.:PVS:原型验证系统,人工智能课堂讲稿607748-752(1992)
[25] Pantelic,V.公司。;Jin,X.-H。;劳福德,M。;Parnas,D.L.:并发系统的检查:组合表、定理证明和模型检查,软件工程研究与实践,629-635(2006)
[26] 基耶,J.-P。;Sifakis,J.:《塞萨尔并发系统的规范和验证》,计算机科学讲稿137,337-351(1982)·Zbl 0482.68028号
[27] 罗比·E·罗德里格斯。;德怀尔,M.B。;Hatcliff,J.:《使用可扩展软件模型检查框架检查JML规范》,Sttt 8,No.3,280-299(2006)·Zbl 1126.68356号
[28] Shankar,N.:通过符号分析结合定理证明和模型检查,1877年计算机科学讲稿,1-16(2000)·Zbl 0999.68523号
[29] S.Smetsers、M.van Eekelen、LaQuSo:使用形式化方法分析、验证和改进安全关键软件,见:Pedro Merino和Erwin Schoitch(编辑)ERCIM News,专题安全关键软件(Special Theme safety-critical software),第75卷,2008年10月,第38-39页。
[30] Sutter,H.:免费午餐结束了:软件并发性的根本转变,dobb博士的J.30,第3期(2005年)
[31] H.Tews、T.Weber、M.Völp、E.Poll、M.van Eekelen、P.van Rossum、Nova micro–hypervisor验证。技术报告ICIS–R08012,奈梅亨Radboud大学,2008年5月。罗宾交付物D13。
[32] 维瑟,W。;Havelund,K。;布拉特,G.P。;南帕克。;Lerda,F.:模型检查程序,Autom。柔软。工程10,第2期,203-232(2003)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。