arrow
返回

Predicting software reuse using machine learning techniques-A case study on open-source Java software systems

delete2025-02-13
delete0
delete
OA
AI
M
Matthew Yit Hang Yeow
C
Chun Yong Chong
M
Mei Kuan Lim
Y
Yuen Yee Yen *
DOI:10.1371/journal.pone.0314512delete
delete原文链接
delete分享
delete收藏
摘要

摘要

En 中文
软件复用是提高软件生产效率、降低成本的基本实践。软件复用实践包括复用制品、库、组件、包和API。识别适合复用的软件需要确定潜在候选对象。然而,目前尚无客观方法来衡量软件复用。这使得识别高度可复用软件变得具有挑战性。软件复用研究主要解决两大难题:1)有效高效地识别可复用候选对象,2)选择能提高可维护性和可扩展性的高质量软件组件。本文提出利用机器学习(ML)算法自动化软件复用预测,使未来研究和从业者能更好地识别高度可复用软件。我们的方法使用跨项目代码克隆检测来建立软件复用的基准事实,将流行GitHub项目中的代码克隆识别为潜在复用候选对象的指标。从Maven制品中提取软件度量,用于训练分类和回归模型以预测和估算软件复用。ML分类模型的平均F1得分为77.19%。表现最佳的模型Ridge Regression的F1得分为79.17%。此外,本研究旨在通过识别显著影响软件复用的关键度量来协助开发者。研究发现,文件级PUA(Public Undocumented API)度量是影响软件复用的最重要因素。我们还提出了前五大重要度量的合适取值范围,供开发者遵循以创建高度可复用软件。此外,我们开发了一个工具,利用训练好的模型预测现有GitHub项目的复用潜力,并按领域对Maven制品进行排名。

期刊

PLoS One 封面图
PLoS One
IF:
2.6
论文数:
2.6W
被引数:
81.6W

机构

M
monash university malaysia
学者数:
117
论文数: 91
被引数: 0
引用论文

引用论文

err分享
err收藏
Measuring the reusability of software components using static analysis metrics and reuse rate information
err2019-12-01
err22
PREAI
errPapamichail, Michail D.; Diamantopoulos, Themistoklis; Symeonidis, Andreas L.
err分享
err收藏
Predictive Data Mining Models for Novel Coronavirus (COVID-19) Infected Patients’ Recovery
err2020-06-21
err0
errOAAI
errL. J. Muhammad; Md. Milon Islam; Sani Sharif Usman; Safial Islam Ayon
err分享
err收藏
Comparing machine learning classifiers in potential distribution modelling
err2011-05-01
err137
errOAAI
errLorena, Ana C.; Jacintho, Luis F. O.; Siqueira, Marinez F.; De Giovanni, Renato; Lohmann, Lucia G.; de Carvalho, Andre C. P. L. F.; Yamamoto, Missae
err分享
err收藏
A metrics suite for object oriented design
err1994-01-01
err0
errOAAI
errShyam R. Chidamber; Chris F. Kemerer
err分享
err收藏
学者 查看更多内容