首页> 外文期刊>Software and systems modeling >FLAME: a formal framework for the automated analysis of software product lines validated by automated specification testing
【24h】

FLAME: a formal framework for the automated analysis of software product lines validated by automated specification testing

机译:FLAME:一个用于通过自动规范测试验证的软件产品线自动化分析的正式框架

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

摘要

In a literature review on the last 20 years of automated analysis of feature models, the formalization of analysis operations was identified as the most relevant challenge in the field. This formalization could provide very valuable assets for tool developers such as a precise definition of the analysis operations and, what is more, a reference implementation, i.e., a trustworthy, not necessarily efficient implementation to compare different tools outputs. In this article, we present the FLAME framework as the result of facing this challenge. FLAME is a formal framework that can be used to formally specify not only feature models, but other variability modeling languages (VMLs) as well. This reusability is achieved by its two-layered architecture. The abstract foundation layer is the bottom layer in which all VML-independent analysis operations and concepts are specified. On top of the foundation layer, a family of characteristic model layers-one for each VML to be formally specified-can be developed by redefining some abstract types and relations. The verification and validation of FLAME has followed a process in which formal verification has been performed traditionally by manual theorem proving, but validation has been performed by integrating our experience on metamorphic testing of variability analysis tools, something that has shown to be much more effective than manually designed test cases. To follow this automated, test-based validation approach, the specification of FLAME, written in Z, was translated into Prolog and 20,000 random tests were automatically generated and executed. Tests results helped to discover some inconsistencies not only in the formal specification, but also in the previous informal definitions of the analysis operations and in current analysis tools. After this process, the Prolog implementation of FLAME is being used as a reference implementation for some tool developers, some analysis operations have been formally specified for the first time with more generic semantics, and more VMLs are being formally specified using FLAME.
机译:在最近20年对特征模型自动分析的文献综述中,分析操作的形式化被确定为该领域中最相关的挑战。这种形式化可以为工具开发人员提供非常宝贵的资产,例如分析操作的精确定义,以及参考实现,即比较不同工具输出的可靠但不一定有效的实现。在本文中,我们提出了FLAME框架,这是面对这一挑战的结果。 FLAME是一个正式的框架,不仅可以用来正式指定要素模型,还可以用来指定其他可变性建模语言(VML)。这种可重用性是通过其两层体系结构实现的。抽象基础层是最底层,在其中指定了所有独立于VML的分析操作和概念。在基础层之上,可以通过重新定义一些抽象类型和关系来开发一系列特性模型层(对于每个要正式指定的VML而言)。 FLAME的验证和验证遵循的过程是,传统上是通过人工定理证明来进行正式验证的,但是通过整合我们在变异性分析工具的变态测试中的经验来进行验证,这已经证明比有效得多。手动设计的测试用例。为了遵循这种基于测试的自动化验证方法,用Z编写的FLAME规范被翻译成Prolog,并自动生成并执行了20,000个随机测试。测试结果不仅有助于发现正式规范中的某些不一致之处,而且还有助于发现分析操作的先前非正式定义以及当前分析工具中的某些不一致之处。在此过程之后,FLAME的Prolog实现被用作一些工具开发人员的参考实现,一些分析操作已首次以更通用的语义正式指定,并且使用FLAME正式指定了更多VML。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号