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 条
  • [21] Recovering Architectural Design Decisions
    Shahbazian, Arman
    Lee, Youn Kyu
    Le, Duc
    Brun, Yuriy
    Medvidovic, Nenad
    2018 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE (ICSA), 2018, : 95 - 104
  • [22] Can Latent Topics in Source Code Predict Missing Architectural Tactics?
    Gopalakrishnan, Raghuram
    Sharma, Palak
    Mirakhorli, Mehdi
    Galster, Matthias
    2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, : 15 - 26
  • [23] To automatically map source code entities to architectural modules with Naive Bayes
    Olsson, Tobias
    Ericsson, Morgan
    Wingkvist, Anna
    JOURNAL OF SYSTEMS AND SOFTWARE, 2022, 183
  • [24] The Relationship of Code Churn and Architectural Violations in the Open Source Software JabRef
    Olsson, Tobias
    Ericsson, Morgan
    Wingkvist, Anna
    11TH EUROPEAN CONFERENCE ON SOFTWARE ARCHITECTURE (ECSA 2017) - COMPANION VOLUME, 2017, : 153 - 159
  • [25] Recovering Relationships between Documentation and Source Code based on the Characteristics of Software Engineering
    Wang, Xiaobo
    Lai, Guanhui
    Liu, Chao
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 243 : 121 - 137
  • [26] Code Generation From Architectural Multiviews Description
    Gacemi, Abdelaziz
    Seriai, Abdelhak
    Oussalah, Mourad Chabane
    JOURNAL OF OBJECT TECHNOLOGY, 2005, 4 (03): : 41 - 49
  • [27] Recovering a conceptual data model from COBOL code
    Canfora, G
    Cimitile, A
    Di Lucca, GA
    SEKE '96: THE 8TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, PROCEEDINGS, 1996, : 277 - 284
  • [28] Recovering Traceability Links between Requirements and Source Code Using the Configuration Management Log
    Tsuchiya, Ryosuke
    Washizaki, Hironori
    Fukazawa, Yoshiaki
    Kato, Tadahisa
    Kawakami, Masumi
    Yoshimura, Kentaro
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2015, E98D (04): : 852 - 862
  • [29] Recovering documentation-to-source-code traceability links using latent semantic indexing
    Marcus, A
    Maletic, JI
    25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2003, : 125 - 135
  • [30] Recovering Semantic Traceability between Requirements and Source Code Using Feature Representation Techniques
    Zhang, Meng
    Tao, Chuanqi
    Guo, Hongjing
    Huang, Zhiqiu
    2021 IEEE 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2021), 2021, : 873 - 882