...
首页> 外文期刊>Software and systems modeling >Full contract verification for ATL using symbolic execution
【24h】

Full contract verification for ATL using symbolic execution

机译:使用符号执行对ATL进行全面合同验证

获取原文
获取原文并翻译 | 示例
           

摘要

The Atlas Transformation Language (ATL) is currently one of the most used model transformation languages and has become a de facto standard in model-driven engineering for implementing model transformations. At the same time, it is understood by the community that enhancing methods for exhaustively verifying such transformations allows for a more widespread adoption of model-driven engineering in industry. A variety of proposals for the verification of ATL transformations have arisen in the past few years. However, the majority of these techniques are either based on non-exhaustive testing or on proof methods that require human assistance and/or are not complete. In this paper, we describe our method for statically verifying the declarative subset of ATL model transformations. This verification is performed by translating the transformation (including features like filters, OCL expressions, and lazy rules) into our model transformation language DSLTrans. As we handle only the declarative portion of ATL, and DSLTrans is Turing-incomplete, this reduction in expressivity allows us to use a symbolic-execution approach to generate representations of all possible input models to the transformation. We then verify pre-/post-condition contracts on these representations, which in turn verifies the transformation itself. The technique we present in this paper is exhaustive for the subset of declarative ATL model transformations. This means that if the prover indicates a contract holds on a transformation, then the contract's pre-/post-condition pair will be true for any input model for that transformation. We demonstrate and explore the applicability of our technique by studying several relatively large and complex ATL model transformations, including a model transformation developed in collaboration with our industrial partner. As well, we present our 'slicing' technique. This technique selects only those rules in the DSLTrans transformation needed for contract proof, thereby reducing proving time.
机译:Atlas转换语言(ATL)当前是最常用的模型转换语言之一,并且已成为实现模型转换的模型驱动工程中的事实上的标准。同时,社区了解到,增强用于彻底验证此类转换的方法可以使模型驱动工程在工业中得到更广泛的采用。过去几年中出现了许多有关验证ATL转换的建议。但是,这些技术中的大多数要么基于非穷举测试,要么基于需要人工协助和/或不完善的证明方法。在本文中,我们描述了用于静态验证ATL模型转换的声明子集的方法。通过将转换(包括过滤器,OCL表达式和惰性规则等功能)转换为我们的模型转换语言DSLTrans来执行此验证。由于我们仅处理ATL的声明部分,而DSLTrans是图灵不完整的,因此表达上的这种减少使我们可以使用符号执行方法来生成所有可能的输入模型到转换的表示。然后,我们验证这些表示形式的条件前/条件后合同,进而验证转换本身。我们在本文中介绍的技术对于声明性ATL模型转换的子集是详尽无遗的。这意味着,如果证明者指示合同持有转换,那么该转换的任何输入模型的合同前提条件对均成立。我们通过研究一些相对较大和复杂的ATL模型转换,包括与我们的行业合作伙伴合作开发的模型转换,来论证和探索我们技术的适用性。同样,我们介绍我们的“切片”技术。该技术仅选择合同证明所需的DSLTrans转换中的那些规则,从而减少了证明时间。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号