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 条
  • [31] A Framework for Automated Testing
    Fehlmann, Thomas
    Kranich, Eberhard
    [J]. SYSTEMS, SOFTWARE AND SERVICES PROCESS IMPROVEMENT (EUROSPI 2020), 2020, 1251 : 275 - 288
  • [32] HANSIS software tool for the automated analysis of HOLZ lines
    Holec, D.
    Rao, D. V. Sridhara
    Humphreys, C. J.
    [J]. ULTRAMICROSCOPY, 2009, 109 (07) : 837 - 844
  • [33] y Automated model-based performance analysis of software product lines under uncertainty
    Arcaini, Paolo
    Inverso, Omar
    Trubiani, Catia
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2020, 127 (127)
  • [34] A Software Framework for Automated Verification
    Raedts, Ivo
    Petkovic, Marija
    Serebrenik, Alexander
    van der Werf, Jan Martijn
    Somers, Lou
    Boote, Maarten
    [J]. APPLIED COMPUTING 2007, VOL 1 AND 2, 2007, : 1031 - +
  • [35] A software framework for automated negotiation
    Bartolini, C
    Preist, C
    Jennings, NR
    [J]. SOFTWARE ENGINEERING FOR MULTI-AGENT SYSTEMS III: RESEARCH ISSUES AND PRACTICAL APPLICATIONS, 2004, 3390 : 213 - 235
  • [36] SOFTWARE SPEEDS AUTOMATED TESTING
    不详
    [J]. ELECTRONICS, 1986, 59 (12): : 35 - 37
  • [37] AN OVERVIEW OF AUTOMATED SOFTWARE TESTING
    BERTOLINO, A
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1991, 15 (02) : 133 - 138
  • [38] AN AUTOMATED ORACLE FOR SOFTWARE TESTING
    BROWN, DB
    ROGGIO, RF
    CROSS, JH
    MCCREARY, CL
    [J]. IEEE TRANSACTIONS ON RELIABILITY, 1992, 41 (02) : 272 - 280
  • [39] Automated Software Testing for MATLAB
    Eddins, Steven L.
    [J]. COMPUTING IN SCIENCE & ENGINEERING, 2009, 11 (06) : 48 - 54
  • [40] Automated testing of functional software
    Gerkis, A
    Arora, A
    [J]. EE-EVALUATION ENGINEERING, 1999, 38 (10): : 52 - +