文件Open Access徽标

自动验证程序中对魔术棒的轻量级支持

作者 马尔特·施韦霍夫, 亚历山大·萨默斯



PDF格式
缩略图PDF

文件

LIPIcs公司。ECOOP.2015.614.pdf
  • 文件大小:0.64 MB
  • 25页

文件标识符

作者详细信息

马尔特·施韦霍夫
亚历山大·萨默斯

引用为获取BibTex

马尔特·施沃尔霍夫(Malte Schwerhoff)和亚历山大·萨默斯(Alexander J.Summers)。自动验证器中对魔杖的轻量级支持。第29届欧洲面向对象编程会议(ECOOP 2015)。《莱布尼茨国际信息学论文集》,第37卷,第614-638页,Schloss Dagstuhl–Leibniz Zentrum für Informatik(2015)
https://doi.org/10.4230/LIPIcs.ECOOP.2015.614

摘要

基于许可的验证逻辑(如分离逻辑)在过去十年中促成了许多实用验证工具的开发。验证程序使用分离连接符A*B来优雅地处理混叠问题、帧、竞争条件等。与分离连词一起引入的魔术棒连接词,书写为A-*B,可以描述当前状态的假设修改,并为结果提供保证。它的形式语义涉及对状态进行量化:因此,自动验证工具通常不支持连接词。尽管如此,魔术棒在手动和机械化证明中还是很有用的,例如,用于指定循环不变量和部分数据结构。在本文中,我们展示了如何将对魔杖的支持集成到自动验证器中,这需要工具用户的低规范开销,因为这是一种自动选择魔杖公式足迹的新方法。我们将展示如何扩展此技术,以便与常见的规范功能(如递归谓词)进行优雅的交互。我们的解决方案旨在与各种逻辑和底层实现技术兼容。我们已经实现了我们的方法,可以下载一个原型验证器以及一组示例。
关键词
  • 魔术棒
  • 软件验证
  • 自动验证程序
  • 分离逻辑
  • 隐式动态框架

韵律学

