返回
Deep Active Learning for Label-Efficient Refactoring Prediction
DOI:10.3390/info17050420.png)
摘要
En 中文
软件重构提高了代码的可维护性并减少了技术债务,但构建带标签的重构数据集是一个昂贵且劳动密集型的过程。为使重构预测在有限的标注预算下更具可部署性,本文介绍了一个深度主动学习(DAL)流水线,该流水线迭代训练一个基于软件度量表示的深度神经网络分类器,并选择性地查询最具信息量的未标注实体的标签。我们提出的方法在基于池的设置中对类级、方法级和变量级重构数据集(多种重构类型)进行了评估,采用一致的训练协议和广泛的查询策略。结果表明,DAL能够以显著更少的标签恢复接近全数据的有效性:平均而言,达到目标性能需要类级重构的11.4%、方法级重构的25.0%和变量级重构的20.0%的标注数据——对应约75-89%的标注节省,证明了重构预测的数据效率提升。此外,基于不确定性和dropout增强的策略在重构类型和标注预算方面是最一致有效的查询策略。
Keyword:
software refactoring
refactoring prediction
active learning
deep active learning
uncertainty sampling
MC-dropout
software metrics
machine learning for software engineering
期刊
I
IF:
2.9
论文数:
861
被引数:
9.8K
机构
引用论文
EASE: An enhanced active learning framework for aspect-based sentiment analysis based on sample diversity and data augmentationEASE: 基于样本多样性和数据增强的基于方面的情感分析的增强型主动学习框架
The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring监督机器学习算法在预测软件重构中的有效性
Detecting Refactoring Commits in Machine Learning Python Projects: A Machine Learning-Based Approach检测机器学习Python项目中的重构提交: 基于机器学习的方法
Predicting software refactoring opportunities using two-level TB-Stacking ensemble models利用两级TB-Stacking集成模型预测软件重构机会

