Inferring Architectural Evolution from Source Code Analysis A Tool-Supported Approach for the Detection of Architectural Tactics

被引:1
|
作者
Kapto, Christel [1 ]
El Boussaidi, Ghizlane [1 ]
Kpodjedo, Segla [1 ]
Tibermacine, Chouki [2 ,3 ]
机构
[1] Ecole Technol Super, Dept Software & IT Engn, Montreal, PQ, Canada
[2] CNRS, LIRMM, Montpellier, France
[3] Univ Montpellier 2, Montpellier, France
来源
关键词
Software evolution; Architectural evolution; Architecturaltactics; Tactics detection; DESIGN;
D O I
10.1007/978-3-319-48992-6_11
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Several approaches have been proposed to study and provide information about the evolution of a software system, but very few proposals analyze and interpret this information at the architectural level. In this paper, we propose an approach that supports the understanding of software evolution at the architectural level. Our approach relies on the idea that an architectural tactic can be mapped to a number of operational representations, each of which is a transformation described using a set of elementary actions on source code entities (e.g., adding a package, moving a class from a package to another, etc.). These operational representations make it possible to: (1) detect architectural tactics' application (or cancellation) by analyzing different versions of the source code of analyzed systems, and (2) understand the architectural evolution of these systems. To evaluate the proposed approach, we carried out a case study on the JFreeChart open source software. We focused on the modifiability tactics and we analyzed a number of available releases of JFreeChart. The results of our analysis revealed inconsistencies in the evolution of the system and some erratic applications and cancellations of modifiability tactics.
引用
收藏
页码:149 / 165
页数:17
相关论文
共 19 条
  • [1] A fuzzy ontology-based approach for tool-supported decision making in architectural design
    Tommaso Di Noia
    Marina Mongiello
    Francesco Nocera
    Umberto Straccia
    [J]. Knowledge and Information Systems, 2019, 58 : 83 - 112
  • [2] A fuzzy ontology-based approach for tool-supported decision making in architectural design
    Di Noia, Tommaso
    Mongiello, Marina
    Nocera, Francesco
    Straccia, Umberto
    [J]. KNOWLEDGE AND INFORMATION SYSTEMS, 2019, 58 (01) : 83 - 112
  • [3] Can Latent Topics in Source Code Predict Missing Architectural Tactics?
    Gopalakrishnan, Raghuram
    Sharma, Palak
    Mirakhorli, Mehdi
    Galster, Matthias
    [J]. 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, : 15 - 26
  • [4] Does BERT Understand Code? - An Exploratory Study on the Detection of Architectural Tactics in Code
    Keim, Jan
    Kaplan, Angelika
    Koziolek, Anne
    Mirakhorli, Mehdi
    [J]. SOFTWARE ARCHITECTURE (ECSA 2020), 2020, 12292 : 220 - 228
  • [5] A Program Synthesis Approach for Adding Architectural Tactics to An Existing Code Base
    Shokri, Ali
    [J]. 2021 36TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING ASE 2021, 2021, : 1388 - 1390
  • [6] Recovering Architectural Variability from Source Code
    Lima, Crescencio
    Machado, Ivan
    Galster, Matthias
    Chavez, Christina von Flach G.
    [J]. 34TH BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING, SBES 2020, 2020, : 808 - 817
  • [8] An Automated Architectural Evaluation Approach Based on Metadata and Code Analysis
    Pinto, Felipe
    Kulesza, Uira
    Guerra, Eduardo
    [J]. ENTERPRISE INFORMATION SYSTEMS, ICEIS 2013, 2014, 190 : 490 - 505
  • [9] 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
    [J]. 16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, : 317 - +
  • [10] Modular Construction of Dependability Models from System Architecture Models: A Tool-supported Approach
    Magyar, M.
    Majzik, I.
    [J]. SIXTH INTERNATIONAL CONFERENCE ON THE QUANTITATIVE EVALUATION OF SYSTEMS, PROCEEDINGS, 2009, : 95 - 96