English
Related papers

Related papers: An automatic architecture reconstruction and refac…

200 papers

Architecture erosion is a big challenge in modern architectures leading to a deterioration of the quality properties of these systems. Today, no comprehensive approach for regaining architecture consistency in eroded software systems exists…

Software Engineering · Computer Science 2021-04-29 Christoph Knieke , Andreas Rausch , Mirco Schindler

Design erosion is a persistent problem within the software engineering discipline. Software designs tend to deteriorate over time and there is a need for tools and techniques that support software architects when dealing with legacy…

Software Engineering · Computer Science 2021-04-29 Frederick Schmidt , Stephen MacDonell , Andy M. Connor

As software systems evolve, their architecture is meant to adapt accordingly by following the changes in requirements, the environment, and the implementation. However, in practice, the evolving system often deviates from the architecture,…

Software Engineering · Computer Science 2021-03-23 Ruiyin Li , Peng Liang , Mohamed Soliman , Paris Avgeriou

Architecture optimization is the process of automatically generating design options, typically to enhance software's quantifiable quality attributes, such as performance and reliability. Multi-objective optimization approaches have been…

Software Engineering · Computer Science 2024-01-31 Daniele Di Pompeo , Michele Tucci

The mid-1990s saw the design of programming languages for software architectures, which define the high-level aspects of software systems including how code components were composed to form full systems. Our paper "Abstractions for Software…

Software Engineering · Computer Science 2025-03-07 Mary Shaw , Daniel V. Klein , Theodore L. Ross

Software architecture often consists of interconnected components dispersed across source code and other development artifacts, making visualization difficult without costly additional documentation. Although some tools can automatically…

Software Engineering · Computer Science 2024-07-26 Filipe F. Correia , Ricardo Ferreira , Paulo G. G Queiroz , Henrique Nunes , Matilde Barra , Duarte Figueiredo

Architecture erosion (AEr) can adversely affect software development and has received significant attention in the last decade. However, there is an absence of a comprehensive understanding of the state of research about the reasons and…

Software Engineering · Computer Science 2022-02-14 Ruiyin Li , Peng Liang , Mohamed Soliman , Paris Avgeriou

The nature of software re-engineering is to improve or transform existing software so it can be understood, controlled and reused as new software. Needs, the necessity of re-engineering software has greatly increased. The system software…

Software Engineering · Computer Science 2011-12-20 Phuc V. Nguyen

Software systems are not static, they have to undergo frequent changes to stay fit for purpose, and in the process of doing so, their complexity increases. It has been observed that this process often leads to the erosion of the systems…

Software Engineering · Computer Science 2018-07-18 David Baum , Jens Dietrich , Craig Anslow , Richard Müller

It is well known that software needs to change to meet new requirements. The synchronization of software architecture models and implementation is of high importance to keep the architecture documents useful and the software evolution…

Software Engineering · Computer Science 2014-09-24 Holger Krahn , Bernhard Rumpe

Understanding the architecture is vital for effectively maintaining and managing large software systems. However, as software systems evolve over time, their architectures inevitably change. To keep up with the change, architects need to…

Software Engineering · Computer Science 2023-11-09 Yiran Zhang , Zhengzi Xu , Chengwei Liu , Hongxu Chen , Jianwen Sun , Dong Qiu , Yang Liu

The most important way to achieve higher performance in computer systems is through heterogeneous computing, i.e., by adopting hardware platforms containing more than one type of processor, such as CPUs, GPUs, and FPGAs. Several types of…

Software Engineering · Computer Science 2020-05-19 Hugo Andrade , Ivica Crnkovic , Jan Bosch

Combining component & connector architecture descriptionlanguageswithcomponentbehaviormodelinglanguages enables modeling great parts of software architectures platformindependently. Nontrivial systems typically contain components with…

Software Engineering · Computer Science 2015-11-18 Jan O. Ringert , Bernhard Rumpe , Andreas Wortmann

Software systems endure many noteworthy changes throughout their life-cycle in order to follow the evolution of the problem domains. Generally, the software system architecture cannot follow the rapid evolution of a problem domain which…

Software Engineering · Computer Science 2011-11-30 Humaira Farid , Farooque Azam , M. Aqeel Iqbal

In Software Reengineering, one of the central artifacts is the source code of the legacy system in question. In fact, in most cases it is the only definitive artifact, because over the time the code has diverged from the original…

Software Engineering · Computer Science 2011-11-22 Tassilo Horn

A software architect uses quality requirements to design the architecture of a system. However, it is essential to ensure that the system's final architectural design achieves the standard quality requirements. The existing architectural…

Software Engineering · Computer Science 2021-05-21 Ritu Kapur , Sumit Kalra , Kamlesh Tiwari , Geetika Arora

Architectural erosion is a recurrent problem in software evolution. Despite this fact, the process is usually tackled in ad hoc ways, without adequate tool support at the architecture level. To address this shortcoming, this paper presents…

Software Engineering · Computer Science 2015-06-26 Ricardo Terra , Marco Tulio Valente , Roberto Bigonha , Krzysztof Czarnecki

Computer systems are so complex, so they are usually designed and analyzed in terms of layers of abstraction. Complexity is still a challenge facing logical reasoning tools that are used to find software design flaws and implementation…

Software Engineering · Computer Science 2021-06-18 Ramy Shahin

It is a high-quality algorithm for hierarchical clustering of large software source code. This effectively allows to break the complexity of tens of millions lines of source code, so that a human software engineer can comprehend a software…

Artificial Intelligence · Computer Science 2012-07-05 Sarge Rogatch

The phenomenon of architecture erosion can negatively impact the maintenance and evolution of software systems, and manifest in a variety of symptoms during software development. While erosion is often considered rather late, its symptoms…

Software Engineering · Computer Science 2022-01-05 Ruiyin Li , Mohamed Soliman , Peng Liang , Paris Avgeriou
‹ Prev 1 2 3 10 Next ›