A comparative analysis of software architecture recovery techniques

J Garcia, I Ivkovic, N Medvidovic - 2013 28th IEEE/ACM …, 2013 - ieeexplore.ieee.org
Many automated techniques of varying accuracy have been developed to help recover the
architecture of a software system from its implementation. However, rigorously assessing …

An empirical study of architectural change in open-source software systems

DM Le, P Behnamghader, J Garcia… - 2015 IEEE/ACM 12th …, 2015 - ieeexplore.ieee.org
From its very inception, the study of software architecture has recognized architectural decay
as a regularly occurring phenomenon in long-lived systems. Architectural decay is caused …

An empirical study of architectural decay in open-source software

DM Le, D Link, A Shahbazian… - 2018 IEEE International …, 2018 - ieeexplore.ieee.org
Architecture is the set of principal design decisions about a software system. In practice, new
architectural decisions are added and existing ones reversed or modified throughout a …

Comparing software architecture recovery techniques using accurate dependencies

T Lutellier, D Chollak, J Garcia, L Tan… - 2015 IEEE/ACM 37th …, 2015 - ieeexplore.ieee.org
Many techniques have been proposed to automatically recover software architectures from
software implementations. A thorough comparison among the recovery techniques is …

Measuring the impact of code dependencies on software architecture recovery techniques

T Lutellier, D Chollak, J Garcia, L Tan… - IEEE Transactions …, 2017 - ieeexplore.ieee.org
Many techniques have been proposed to automatically recover software architectures from
software implementations. A thorough comparison among the recovery techniques is …

Software architecture recovery with information fusion

Y Zhang, Z Xu, C Liu, H Chen, J Sun, D Qiu… - Proceedings of the 31st …, 2023 - dl.acm.org
Understanding the architecture is vital for effectively maintaining and managing large
software systems. However, as software systems evolve over time, their architectures …

A fast clustering algorithm for modularization of large-scale software systems

N Teymourian, H Izadkhah… - IEEE Transactions on …, 2020 - ieeexplore.ieee.org
A software system evolves over time in order to meet the needs of users. Understanding a
program is the most important step to apply new requirements. Clustering techniques …

A graph-based clustering algorithm for software systems modularization

B Pourasghar, H Izadkhah, A Isazadeh… - Information and Software …, 2021 - Elsevier
Context: Clustering algorithms, as a modularization technique, are used to modularize a
program aiming to understand large software systems as well as software refactoring. These …

A large-scale study of architectural evolution in open-source software systems

P Behnamghader, DM Le, J Garcia, D Link… - Empirical Software …, 2017 - Springer
From its very inception, the study of software architecture has recognized architectural decay
as a regularly occurring phenomenon in long-lived systems. Architectural decay is caused …

Evolving software trace links between requirements and source code

M Rahimi, J Cleland-Huang - Empirical Software Engineering, 2018 - Springer
Traceability provides support for diverse software engineering activities including safety
analysis, compliance verification, test-case selection, and impact prediction. However, in …