Reverse engineering reusable software components from object-oriented APIs

Anas Shatnawi 1 Abdelhak-Djamel Seriai 1 Houari Sahraoui 2 Zakarea Al-Shara 1
1 MAREL - Models And Reuse Engineering, Languages
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
Abstract : Object-oriented Application Programming Interfaces (APIs) support software reuse by providing preimplemented functionalities. Due to the huge number of included classes, reusing and understanding large APIs is a complex task. Otherwise, software components are accepted to be more reusable and understandable entities than object-oriented ones. Thus, in this paper, we propose an approach for re-engineering object-oriented APIs into component-based ones. We mine components as a group of classes based on the frequency they are used together and their ability to form a quality centric-component. To validate our approach, we experimented on 100 Java applications that used four APIs.
Document type :
Journal articles
Liste complète des métadonnées

Cited literature [7 references]  Display  Hide  Download
Contributor : Abdelhak-Djamel Seriai <>
Submitted on : Thursday, January 31, 2019 - 10:45:23 AM
Last modification on : Thursday, February 7, 2019 - 5:19:44 PM


Publisher files allowed on an open archive




Anas Shatnawi, Abdelhak-Djamel Seriai, Houari Sahraoui, Zakarea Al-Shara. Reverse engineering reusable software components from object-oriented APIs. Journal of Systems and Software, Elsevier, 2017, 131, pp.442-460. ⟨10.1016/j.jss.2016.06.101⟩. ⟨lirmm-01376013⟩



Record views


Files downloads