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 条
  • [31] An Automated Approach to Identify Source Code Files Affected by Architectural Technical Debt
    Sousa, Armando
    Rocha, Lincoln
    Britto, Ricardo
    Avelino, Guilherme
    PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT. INDUSTRY-, WORKSHOP-, AND DOCTORAL SYMPOSIUM PAPERS, PROFES 2024, 2025, 15453 : 100 - 115
  • [32] An Overview of Techniques for Detecting Software Variability Concepts in Source Code
    Lozano, Angela
    ADVANCES IN CONCEPTUAL MODELING: RECENT DEVELOPMENTS AND NEW DIRECTIONS, 2011, 6999 : 141 - 150
  • [33] Extracting Variability-Safe Feature Models from Source Code Dependencies in System Variants
    Assuncao, Wesley K. G.
    Lopez-Herrejon, Roberto E.
    Linsbauer, Lukas
    Vergilio, Silvia R.
    Egyed, Alexander
    GECCO'15: PROCEEDINGS OF THE 2015 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, 2015, : 1303 - 1310
  • [34] Recovering the Parameters of an LDPC Code From Noisy Intercepted Sequences
    Li Longqing
    Shen Fangqi
    Zhou Jing
    IEEE SIGNAL PROCESSING LETTERS, 2022, 29 : 617 - 621
  • [35] Recovering the Parameters of an LDPC Code from Noisy Intercepted Sequences
    Longqing L.
    Fangqi S.
    Jing Z.
    IEEE Transactions on Applied Superconductivity, 2022, 32 (06)
  • [36] AND IS ROMED CODE REALLY DIFFERENT FROM SOURCE CODE
    PALAMARA, P
    IEEE MICRO, 1982, 2 (02) : 6 - 6
  • [37] Recovering Software Architecture from the Names of Source Files
    Anquetil, Nicolas
    Lethbridge, Timothy C.
    Journal of Software Maintenance and Evolution, 11 (03): : 201 - 221
  • [38] Recovering software architecture from the names of source files
    Anquetil, N
    Lethbridge, TC
    JOURNAL OF SOFTWARE MAINTENANCE-RESEARCH AND PRACTICE, 1999, 11 (03): : 201 - 221
  • [39] Feature and Variability Extraction from Agile Specifications and their Related Source Code for Software Product Line Migration
    Georges, Thomas
    26TH ACM INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, SPLC 2022, VOL B, 2022, : 29 - 33
  • [40] A Proposal for Organizing Source Code Variability in the Git Version Control System
    Casquina, Junior Cupe
    Montecchi, Leonardo
    SPLC '21: PROCEEDINGS OF THE 25TH ACM INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2021,