使用机器学习技术预测软件的重复使用 - 一个关于开源Java软件系统的案例研究
Matthew Yit Hang Yeow1, Chun Yong Chong2, Mei Kuan Lim2
1Department of Computing and Information Systems, Sunway University, Subang Jaya, Selangor, Malaysia.
PloS one
|February 13, 2025
概括
这项研究引入了机器学习来预测软件的重复使用潜力,使用代码克隆作为基本真理. 调查结果强调了公共无文档API指标是识别可重复使用软件组件的关键.
科学领域:
- 计算机科学 计算机科学
- 软件工程 软件工程 软件工程
背景情况:
- 重复使用软件对于软件开发的效率和成本降低至关重要.
- 目前用于识别可重复使用软件的方法缺乏客观性,阻碍了选择高质量的组件.
研究的目的:
- 使用机器学习 (ML) 实现软件重复使用预测的自动化.
- 确定影响重复使用的关键软件指标,并为开发人员提供指导.
主要方法:
- 在GitHub上利用跨项目代码克隆检测来建立重复使用的基础真相.
- 从Maven文物中提取软件指标,以训练ML分类和回归模型.
- 确定了有影响力的指标及其最佳价值范围,以提高软件的重复使用.
主要成果:
- ML模型的平均F1得分为77.19%,斜坡回归率达到79.17%.
- 文件级公共无文档API (PUA) 度量被确定为软件重复使用的最重要因素.
- 为顶级指标提供了推值范围,以促进软件的可重复使用性.
结论:
- 使用ML和代码克隆检测可以实现软件重复使用潜力的自动预测.
- PUA指标和其他已识别的因素为开发人员提供了可操作的见解,以创建更多可重复使用的软件.
- 开发了一个工具来预测和排名GitHub项目和Maven文物中的软件重复使用潜力.
相关概念视频
Classification of Systems-I
167
Linearity is a system property characterized by a direct input-output relationship, combining homogeneity and additivity.
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:
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:
167
Classification of Systems-II
133
Continuous-time systems have continuous input and output signals, with time measured continuously. These systems are generally defined by differential or algebraic equations. For instance, in an RC circuit, the relationship between input and output voltage is expressed through a differential equation derived from Ohm's law and the capacitor relation,
133
Distribution Reliability and Automation
104
Distribution reliability in electrical power systems is critical for ensuring an uninterrupted power supply to consumers at minimal cost. According to IEEE Standard Terms, reliability is the probability that a device will function without failure over a specified time period or amount of usage. For electric power distribution, this translates to maintaining continuous power supply and addressing customer concerns over power outages. Several indices, as defined by IEEE Standard 1366-2012, are...
104
Aggregates Classification
299
Aggregate classification is generally based on its size, petrographic characteristics, weight, and source. Size classification ranges from coarse to fine aggregates, defined by the size of the particles. Coarse aggregates are particles that do not pass through ASTM sieve No. 4, and aggregates that pass through the sieve are fine aggregates.
Petrographic classification groups aggregates based on common mineralogical characteristics. Some of the common mineral groups found in aggregates are...
Petrographic classification groups aggregates based on common mineralogical characteristics. Some of the common mineral groups found in aggregates are...
299
Regression Analysis
5.5K
Regression analysis is a statistical tool that describes a mathematical relationship between a dependent variable and one or more independent variables.
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:
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:
5.5K
Statistical Software for Data Analysis and Clinical Trials
480
Statistical software is pivotal in data analysis and clinical trials by providing tools to analyze data, draw conclusions, and make predictions. These software packages range from simple data management applications to complex analytical platforms, supporting various statistical tests, models, and simulation techniques. Their significance lies in their ability to handle vast amounts of data with precision and efficiency, enabling researchers to validate hypotheses, identify trends, and make...
480


