BLEU分数是否适用于代码迁移?
软件工程
2019-06-13 v1 计算与语言
摘要
统计机器翻译(SMT)是计算语言学中一个快速发展的子领域。迄今为止,衡量SMT质量最流行的自动指标是双语评估替补(BiLingual Evaluation Understudy, BLEU)分数。近来,SMT连同BLEU指标已被应用于一项名为代码迁移的软件工程任务。验证BLEU分数使用的有效性可推动基于SMT的代码迁移工具的研发。遗憾的是,尚无研究证实或否定将BLEU分数用于源代码。在本文中,我们针对BLEU分数开展实证研究,以(不)确认其因无法反映源代码语义而对代码迁移任务的适用性。在我们的工作中,我们以人类判断作为真值来衡量迁移代码的语义正确性。我们的实证研究表明,BLEU因其与翻译代码语义正确性的弱相关性而无法反映翻译质量。我们提供了反例以表明BLEU在比较基于SMT的模型间翻译质量时是无效的。由于BLEU对代码迁移任务无效,我们提出了一种替代指标RUBY,其考虑了源代码的词法、句法与语义表示。我们验证了RUBY与迁移代码语义正确性的相关系数更高,为0.775,而BLEU分数为0.583。我们也确认了RUBY在反映基于SMT的翻译模型翻译质量变化方面的有效性。凭借其优势,RUBY可用于评估基于SMT的代码迁移模型。
引用
@article{arxiv.1906.04903,
title = {Does BLEU Score Work for Code Migration?},
author = {Ngoc Tran and Hieu Tran and Son Nguyen and Hoan Nguyen and Tien N. Nguyen},
journal= {arXiv preprint arXiv:1906.04903},
year = {2019}
}
备注
12 pages, 5 figures, ICPC '19 Proceedings of the 27th International Conference on Program Comprehension