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.
- Pub Date:
- June 2016
- Computer Science - Software Engineering;
- Computer Science - Artificial Intelligence
- International Conference on Software Reuse, Jan 2015, Miami, FL, United States. SpringerLink, Lecture Notes in Computer Science (8919), pp.330-347, 2014, Software Reuse for Dynamic Systems in the Cloud and Beyond