Related Experiment Video
Updated: May 28, 2025

Author Spotlight: Efficient Image Recognition Using Directional Gradient Histogram Technique and Support Vector Machines
Published on: January 5, 2024
Predicting software reuse using machine learning techniques-A case study on open-source Java software systems
Matthew Yit Hang Yeow1, Chun Yong Chong2, Mei Kuan Lim2
1Department of Computing and Information Systems, Sunway University, Subang Jaya, Selangor, Malaysia.
This study introduces machine learning to predict software reuse potential, using code clones as ground truth. Findings highlight the Public Undocumented API metric as key for identifying reusable software components.
Area of Science:
- Computer Science
- Software Engineering
Background:
- Software reuse is crucial for efficiency and cost reduction in software development.
- Current methods for identifying reusable software lack objectivity, hindering the selection of high-quality components.
Purpose of the Study:
- To automate software reuse prediction using machine learning (ML).
- To identify key software metrics influencing reuse and provide guidance for developers.
Main Methods:
- Utilized cross-project code clone detection on GitHub to establish reuse ground truth.
- Extracted software metrics from Maven artifacts to train ML classification and regression models.
- Identified influential metrics and their optimal value ranges for enhancing software reuse.
Main Results:
- ML models achieved an average F1-score of 77.19%, with Ridge Regression reaching 79.17%.
- The file-level Public Undocumented API (PUA) metric was identified as the most significant factor for software reuse.
- Provided recommended value ranges for top metrics to foster software reusability.
Conclusions:
- Automated prediction of software reuse potential is feasible using ML and code clone detection.
- The PUA metric and other identified factors offer actionable insights for developers to create more reusable software.
- A tool was developed to predict and rank software reuse potential for GitHub projects and Maven artifacts.
Related Concept Videos
Classification of Systems-I
Homogeneity dictates that if an input x(t) is multiplied by a constant c, the output y(t) is multiplied by the same constant. Mathematically, this is expressed as:
Classification of Systems-II
Distribution Reliability and Automation
Aggregates Classification
Petrographic classification groups aggregates based on common mineralogical characteristics. Some of the common mineral groups found in aggregates are...
Regression Analysis
In regression analysis, a regression equation is determined based on the line of best fit– a line that best fits the data points plotted in a graph. This line is also called the regression line. The algebraic equation for the regression line is called the regression equation. It is represented as:
Statistical Software for Data Analysis and Clinical Trials

