一句话:通过数据清洗与对抗学习提升即时过时注释检测准确率,表明数据质量是关键。
论文关注数据质量对机器学习软件工程任务的影响,以即时(just-in-time)过时注释检测为案例。作者先对现有基准数据集进行清洗,发现仅修正 0.22% 标签、甚至减少 15.0% 数据,现有方法相对准确率最高可提升 10.7%。为进一步缓解数据质量问题,提出对抗学习框架,同时估计数据质量并进行最终预测。实验表明,该框架相比当前最优方法可进一步将相对准确率提升最高 18.1%。作者认为,这种从数据层面和算法层面处理数据质量的两阶段方案可推广到其他基于机器学习的软件工程任务。
Machine learning methods have achieved great success in many software engineering tasks. However, as a data-driven paradigm, how would the data quality impact the effectiveness of these methods remains largely unexplored. In this paper, we explore this problem under the context of just-in-time obsolete comment detection. Specifically, we first conduct data cleaning on the existing benchmark dataset, and empirically observe that with only 0.22% label corrections and even 15.0% fewer data, the existing obsolete comment detection approaches can achieve up to 10.7% relative accuracy improvement. To further mitigate the data quality issues, we propose an adversarial learning framework to simultaneously estimate the data quality and make the final predictions. Experimental evaluations show that this adversarial learning framework can further improve the relative accuracy by up to 18.1% compared to the state-of-the-art method. Although our current results are from the obsolete comment detection problem, we believe that the proposed two-phase solution, which handles the data quality issues through both the data aspect and the algorithm aspect, is also generalizable and applicable to other machine learning based software engineering tasks.