Mining Software Components from Object-Oriented APIs
Anas Shatnawi (MAREL), Abdelhak Seriai (MAREL), Houari Sahraoui, (GEODES), Zakarea Al-Shara (MAREL)

TL;DR
This paper presents a method to transform large object-oriented APIs into reusable components by mining class groups based on usage patterns, validated on Java Android applications.
Contribution
It introduces a novel approach for reengineering APIs into components through usage-based class grouping, enhancing reusability and understandability.
Findings
Effective component extraction from APIs demonstrated on Java Android apps
Improved reusability and understandability of APIs through componentization
Validated approach on 100 real-world applications
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
