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 条
  • [21] Modeling Variability and Testability Interaction in Software Product Line Engineering
    Jaring, Michel
    Krikhaar, Rene L.
    Bosch, Jan
    SEVENTH INTERNATIONAL CONFERENCE ON COMPOSITION-BASED SOFTWARE SYSTEMS, PROCEEDINGS, 2008, : 120 - +
  • [22] Towards a better comprehensibility of web applications: lessons learned from reverse engineering experiments
    Di Lucca, GA
    Fasolino, AR
    Tramontana, P
    FOURTH INTERNATIONAL WORKSHOP ON WEB SITE EVOLUTION, PROCEEDINGS, 2002, : 33 - 42
  • [23] Industrial-strength software product-line engineering
    Klein, J
    Price, B
    Weiss, D
    25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2003, : 751 - 752
  • [24] Architectural knowledge in product line engineering:: An industrial case study
    Dhungana, Deepak
    Rabiser, Rick
    Gruenbacher, Paul
    Praehofer, Herbert
    Federspiel, Christian
    Lehner, Klaus
    32ND EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA) - PROCEEDINGS, 2006, : 186 - +
  • [25] Reverse Engineering Complex Feature Correlations for Product Line Configuration Improvement
    Zhang, Bo
    Becker, Martin
    2014 40TH EUROMICRO CONFERENCE SERIES ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA 2014), 2014, : 320 - 327
  • [26] Developing tools for reverse engineering in a software product-line architecture
    Chiang, CC
    Lee, RY
    PROCEEDINGS OF THE 2004 IEEE INTERNATIONAL CONFERENCE ON INFORMATION REUSE AND INTEGRATION (IRI-2004), 2004, : 42 - 47
  • [27] Product Reliability and Databases: Lessons Learned
    Bantug, Derek
    Franklin, Paul
    Boone, Ted
    2018 ANNUAL RELIABILITY AND MAINTAINABILITY SYMPOSIUM (RAMS), 2018,
  • [28] Variability Mechanisms and Lessons Learned in Practice
    Zhang, Bo
    Duszynski, Slawomir
    Becker, Martin
    2016 IEEE/ACM 1ST INTERNATIONAL WORKSHOP ON VARIABILITY AND COMPLEXITY IN SOFTWARE DESIGN (VACE), 2016, : 14 - 20
  • [29] LESSONS LEARNED IN AN INDUSTRIAL SOFTWARE LAB
    ENDRES, A
    IEEE SOFTWARE, 1993, 10 (05) : 58 - 61
  • [30] Member Checking in Software Engineering Research: Lessons Learned from an Industrial Case Study
    Santos, Ronnie E. S.
    Magalhaes, Cleyton V. C.
    da Silva, Fabio Q. B.
    11TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2017), 2017, : 187 - 192