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

被引:18
|
作者
Duran, Amador [1 ]
Benavides, David [1 ]
Segura, Sergio [1 ]
Trinidad, Pablo [1 ]
Ruiz-Cortes, Antonio [1 ]
机构
[1] Univ Seville, Dept Comp Languages & Syst, ETSI Informat, Av Reina Mercedes S-N, E-41012 Seville, Spain
来源
SOFTWARE AND SYSTEMS MODELING | 2017年 / 16卷 / 04期
关键词
Formal specification; Specification testing; Software product lines; Feature models; MODEL;
D O I
10.1007/s10270-015-0503-z
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:1049 / 1082
页数:34
相关论文
共 50 条
  • [41] An automated testing framework of model-driven tools for XACML policy specification
    Bertolino, Antonia
    Daoudagh, Said
    Lonetti, Francesca
    Marchetti, Eda
    [J]. 2014 9TH INTERNATIONAL CONFERENCE ON THE QUALITY OF INFORMATION AND COMMUNICATIONS TECHNOLOGY (QUATIC), 2014, : 75 - 84
  • [42] Automated Specification Extraction for Consolidated Product Catalogue
    Hareendran, Stuthi
    Parashar, Anuvrat
    Khan, Farhat Ullah
    [J]. 2014 IEEE STUDENTS' CONFERENCE ON ELECTRICAL, ELECTRONICS AND COMPUTER SCIENCE (SCEECS), 2014,
  • [43] Formal Framework for Automated Analysis and Verification of Distributed Reactive Applications
    Chabane, Sarah
    Ameur-Boulifa, Rabea
    Mezghiche, Mohamed
    [J]. PROCEEDINGS OF 2017 FIRST INTERNATIONAL CONFERENCE ON EMBEDDED & DISTRIBUTED SYSTEMS (EDIS 2017), 2017, : 25 - 30
  • [44] Testing Software Product Lines
    da Mota Silveira Neto, Paulo Anselmo
    Runeson, Per
    Machado, Ivan do Carmo
    de Almeida, Eduardo Santana
    de Lemos Meira, Silvio Romero
    Engstrom, Emelie
    [J]. IEEE SOFTWARE, 2011, 28 (05) : 16 - 20
  • [45] Formal specification and implementation of an automated pattern-based parallel-code generation framework
    Gervasio Pérez
    Sergio Yovine
    [J]. International Journal on Software Tools for Technology Transfer, 2019, 21 : 183 - 202
  • [46] Formal specification and implementation of an automated pattern-based parallel-code generation framework
    Perez, Gervasio
    Yovine, Sergio
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2019, 21 (02) : 183 - 202
  • [47] Software Framework for Testing of Automated Driving Systems in the Traffic Environment of Vissim
    Nalic, Demin
    Pandurevic, Aleksa
    Eichberger, Arno
    Fellendorf, Martin
    Rogic, Branko
    [J]. ENERGIES, 2021, 14 (11)
  • [48] Automated Selection and Configuration of Cloud Environments Using Software Product Lines Principles
    Quinton, Clement
    Romero, Daniel
    Duchien, Laurence
    [J]. 2014 IEEE 7TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING (CLOUD), 2014, : 144 - 151
  • [49] A survey of automated techniques for formal software verification
    D'Silva, Vijay
    Kroening, Daniel
    Weissenbacher, Georg
    [J]. IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2008, 27 (07) : 1165 - 1178
  • [50] Evidence of software inspection on feature specification for software product lines
    Souza, Iuri Santos
    da Silva Gomes, Gecynalda Soares
    da Mota Silveira Neto, Paulo Anselmo
    Machado, Ivan do Carmo
    de Almeida, Eduardo Santana
    de Lemos Meira, Silvio Romero
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2013, 86 (05) : 1172 - 1190