Java-MaC:运行时保障Java程序正确性的轻量级形式化方法
179 浏览量
更新于2024-06-17
收藏 469KB PDF 举报
"Java-MaC:保证Java程序正确执行的轻量级形式化方法"
Java-MaC是一种针对Java程序的轻量级形式化方法,旨在确保程序在运行时的正确执行。该方法由M. Kim、S. Kannan、L. Lee和S. Sokolsky等人在宾夕法尼亚大学的计算机与信息科学系开发,同时也有M. Viswanathan在DIMACS Telcordia Technologies的贡献。这个项目起源于美国费城。
Java-MaC是一个监控和检查(MaC)架构的原型实现,它的核心功能是在程序运行过程中提供对正确执行的保证。MaC通过结合系统需求的正式规范来执行监控和检查,从而填补了形式验证和传统测试之间的空白。形式验证通常用于确保设计的正确性,而Java-MaC提供了一种轻量级的解决方案,作为对传统重量级形式化方法的有效补充。
该架构的一个关键特征是将监控(关注底层实现的行为)与检查(基于正式需求规范的高层行为)明确区分开来。这样的分离有助于处理复杂性和细节,同时保持对高级行为的控制。此外,Java-MaC还包括自动生成可执行代码的插桩技术,这使得在程序执行期间插入监控和检查代码变得自动化。
在软件工程领域,尤其是在航空电子设备和汽车等安全关键领域,过去二十年里对分析和验证方法的研究非常活跃。尽管有成功的工业案例,但全面的形式化验证尚未普及,主要原因是大型软件系统的规模和复杂性,以及验证结果与具体实现之间的鸿沟。传统的测试方法,即对预定义的输入序列进行测试,无法确保所有可能的输入情况下的正确性。
Java-MaC提供了一种动态的解决方案,能够在系统运行时确保其当前执行状态的正确性。这解决了仅依赖于设计验证或测试的局限性,尤其对于那些可能引入错误的详细实现。通过在运行时应用形式化的方法,Java-MaC帮助开发者和质量保证团队更好地保证软件在实际操作环境中的安全性与可靠性。
Java-MaC是形式化方法在实践中的一个重要进展,它提供了一种轻量级、可自动化的工具,用于确保Java程序在复杂环境下的正确执行。这种方法对于应对不断增长的软件规模和复杂性,以及保证关键系统在所有可能情况下的正确行为具有重要意义。
334 浏览量
点击了解资源详情
581 浏览量
2021-06-07 上传
2021-05-24 上传
142 浏览量
2024-02-25 上传
127 浏览量
1434 浏览量
cpongm
- 粉丝: 5
- 资源: 2万+
最新资源
- spring事务支持
- 嵌入式操作系统的原理和应用
- ccna 实验 手册 配置
- 带复选框的 ExtJs tree
- protel99使用说明
- C#字符串的使用笔记(一)
- 我做的通讯组面试题C++的
- C#字符串的使用笔记(二)
- GridView 72般绝技(五)
- 编程修养(程序员需要注意的关于编程的注意事项)
- GridView 72般绝技(四)
- 中国移动MM7 API用户手册20040512.pdf
- 中国移动MM7 API用户手册20040512.doc
- 设置U盘的背景以及U盘的图表
- 通过isa防火墙的安全exchange rpc过滤器允许任何地点的outlook客户访问
- GridView 72般绝技(三)