scholarly journals Towards the Software Evolution Recovery at the Level of Software Architecture

2021 ◽  
Vol 2024 (1) ◽  
pp. 012067
Author(s):  
YanXia Zhu ◽  
LinHui Zhong ◽  
LiJuan Fu ◽  
ShuHe Ruan ◽  
Jing Xu ◽  
...  
Author(s):  
Chao-Ze Lu ◽  
Guo-Sun Zeng ◽  
Wen-Juan Liu

With the gradual maturity of component oriented software development method, component-based software evolution technology has become hot research in academia and industry. Although many evolution rules are designed, they rarely consider component type-mismatched problem in evolution rules. This has led to evolution rules that often run error in software evolution execution. Hence, focusing on the mismatch problem of component type in software evolution, this paper addresses various evolution rules with condition constrains to support component type matching. First, we use the bigraph theory to model the software architecture and employ bigraph term language to describe the basic component evolution operations. Second, we join type system into the term language and use the type term language to express the condition constraints on position and connection for component evolution rules. These condition constraints can guarantee the type-matched among components that participate in software evolution. Furthermore, we show that the component type-matched still kept during a number of different evolution rules are used in the whole software evolution reaction system. Finally, two cases study of evolution progress of ATM system and tourism information system are presented. Two cases illustrate the effectiveness of our approach.


Author(s):  
Sungwon Kang ◽  
David Garlan

Software architecture allows us to make many decisions about a software system and analyze it even before it has been implemented, so as to make planned development possible. Similarly, architecture-based software evolution planning makes planned evolution possible by allowing us to make many decisions about the evolution of a software system and to analyze its evolution at the level of architecture design before software evolution is realized. In this paper, we develop a framework for architecture-based software evolution planning. It is done by defining various foundational terms and concepts, providing a taxonomy of software evolution plans, and then showing how to calculate values for various types of plans. By identifying and defining constituent foundational concepts, this conceptual framework makes precise the notion of "architecture-based software planning". By developing a value-calculation framework for software evolution plans, it also provides a basis for concrete methods for designing and evaluating evolution plans.


2020 ◽  
Vol 4 (2) ◽  
pp. 58
Author(s):  
Hind Alamin M ◽  
Hany H Ammar

Recently, reverse engineering (RE) is becoming one of the essential engineering trends for software evolution and maintenance. RE is used to support the process of analyzing and recapturing the design information in legacy systems or complex systems during the maintenance phase. The major problem stakeholders might face in understanding the architecture of existing software systems is that the knowledge of software architecture information is difficult to obtain because of the size of the system, and the existing architecture document often is missing or does not match the current implementation of the source code. Therefore, much more effort and time are needed from multiple stakeholders such as developers, maintainers and architects for obtaining and re-documenting and visualizing the architecture of a target system from its source code files. The current works is mainly focused on the developer viewpoint. In this paper, we present a RE methodology for visualizing architectural information for multiple stakeholders and viewpoints based on applying the RE process on specific parts of the source code. The process is driven by eliciting stakeholders’ concerns on specific architectural viewpoints to obtain and visualize architectural information related these concerns. Our contributions are three fold: 1- The RE methodology is based on the IEEE 1471 standard for architectural description and supports concerns of stakeholder including the end-user and maintainer; 2- It supports the visualization of a particular part of the target system by providing a visual model of the architectural representation which highlights the main components needed to execute specific functionality of the target system, 3- The methodology also uses architecture styles to organize the visual architecture information. We illustrate the methodology using a case study of a legacy web application system.


Author(s):  
Hongzhen Xu ◽  
Wenlin Song ◽  
Zhiqiang Liu

Software evolution has been a necessary part of the software development, while software architecture evolution is an important issue of software evolution. Software architecture evolution is generally realized through some evolution operations such as adding components or connectors, removing components or connectors. However, when some evolution operations are applied to the same software architecture in parallel, they sometimes make conflicting modifications, which will hinder the correctness of software architecture evolution. Although different approaches have been proposed to describe and analyze software architecture evolution, little work has been made to address evolution conflicts of software architectures. Focusing on parallel evolution conflicts of software architectures, firstly the paper establishes definitions and characterizations of parallel evolution conflicts of software architectures based on hypergraph morphisms and set theories, and describes parallel evolution conflicts of software architectures through these definitions and characterizations. Secondly the paper constructs the critical pair definition of parallel evolution conflicts of software architectures based on hypergraphs and hypergraph morphisms, analyzes the completeness of the critical pair, designs and optimizes an algorithm to detect efficiently parallel evolution conflicts of software architectures using the critical pair. Finally, a tool support is used to evaluate the effectiveness of the proposed method.


2011 ◽  
Vol 187 ◽  
pp. 78-83
Author(s):  
Jun Wang ◽  
Wei Ru Chen ◽  
De Lin Jing ◽  
Hong Ji Yang

According to the various components will play a different role in the system's reliability evolution, software architecture reliability is analyzed by architecture-based software reliability model in this paper. At the same time, the method of contribution analysis of the component in the process of reliability-oriented software evolution is proposed. The method shows that which component of the overall system plays an important or crucial role in the process of reliability evolution. The efficiency of the software evolution can be improved through contribution analysis of the component in the process of reliability-oriented software evolution.


Author(s):  
Elisa Yumi Nakagawa ◽  
Elaine Parros Machado de Sousa ◽  
Kiyoshi de Brito Murata ◽  
Gabriel de Faria Andery ◽  
Leonardo Bitencourt Morelli ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document