Type safety for feature-oriented product lines

被引:47
|
作者
Apel, Sven [1 ]
Kaestner, Christian [2 ]
Groesslinger, Armin [1 ]
Lengauer, Christian [1 ]
机构
[1] Univ Passau, Dept Math & Informat, Passau, Germany
[2] Univ Magdeburg, Sch Comp Sci, D-39106 Magdeburg, Germany
关键词
Feature featherweight [!text type='Java']Java[!/text; Feature-oriented programming; Software product lines; Type systems; Safe composition; MINIMAL CORE CALCULUS; IMPLEMENTATION; !text type='JAVA']JAVA[!/text; EXTENSION; SUPPORT; DESIGN;
D O I
10.1007/s10515-010-0066-8
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A feature-oriented product line is a family of programs that share a common set of features. A feature implements a stakeholder's requirement and represents a design decision or configuration option. When added to a program, a feature involves the introduction of new structures, such as classes and methods, and the refinement of existing ones, such as extending methods. A feature-oriented decomposition enables a generator to create an executable program by composing feature code solely on the basis of the feature selection of a user-no other information needed. A key challenge of product line engineering is to guarantee that only well-typed programs are generated. As the number of valid feature combinations grows combinatorially with the number of features, it is not feasible to type check all programs individually. The only feasible approach is to have a type system check the entire code base of the feature-oriented product line. We have developed such a type system on the basis of a formal model of a feature-oriented Java-like language. The type system guaranties type safety for feature-oriented product lines. That is, it ensures that every valid program of a well-typed product line is well-typed. Our formal model including type system is sound and complete.
引用
收藏
页码:251 / 300
页数:50
相关论文
共 50 条
  • [1] Type safety for feature-oriented product lines
    Sven Apel
    Christian Kästner
    Armin Größlinger
    Christian Lengauer
    [J]. Automated Software Engineering, 2010, 17 : 251 - 300
  • [2] Modular Feature-Oriented Graphical Editor Product Lines
    Kuehn, Thomas
    Kassin, Kevin Ivo
    Cazzola, Walter
    Assmann, Uwe
    [J]. SPLC'18: PROCEEDINGS OF THE 22ND INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL 1, 2018, : 76 - 86
  • [3] Mutation Operators for Feature-Oriented Software Product Lines
    Krueger, Jacob
    Al-Hajjaji, Mustafa
    Leich, Thomas
    Saake, Gunter
    [J]. SPLC'19: PROCEEDINGS OF THE 23RD INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2020, : 12 - 12
  • [4] Verification Strategies for Feature-Oriented Software Product Lines
    Kuiter, Elias
    Knueppel, Alexander
    Bordis, Tabea
    Runge, Tobias
    Schaefer, Ina
    [J]. VAMOS'22: 16TH INTERNATIONAL WORKING CONFERENCE ON VARIABILITY MODELLING OF SOFTWARE-INTENSIVE SYSTEMS, 2022,
  • [5] Code Clones in Feature-Oriented Software Product Lines
    Schulze, Sandro
    Apel, Sven
    Kaestner, Christian
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (02) : 103 - 112
  • [6] Mutation operators for feature-oriented software product lines
    Krueger, Jacob
    Al-Hajjaji, Mustafa
    Leich, Thomas
    Saake, Gunter
    [J]. SOFTWARE TESTING VERIFICATION & RELIABILITY, 2019, 29 (1-2):
  • [7] Goal-oriented modeling and verification of feature-oriented product lines
    Mohsen Asadi
    Gerd Gröner
    Bardia Mohabbati
    Dragan Gašević
    [J]. Software & Systems Modeling, 2016, 15 : 257 - 279
  • [8] Goal-oriented modeling and verification of feature-oriented product lines
    Asadi, Mohsen
    Groener, Gerd
    Mohabbati, Bardia
    Gasevic, Dragan
    [J]. SOFTWARE AND SYSTEMS MODELING, 2016, 15 (01): : 257 - 279
  • [9] Correctness-by-Construction for Feature-Oriented Software Product Lines
    Bordis, Tabea
    Runge, Tobias
    Schaefer, Ina
    [J]. GPCE '2020: PROCEEDINGS OF THE 19TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING: CONCEPTS AND EXPERIENCES, 2020, : 22 - 34
  • [10] Supporting feature-oriented evolution in industrial automation product lines
    Hinterreiter, Daniel
    Linsbauer, Lukas
    Feichtinger, Kevin
    Praehofer, Herbert
    Gruenbacher, Paul
    [J]. CONCURRENT ENGINEERING-RESEARCH AND APPLICATIONS, 2020, 28 (04): : 265 - 279