jMocha:一个利用设计结构的模型检查工具

R. Alur, L. D. Alfaro, R. Grosu, T. Henzinger, M. Kang, C. Kirsch, R. Majumdar, Freddy Y. C. Mang, Bow-Yaw Wang
{"title":"jMocha:一个利用设计结构的模型检查工具","authors":"R. Alur, L. D. Alfaro, R. Grosu, T. Henzinger, M. Kang, C. Kirsch, R. Majumdar, Freddy Y. C. Mang, Bow-Yaw Wang","doi":"10.1109/ICSE.2001.919196","DOIUrl":null,"url":null,"abstract":"Model checking is a practical tool for automated debugging of embedded software. In model checking, a high-level description of a system is compared against a logical correctness requirement to discover inconsistencies. Since model checking is based on exhaustive state-space exploration and the size of the state space of a design grows exponentially with the size of the description, scalability remains a challenge. We have thus developed techniques for exploiting modular design structure during model checking, and the model checker jMocha (Java MOdel-CHecking Algorithm) is based on this theme. Instead of manipulating unstructured state-transition graphs, it supports the hierarchical modeling framework of reactive modules. jMocha is a growing interactive software environment for specification, simulation and verification, and is intended as a vehicle for the development of new verification algorithms and approaches. It is written in Java and uses native C-code BDD libraries from VIS. jMocha offers: (1) a GUI that looks familiar to Windows/Java users; (2) a simulator that displays traces in a message sequence chart fashion; (3) requirements verification both by symbolic and enumerative model checking; (4) implementation verification by checking trace containment; (5) a proof manager that aids compositional and assume-guarantee reasoning; and (6) SLANG (Scripting LANGuage) for the rapid and structured development of new verification algorithms. jMocha is available publicly at ; it is a successor and extension of the original Mocha tool that was entirely written in C.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"16 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"87","resultStr":"{\"title\":\"jMocha: a model checking tool that exploits design structure\",\"authors\":\"R. Alur, L. D. Alfaro, R. Grosu, T. Henzinger, M. Kang, C. Kirsch, R. Majumdar, Freddy Y. C. Mang, Bow-Yaw Wang\",\"doi\":\"10.1109/ICSE.2001.919196\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Model checking is a practical tool for automated debugging of embedded software. In model checking, a high-level description of a system is compared against a logical correctness requirement to discover inconsistencies. Since model checking is based on exhaustive state-space exploration and the size of the state space of a design grows exponentially with the size of the description, scalability remains a challenge. We have thus developed techniques for exploiting modular design structure during model checking, and the model checker jMocha (Java MOdel-CHecking Algorithm) is based on this theme. Instead of manipulating unstructured state-transition graphs, it supports the hierarchical modeling framework of reactive modules. jMocha is a growing interactive software environment for specification, simulation and verification, and is intended as a vehicle for the development of new verification algorithms and approaches. It is written in Java and uses native C-code BDD libraries from VIS. jMocha offers: (1) a GUI that looks familiar to Windows/Java users; (2) a simulator that displays traces in a message sequence chart fashion; (3) requirements verification both by symbolic and enumerative model checking; (4) implementation verification by checking trace containment; (5) a proof manager that aids compositional and assume-guarantee reasoning; and (6) SLANG (Scripting LANGuage) for the rapid and structured development of new verification algorithms. jMocha is available publicly at ; it is a successor and extension of the original Mocha tool that was entirely written in C.\",\"PeriodicalId\":374824,\"journal\":{\"name\":\"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001\",\"volume\":\"16 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2001-07-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"87\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICSE.2001.919196\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSE.2001.919196","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 87

摘要

模型检查是嵌入式软件自动调试的一种实用工具。在模型检查中,将系统的高级描述与逻辑正确性需求进行比较,以发现不一致之处。由于模型检查是基于详尽的状态空间探索,并且设计的状态空间的大小随着描述的大小呈指数增长,因此可伸缩性仍然是一个挑战。因此,我们开发了在模型检查过程中利用模块化设计结构的技术,并基于此主题开发了模型检查器jMocha (Java模型检查算法)。它支持响应式模块的分层建模框架,而不是操作非结构化的状态转换图。jMocha是一个不断发展的用于规范、仿真和验证的交互式软件环境,旨在作为开发新的验证算法和方法的工具。jMocha是用Java编写的,并使用来自vis的本地c代码BDD库。jMocha提供:(1)Windows/Java用户看起来熟悉的GUI;(2)以消息序列图方式显示迹线的模拟器;(3)采用符号和枚举模型检验相结合的需求验证;(4)通过检查痕迹遏制来实施验证;(5)支持组合和假设保证推理的证明管理器;(6)俚语(脚本语言)用于快速和结构化地开发新的验证算法。jMocha可以在;它是完全用C语言编写的原始Mocha工具的继承者和扩展。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
jMocha: a model checking tool that exploits design structure
Model checking is a practical tool for automated debugging of embedded software. In model checking, a high-level description of a system is compared against a logical correctness requirement to discover inconsistencies. Since model checking is based on exhaustive state-space exploration and the size of the state space of a design grows exponentially with the size of the description, scalability remains a challenge. We have thus developed techniques for exploiting modular design structure during model checking, and the model checker jMocha (Java MOdel-CHecking Algorithm) is based on this theme. Instead of manipulating unstructured state-transition graphs, it supports the hierarchical modeling framework of reactive modules. jMocha is a growing interactive software environment for specification, simulation and verification, and is intended as a vehicle for the development of new verification algorithms and approaches. It is written in Java and uses native C-code BDD libraries from VIS. jMocha offers: (1) a GUI that looks familiar to Windows/Java users; (2) a simulator that displays traces in a message sequence chart fashion; (3) requirements verification both by symbolic and enumerative model checking; (4) implementation verification by checking trace containment; (5) a proof manager that aids compositional and assume-guarantee reasoning; and (6) SLANG (Scripting LANGuage) for the rapid and structured development of new verification algorithms. jMocha is available publicly at ; it is a successor and extension of the original Mocha tool that was entirely written in C.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信