Recovering Architectural Variability from Source Code

被引:1
|
作者
Lima, Crescencio [1 ]
Machado, Ivan [2 ]
Galster, Matthias [3 ]
Chavez, Christina von Flach G. [2 ]
机构
[1] Fed Inst Bahia, Vitoria Da Conquista, Brazil
[2] Univ Fed Bahia, Salvador, BA, Brazil
[3] Univ Canterbury, Christchurch, New Zealand
来源
34TH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2020 | 2020年
关键词
Software Product Lines; Product Line Architecture; Variability; Product Line Architecture Recovery; PRODUCT LINE ARCHITECTURE; SOFTWARE;
D O I
10.1145/3422392.3422399
中图分类号
学科分类号
摘要
Context: Systematic variability management helps efficiently manage commonalities and differences in software systems (e.g., in software product lines and families). This enables the reuse of development artifacts in organizations and increases the quality of product variants. In software product lines, the product line architecture (PLA) is the core architecture for all product line variants. In practice, software architectures are often not documented in detail. Architecture recovery techniques can recover a system's architecture from development artifacts (e.g., source code). To recover the architecture of product lines, we need recovery techniques that are able to identify variability from different sources. Goal: We present SAVaR, an approach to recover architectural variability from the source code of product variants of a product line. SAVaR aims to help developers to (a) create architectural documentation for a product line, and (b) understand and improve the implementation of variability. SAVaR identifies the smallest subset of architectural information that is common across products of a product line. To limit the explosion of variability (and hence the complexity of architecture documentation) in the product line architecture, SAVaR allows architects to exclude architecture elements that appear in only a few product variants. Method: We performed an exploratory study with SAVaR to recover the architectures in ten academic product line projects. We verified how the elimination of exclusive optional modules improves the results of SAVaR. Results: The results showed that SAVaR is able to present improvements for the recovered PLAs and it helped to identify that some projects maintained the variability under control.
引用
收藏
页码:808 / 817
页数:10
相关论文
共 50 条
  • [1] Recovering Variability Information from Source Code of Clone-and-Own Software Systems
    Schlie, Alexander
    Schulze, Sandro
    Schaefer, Ina
    PROCEEDINGS OF THE 14TH INTERNATIONAL WORKING CONFERENCE ON VARIABILITY MODELLING OF SOFTWARE-INTENSIVE SYSTEMS (VAMOS '20), 2020,
  • [2] Recovering management information from source code
    Kwiatkowski, L. M.
    Verhoef, C.
    SCIENCE OF COMPUTER PROGRAMMING, 2013, 78 (09) : 1368 - 1406
  • [3] Recovering design and specifications from source code
    Prywes, N
    IEEE SOFTWARE, 1996, 13 (06) : 109 - &
  • [4] Recovering software architecture from multiple source code analyses
    Chase, MP
    Christey, SM
    Harris, DR
    Yeh, AS
    ACM SIGPLAN NOTICES, 1998, 33 (07) : 43 - 50
  • [5] Recovering concepts from source code with automated concept identification
    Carey, Maurice M.
    Gannod, Gerald C.
    ICPC 2007: 15TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, PROCEEDINGS, 2007, : 27 - +
  • [6] Recovering business rules from legacy source code for system modernization
    Putrycz, Erik
    Kark, Anatol W.
    ADVANCES IN RULE INTERCHANGE AND APPLICATIONS, PROCEEDINGS, 2007, 4824 : 107 - 118
  • [7] Java']JavaCompExt: Extracting Architectural Elements from Java']Java Source Code
    Anquetil, Nicolas
    Royer, Jean-Claude
    Andre, Pascal
    Ardourel, Gilles
    Hnetynka, Petr
    Poch, Tomas
    Petrascu, Dragos
    Petrascu, Vladiela
    16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, : 317 - +
  • [9] Classifying Edits to Variability in Source Code
    Bittner, Paul Maximilian
    Tinnes, Christof
    Schultheiss, Alexander
    Viegener, Soeren
    Kehrer, Timo
    Thuem, Thomas
    PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022, 2022, : 196 - 208
  • [10] Open Source Architecture: An Exploration of Source Code and Access in Architectural Design
    Vardouli, Theodora
    Buechley, Leah
    LEONARDO, 2014, 47 (01) : 51 - 55