SEAIJun 2, 2016

Mining Software Components from Object-Oriented APIs

arXiv:1606.00561v114 citations
Originality Incremental advance
AI Analysis

This addresses the problem of software reuse and understanding for developers working with large APIs, but it is incremental as it builds on existing component-based concepts.

The paper tackles the complexity of reusing large object-oriented APIs by proposing an approach to reengineer them into component-based APIs, grouping classes based on usage frequency and quality metrics, and validates it on 100 Java applications using Android 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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes