Mining Software Components from Object-Oriented APIs
  Object-oriented Application Programing Interfaces (APIs) support software reuse by providing pre-implemented functionalities. Due to the huge number of included classes, reusing and understanding large APIs is a complex task. Otherwise, software components are admitted to be more reusable and understandable entities than object-oriented ones. Thus, in this paper, we propose an approach for reengineering 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 Android APIs. 
Anas Shatnawi (MAREL), Abdelhak Seriai (MAREL), Houari Sahraoui   (GEODES), Zakarea Al-Shara (MAREL)
cs.SE cs.AI