scholarly journals MODEL-DRIVEN REVERSE ENGINEERING AND PROGRAM COMPREHENSION: AN EXAMPLE

Author(s):  
Eugenio G Scalise P ◽  
Jean-Marie Favre ◽  
Nancy Zambrano
2015 ◽  
pp. 1966-1987
Author(s):  
Ricardo Perez-Castillo ◽  
Mario Piattini

Open source software systems have poor or inexistent documentation and contributors are often scattered or missing. The reuse-based composition and maintenance of open source software systems therefore implies that program comprehension becomes a critical activity if all the embedded behavior is to be preserved. Program comprehension has traditionally been addressed by reverse engineering techniques which retrieve system design models such as class diagrams. These abstract representations provide a key artifact during migration or evolution. However, this method may retrieve large complex class diagrams which do not ensure a suitable program comprehension. This chapter attempts to improve program comprehension by providing a model-driven reverse engineering technique with which to obtain business processes models that can be used in combination with system design models such as class diagrams. The advantage of this approach is that business processes provide a simple system viewpoint at a higher abstraction level and filter out particular technical details related to source code. The technique is fully developed and tool-supported within an R&D project about global software development in which collaborate two universities and five companies. The automation of the approach facilitates its validation and transference through an industrial case study involving two open source systems.


Author(s):  
Ricardo Perez-Castillo ◽  
Mario Piattini

Open source software systems have poor or inexistent documentation and contributors are often scattered or missing. The reuse-based composition and maintenance of open source software systems therefore implies that program comprehension becomes a critical activity if all the embedded behavior is to be preserved. Program comprehension has traditionally been addressed by reverse engineering techniques which retrieve system design models such as class diagrams. These abstract representations provide a key artifact during migration or evolution. However, this method may retrieve large complex class diagrams which do not ensure a suitable program comprehension. This chapter attempts to improve program comprehension by providing a model-driven reverse engineering technique with which to obtain business processes models that can be used in combination with system design models such as class diagrams. The advantage of this approach is that business processes provide a simple system viewpoint at a higher abstraction level and filter out particular technical details related to source code. The technique is fully developed and tool-supported within an R&D project about global software development in which collaborate two universities and five companies. The automation of the approach facilitates its validation and transference through an industrial case study involving two open source systems.


Author(s):  
Ricardo Perez-Castillo ◽  
Mario Piattini

Open source software systems have poor or inexistent documentation and contributors are often scattered or missing. The reuse-based composition and maintenance of open source software systems therefore implies that program comprehension becomes a critical activity if all the embedded behavior is to be preserved. Program comprehension has traditionally been addressed by reverse engineering techniques which retrieve system design models such as class diagrams. These abstract representations provide a key artifact during migration or evolution. However, this method may retrieve large complex class diagrams which do not ensure a suitable program comprehension. This chapter attempts to improve program comprehension by providing a model-driven reverse engineering technique with which to obtain business processes models that can be used in combination with system design models such as class diagrams. The advantage of this approach is that business processes provide a simple system viewpoint at a higher abstraction level and filter out particular technical details related to source code. The technique is fully developed and tool-supported within an R&D project about global software development in which collaborate two universities and five companies. The automation of the approach facilitates its validation and transference through an industrial case study involving two open source systems.


2021 ◽  
pp. 102202
Author(s):  
Zhibin Yang ◽  
Zhikai Qiu ◽  
Yong Zhou ◽  
Zhiqiu Huang ◽  
Jean-Paul Bodeveix ◽  
...  

Author(s):  
Liliana Favre ◽  
Liliana Martinez ◽  
Claudia Pereira

Software modernization is a new research area in the software industry that is intended to provide support for transforming an existing software system to a new one that satisfies new demands. Software modernization requires technical frameworks for information integration and tool interoperability that allow managing new platform technologies, design techniques, and processes. To meet these demands, Architecture-Driven Modernization (ADM) has emerged as the new OMG (Object Management Group) initiative for modernization. Reverse engineering techniques play a crucial role in system modernization. This chapter describes the state of the art in the model-driven modernization area, reverse engineering in particular. A framework to reverse engineering models from object-oriented code that distinguishes three different abstraction levels linked to models, metamodels, and formal specification is described. The chapter includes an analysis of technologies that support ADM standards and provides a summary of the principles that can be used to govern current modernization efforts.


IEEE Access ◽  
2019 ◽  
Vol 7 ◽  
pp. 158931-158950 ◽  
Author(s):  
Umair Sabir ◽  
Farooque Azam ◽  
Sami Ul Haq ◽  
Muhammad Waseem Anwar ◽  
Wasi Haider Butt ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document