Reverse Engineering Variability in an Industrial Product Line: Observations and Lessons Learned

被引:2
|
作者
El-Sharkawy, Sascha [1 ]
Dhar, Saura Jyoti [2 ]
Krafczyk, Adam [1 ]
Duszynski, Slawomir [2 ]
Beichter, Tobias [2 ]
Schmid, Klaus [1 ]
机构
[1] Univ Hildesheim, D-31141 Hildesheim, Germany
[2] Robert Bosch GmbH, D-71701 Schwieberdingen, Germany
来源
SPLC'18: PROCEEDINGS OF THE 22ND INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL 1 | 2018年
关键词
Software product lines; variability modeling; reverse engineering; static analysis;
D O I
10.1145/3233027.3233047
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Ideally, a variability model is a correct and complete representation of product line features and constraints among them. Together with a mapping between features and code, this ensures that only valid products can be configured and derived. However, in practice the modeled constraints might be neither complete nor correct, which causes problems in the configuration and product derivation phases. This paper presents an approach to reverse engineer variability constraints from the implementation, and thus improve the correctness and completeness of variability models. We extended the concept of feature effect analysis [22] to extract variability constraints from code artifacts of the Bosch PS-EC large-scale product line. We present an industrial application of the approach and discuss its required modifications to handle non-Boolean variability and heterogeneous artifact types.
引用
收藏
页码:215 / 225
页数:11
相关论文
共 50 条
  • [1] Lessons learned in data reverse engineering
    Davis, KH
    EIGHTH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2001, : 323 - 327
  • [2] Lessons learned in applying formal concept analysis to reverse engineering
    Arévalo, G
    Ducasse, S
    Nierstrasz, O
    FORMAL CONCEPT ANALYSIS, PROCEEDINGS, 2005, 3403 : 95 - 112
  • [3] Reverse Engineering on the Mainframe: Lessons Learned from "In Vivo" Research
    Van Geet, Joris
    Demeyer, Serge
    IEEE SOFTWARE, 2010, 27 (04) : 30 - 36
  • [4] Information Technologies in Higher Education: Lessons Learned in Industrial Engineering
    Delgado-Almonte, Milagros
    Bustos Andreu, Hernando
    Pedraja-Rejas, Liliana
    EDUCATIONAL TECHNOLOGY & SOCIETY, 2010, 13 (04): : 140 - 154
  • [5] Variability management in software product line engineering
    Metzger, Andreas
    Pohl, Klaus
    29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: ICSE 2007 COMPANION VOLUME, PROCEEDINGS, 2007, : 186 - +
  • [6] Building reverse engineering tools with software components: Ten lessons learned
    Kienle, Holger M.
    14TH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2007, : 289 - 292
  • [7] Applying Product Line Use Case Modeling in an Industrial Automotive Embedded System: Lessons Learned and a Refined Approach
    Hajri, Ines
    Goknil, Arda
    Briand, Lionel C.
    Stephany, Thierry
    2015 ACM/IEEE 18TH INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS (MODELS), 2015, : 338 - 347
  • [8] Reverse Engineering Product Lines in Agile Environments: Lesson learned and challenges
    Cleland-Huang, Jane
    21ST INTERNATIONAL SYSTEMS & SOFTWARE PRODUCT LINE CONFERENCE (SPLC 2017), VOL 1, 2017, : 5 - 5
  • [9] AN INDUSTRIAL SOFTWARE ENGINEERING RETRAINING COURSE - DEVELOPMENT CONSIDERATIONS AND LESSONS LEARNED
    BENDAVID, A
    BENPORATH, MI
    LOEB, JZ
    RICH, M
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1984, 10 (06) : 748 - 755
  • [10] MBSE Product Line Engineering - Variability Overview lost?
    Kortwinkel, Martin
    2020 IEEE 15TH INTERNATIONAL CONFERENCE OF SYSTEM OF SYSTEMS ENGINEERING (SOSE 2020), 2020, : 117 - 122