Identifying Components from Object-Oriented APIs Based on Dynamic Analysis
Anas Shatnawi, Hudhaifa Shatnawi, Mohamed Aymen Saied, Zakarea Al, Shara, Houari Sahraoui, Abdelhak Seriai

TL;DR
This paper presents a dynamic analysis-based method for identifying reusable components in object-oriented APIs by examining real client interactions, overcoming static analysis limitations, and demonstrating high precision on Java APIs.
Contribution
It introduces a novel dynamic analysis approach that considers API co-usage dependencies to improve component identification accuracy.
Findings
High precision in component identification
Effective handling of dynamic features like polymorphism
Validated on multiple Java APIs with real client applications
Abstract
The reuse at the component level is generally more effective than the one at the object-oriented class level. This is due to the granularity level where components expose their functionalities at an abstract level compared to the fine-grained object-oriented classes. Moreover, components clearly define their dependencies through their provided and required interfaces in an explicit way that facilitates the understanding of how to reuse these components. Therefore, several component identification approaches have been proposed to identify components based on the analysis object-oriented software applications. Nevertheless, most of the existing component identification approaches did not consider co-usage dependencies between API classes to identify classes/methods that can be reused to implement a specific scenario. In this paper, we propose an approach to identify reusable software…
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.
