简单却有效:基于词嵌入和 LSTM 检测代码注释一致性
软件工程
2024-05-30 v2
摘要
代码注释在软件开发中发挥着关键作用,因为它们提供了实用信息,使开发人员能够更好地理解底层代码的意图和语义。然而,开发人员倾向于在更新代码后不更改注释,导致两者之间出现不一致。这一不一致可能引起误解和混淆,阻碍各种开发活动,包括代码理解和维护。因此,识别给定代码片段,其相应注释是否一致且准确反映代码背后的意图至关重要。不幸的是,现有的解决此问题的方法虽然取得鼎舞效果,要么依赖大量预训练模型,要么将输入数据视为文本,忽略了注释和代码中包含的内在特征,包括词序和同义词。本工作提出了 Co3D 作为检测代码注释一致性的实用方法。我们关注文本中单词的内部意义以及单词顺序,以预测注释与代码之间的一致性。我们部署了 Gensim word2vec 编码和简单循环神经网络的组合、Gensim word2vec 编码和 LSTM 模型的组合,以及 CodeBERT。实验结果表明,Co3D 获得了有前景的预测性能,显著优于众所周知的基线方法。我们得出结论,根据具体情境,使用简单架构即可实现令人满意的预测。
引用
@article{arxiv.2405.16272,
title = {When simplicity meets effectiveness: Detecting code comments coherence with word embeddings and LSTM},
author = {Michael Dubem Igbomezie and Phuong T. Nguyen and Davide Di Ruscio},
journal= {arXiv preprint arXiv:2405.16272},
year = {2024}
}
备注
The paper has been peer-reviewed and accepted to the 28th International Conference on Evaluation and Assessment in Software Engineering (EASE 2024)