Title :
Reverse Engineering Software-Models of Component-Based Systems
Author :
Chouambe, Landry ; Klatt, Benjamin ; Krogmann, Klaus
Author_Institution :
Prof. Services Organ. Netviewer AG, Karlsruhe
Abstract :
An increasing number of software systems is developed using component technologies such as COM, CORBA, or EJB. Still, there is a lack of support to reverse engineer such systems. Existing approaches claim reverse engineering of components, but do not support composite components. Also, external dependencies such as required interfaces are not made explicit. Furthermore, relaxed component definitions are used, and obtained components are thus indistinguishable from modules or classes. We present an iterative reverse engineering approach that follows the widely used definition of components by Szyperski. It enables third-party reuse of components by explicitly stating their interfaces and supports composition of components. Additionally, components that are reverse engineered with the approach allow reasoning on properties of software architectures at the model level. For the approach, source code metrics are combined to recognize components. We discuss the selection of source code metrics and their interdependencies, which were explicitly taken into account. An implementation of the approach was successfully validated within four case studies. Additionally, a fifth case study shows the scalability of the approach for an industrial-size system.
Keywords :
reverse engineering; software architecture; software reusability; COM; CORBA; EJB; component-based systems; iterative reverse engineering; relaxed component definitions; reverse engineering software-models; software architectures; source code metrics; third-party component reuse; Computer architecture; Context; Independent component analysis; Iterative methods; Lab-on-a-chip; Reverse engineering; Software architecture; Software prototyping; Software quality; Software systems; Components; Modeling; Reverse engineering; Software performance;
Conference_Titel :
Software Maintenance and Reengineering, 2008. CSMR 2008. 12th European Conference on
Conference_Location :
Athens
Print_ISBN :
978-1-4244-2157-2
DOI :
10.1109/CSMR.2008.4493304