首页> 外文OA文献 >Procedure-modular specification and verification of temporal safety properties
【2h】

Procedure-modular specification and verification of temporal safety properties

机译:程序模块化规范和时间安全属性验证

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

This paper describes ProMoVer, a tool for fully automated procedure-modular verification of Java programs equipped with method-local and global assertions that specify safety properties of sequences of method invocations. Modularity at the procedure-level is a natural instantiation of the modular verification paradigm, where correctness of global properties is relativized on the local properties of the methods rather than on their implementations. Here, it is based on the construction of maximal models for a program model that abstracts away from program data. This approach allows global properties to be verified in the presence of code evolution, multiple method implementations (as arising from software product lines), or even unknown method implementations (as in mobile code for open platforms). ProMoVer automates a typical verification scenario for a previously developed tool set for compositional verification of control flow safety properties, and provides appropriate pre- and post-processing. Both linear-time temporal logic and finite automata are supported as formalisms for expressing local and global safety properties, allowing the user to choose a suitable format for the property at hand. Modularity is exploited by a mechanism for proof reuse that detects and minimizes the verification tasks resulting from changes in the code and the specifications. The verification task is relatively light-weight due to support for abstraction from private methods and automatic extraction of candidate specifications from method implementations. We evaluate the tool on a number of applications from the domains of Java Card and web-based application.
机译:本文介绍了ProMoVer,这是一种用于Java程序的全自动过程模块化验证的工具,该工具配有方法本地和全局断言,这些断言指定方法调用序列的安全属性。过程级别的模块化是模块化验证范式的自然实例,其中全局属性的正确性取决于方法的局部属性而不是方法的实现。在此,它基于从程序数据中抽象出来的程序模型的最大模型的构造。这种方法允许在存在代码演化,多种方法实现(由软件产品线产生)甚至未知方法实现(如在开放平台的移动代码中)的情况下验证全局属性。 ProMoVer自动为先前开发的工具集自动执行典型的验证方案,以对控制流安全属性进行成分验证,并提供适当的预处理和后处理。线性时间逻辑和有限自动机都作为表示局部和全局安全属性的形式形式而受支持,允许用户为手边的属性选择合适的格式。模块化被一种用于证明重用的机制所利用,该机制可检测由于代码和规范的更改而导致的验证任务,并将其最小化。由于支持从私有方法中进行抽象并从方法实现中自动提取候选规范,因此验证任务相对较轻。我们在Java Card和基于Web的应用程序领域的许多应用程序上评估该工具。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号