工具书类

  1. 乔什·伯丁(Josh Berdine)、克里斯蒂亚诺·卡尔卡尼奥(Cristiano Calcagno)和彼得·奥赫恩(Peter W.O'Hearn)。Smallfoot:带有分离逻辑的模块化自动断言检查。在FMCO中,第115-137页,2005年。谷歌学者
  2. Stefan Blom和Marieke Huisman。见证魔杖的消失。技术报告TR-CTIT-13-22,特温特大学,2013年11月。谷歌学者
  3. 约翰·唐博伊兰(John Tang Boyland)。检查对部分权限的干扰。在SAS,2003年。谷歌学者
  4. 约翰·唐博伊兰(John Tang Boyland)。带有嵌套的部分权限的语义。ACM事务处理。程序。语言系统。,32(6):22:1-22:33,2010年8月。谷歌学者
  5. 雷米·布罗奇宁(Rémi Brochenin)、斯特凡·德姆里(Stéphane Demri)和艾蒂安·洛兹(Etienne Lozes)。在万能的魔杖上。《信息与计算杂志》,211:106-1372012年2月。谷歌学者
  6. 詹姆斯·布罗瑟斯顿(James Brotherston)、迪诺·迪斯特法诺(Dino Distefano)和拉斯穆斯·勒切达尔·彼得森(Rasmus Lerchedahl Petersen)。分离逻辑中的自动循环蕴涵证明。2011年11月,第131-146页。谷歌学者
  7. Wei Ngan Chin、Cristina David、Huu Hai Nguyen和Shengchao Qin。通过分离逻辑中用户定义的谓词自动验证形状、大小和袋子属性。计算机程序设计科学,77(9):1006-10362012。谷歌学者
  8. 迪诺·迪斯特法诺(Dino Distefano)和马修·帕金森(Matthew J.Parkinson)。jStar:面向java的实际验证。在OOPSLA中,第213-226页,2008年。谷歌学者
  9. Mike Dodds、Suresh Jagannathan和Matthew J.Parkinson。确定性并行的模块化推理。在POPL中,第259-270页,2011年。谷歌学者
  10. 克里斯蒂安·哈克和克莱门特·胡林。迭代器的资源使用协议。对象技术杂志,8:55-832009。谷歌学者
  11. Stefan Heule、Ioannis T.Kassios、Peter Müller和Alexander J.Summers。使用抽象谓词和抽象函数生成权限逻辑的验证条件。在ECOOP中,第451-476页,2013年。谷歌学者
  12. 阿奎娜斯·霍伯和朱尔斯·维拉德。数据结构共享的后果。在POPL'13中,第523-536页。ACM,2013年。谷歌学者
  13. 侯哲(Zhe Hou)、克劳斯顿(Ranald Clouston)、拉杰夫·戈尔(Rajeev Goré)和蒂亚尔文(Alwen Tiu)。通过标记序列对命题抽象分离逻辑进行证明搜索。在POPL中,第465-476页,2014年。谷歌学者
  14. 巴特·雅各布斯和弗兰克·皮森斯。VeriFast程序验证器。技术报告,鲁汶卡托利耶克大学,2008年8月。谷歌学者
  15. Jonas Braband Jensen、Lars Birkedal和Peter Sestoft。通过分离逻辑对带有视图的链表进行模块化验证。《对象技术杂志》,2011年10:2:1-20。谷歌学者
  16. U.Juhasz、I.T.Kassios、P.Müller、M.Novacek、M.Schwerhoff和A.J.Summers。毒蛇:基于许可推理的验证基础设施。技术报告,苏黎世ETH,2014年。谷歌学者
  17. 内拉坎坦·R·克里希纳斯瓦米(Neelakantan R.Krishnaswami)。使用分离逻辑推理迭代器。在SVCBS中,第83-86页,美国纽约州纽约市,2006年。ACM公司。谷歌学者
  18. Oukseh Lee、Hongseok Yang和Rasmus Petersen。覆盖数据结构的程序分析。在CAV中,LNCS第6806卷,第592-608页。施普林格-柏林-海德堡,2011年。谷歌学者
  19. Wonyeol Lee和Sungwoo Park。使用魔术棒的分离逻辑证明系统。在POPL中,第477-490页,2014年。谷歌学者
  20. K.鲁斯坦M.莱诺。这是布吉2。可从以下位置获得http://research.microsoft.com/en-us/um/people/leino/papers.html.
  21. K.Rustan M.Leino和Peter Müller。验证多线程程序的基础。在ESOP中,第378-393页,2009年。谷歌学者
  22. Toshiyuki Maeda、Haruki Sato和Akinori Yonezawa。使用分隔蕴涵的扩展别名类型系统。在TLDI中,第29-42页。ACM,2011年。谷歌学者
  23. Huu Hai Nguyen和Wei-Ngan Chin。使用引理增强程序验证。在CAV中,LNCS第5123卷,第355-369页。施普林格-柏林-海德堡,2008年。谷歌学者
  24. Peter W.O'Hearn、John C.Reynolds和Hongseok Yang。关于改变数据结构的程序的局部推理。CSL,第1-19页,英国伦敦,2001年。施普林格出版社。谷歌学者
  25. M.Parkinson和G.Bierman。分离逻辑和抽象。在POPL中,第247-258页。ACM出版社,2005年。谷歌学者
  26. M.J.帕金森和A.J.萨默斯。分离逻辑与隐式动态框架之间的关系。在LMCS中,8(3:01):1-542012。谷歌学者
  27. Ruzica Piskac、Thomas Wies和Damien Zufferey。GRASShopper-使用混合规范完成堆验证。在TACAS中,第124-139页。斯普林格,2014年。谷歌学者
  28. 威廉·雷特。实施权限分析。2009年,美国威斯康星州密尔沃基威斯康星大学博士论文。谷歌学者
  29. 马尔特·施沃尔霍夫(Malte Schwerhoff)和亚历山大·萨默斯(Alexander J.Summers)。实施。可从以下URL获得:https://www.pm.inf.ethz.ch/research/viper.html.
  30. 简·斯曼斯(Jan Smans)。类Java程序帧属性的规范和自动验证。博士论文,FWO-Vlaanderen,2009年5月。谷歌学者
  31. Jan Smans、Bart Jacobs和Frank Piessens。隐式动态框架:结合动态框架和分离逻辑。在ECOOP中,第148-172页,2009年。谷歌学者
  32. Jan Smans、Bart Jacobs和Frank Piessens。分离逻辑中的堆相关表达式。在FMOODS/FORTE,第170-185页,2010年。谷歌学者
  33. 亚历山大·萨默斯(Alexander J.Summers)和索菲亚·德罗索波卢(Sophia Drossopoulou)。非安全和等递归状态抽象的形式化语义。在ECOOP中,第129-153页,2013年。谷歌学者
  34. 托马斯·图尔克(Thomas Tuerk)。关于while-loop的局部推理。在VSTTE,2010年。谷歌学者
  35. 杨红seok。BI指针逻辑中的局部推理示例:Schorr-Waite图标记算法。《空间》,2001年。谷歌学者
问题/备注/反馈
X(X)

Dagstuhl出版社反馈


感谢您的反馈!

已提交反馈

无法发送消息

请稍后再试或发送电子邮件