Feature-oriented contract composition

被引:5
|
作者
Thuem, Thomas [1 ]
Knueppel, Alexander [1 ]
Krueger, Stefan [2 ]
Bolle, Stefanie [1 ]
Schaefer, Ina [1 ]
机构
[1] TU Braunschweig, Braunschweig, Germany
[2] Paderborn Univ, Paderborn, Germany
关键词
Feature-oriented programming; Software product lines; Design by contract; Deductive verification; Formal methods; SOFTWARE PRODUCT LINES; SPECIFICATION; DESIGN;
D O I
10.1016/j.jss.2019.01.044
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A software product line comprises a set of products that share a common code base, but vary in specific characteristics called features. Ideally, features of a product line are developed in isolation and composed subsequently. Product lines are increasingly used for safety-critical software, for which quality assurance becomes indispensable. While the verification of product lines gained considerable interest in research over the last decade, the subject of how to specify product lines is only covered rudimentarily. A challenge to overcome is composition; similar to inheritance in object-oriented programming, features of a product line may refine other features along with their specifications. To investigate how refinement and composition of specifications can be established, we derive a notion of feature-oriented contracts comprising preconditions, postconditions, and framing conditions of a method. We discuss six mechanisms to perform contract composition between original and refining contracts. Moreover, we identify and discuss desired properties for contract composition and evaluate which properties are established by which mechanism. Our three main insights are that (a) contract refinement is seldom but crucial, (b) the Liskov principle does not apply to features, and (c) it is sufficient to accommodate techniques from object-orientation in the contract-composition mechanisms for handling frame refinements. (C) 2019 Elsevier Inc. All rights reserved.
引用
收藏
页码:83 / 107
页数:25
相关论文
共 50 条
  • [31] Unsupervised product feature extraction for feature-oriented opinion determination
    Quan, Changqin
    Ren, Fuji
    [J]. INFORMATION SCIENCES, 2014, 272 : 16 - 28
  • [32] Towards Feature-Oriented Fault Tree Analysis
    Behringer, Benjamin
    Lehser, Martina
    Rothkugel, Steffen
    [J]. 2014 38TH ANNUAL IEEE INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE WORKSHOPS (COMPSACW 2014), 2014, : 522 - 527
  • [33] Feature-oriented regional modeling of oceanic fronts
    Gangopadhyay, A
    Robinson, AR
    [J]. DYNAMICS OF ATMOSPHERES AND OCEANS, 2002, 36 (1-3) : 201 - 232
  • [34] Data flow testing of feature-oriented programs
    Sahu, Madhusmita
    Mohapatra, Durga Prasad
    [J]. INTERNATIONAL JOURNAL OF SYSTEM ASSURANCE ENGINEERING AND MANAGEMENT, 2022, 13 (05) : 2291 - 2306
  • [35] A Business Case for Feature-Oriented Requirements Engineering
    Rudorfer, Arnold
    Stenzel, Tobias
    Herold, Gerold
    [J]. IEEE SOFTWARE, 2012, 29 (05) : 54 - 59
  • [36] Feature-oriented description, formal methods, and DFC
    Zave, P
    [J]. LANGUAGE CONSTRUCTS FOR DESCRIBING FEATURES, 2001, : 11 - 26
  • [37] A feature-oriented approach to modeling requirements dependencies
    Zhang, W
    Mei, H
    Zhao, HY
    [J]. 13TH IEEE INTERNATIONAL CONFERENCE ON REQUIREMENTS ENGINEERING, PROCEEDINGS, 2005, : 273 - 282
  • [38] 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
  • [39] Neverlang: A framework for feature-oriented language development
    Vacchi, Edoardo
    Cazzola, Walter
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2015, 43 : 1 - 40
  • [40] Feature-oriented modularization of deep learning APIs
    Shi, Yechuan
    Kienzle, Jörg
    Guo, Jin L. C.
    [J]. Proceedings - ACM/IEEE 25th International Conference on Model Driven Engineering Languages and Systems, MODELS 2022: Companion Proceedings, 2022, : 367 - 374