arrow
Return

On using machine learning to automatically classify software applications into domain categories

delete2012-10-10
delete62
delete
OA
AI
M
Mario Linares‐Vásquez
C
Collin McMillan
D
Denys Poshyvanyk *
M
Mark Grechanik
DOI:10.1007/s10664-012-9230-zdelete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Software repositories hold applications that are often categorized to improve the effectiveness of various maintenance tasks. Properly categorized applications allow stakeholders to identify requirements related to their applications and predict maintenance problems in software projects. Manual categorization is expensive, tedious, and laborious - this is why automatic categorization approaches are gaining widespread importance. Unfortunately, for different legal and organizational reasons, the applications' source code is often not available, thus making it difficult to automatically categorize these applications. In this paper, we propose a novel approach in which we use Application Programming Interface (API) calls from third-party libraries for automatic categorization of software applications that use these API calls. Our approach is general since it enables different categorization algorithms to be applied to repositories that contain both source code and bytecode of applications, since API calls can be extracted from both the source code and byte-code. We compare our approach to a state-of-the-art approach that uses machine learning algorithms for software categorization, and conduct experiments on two large Java repositories: an open-source repository containing 3,286 projects and a closed-source repository with 745 applications, where the source code was not available. Our contribution is twofold: we propose a new approach that makes it possible to categorize software projects without any source code using a small number of API calls as attributes, and furthermore we carried out a comprehensive empirical evaluation of automatic categorization approaches.
Keywords:
Closed-source
Open-source
Software categorization
Machine learning

Journal

Empirical Software Engineering cover
Empirical Software Engineering
IF:
3.6
Papers:
2.0K
Citations:
5.3K

Organization

W
William & Mary
Scholars:
2.6K
Papers: 2.2K
Citations: 1
U
University of Notre Dame
Scholars:
1.2W
Papers: 1.1W
Citations: 1.7W
University of Illinois System cover
University of Illinois System
Scholars:
6.8W
Papers: 6.2W
Citations: 644
researcher View more organizations