  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.
