Page 133 - 《软件学报》2026年第2期
P. 133

612                                                        软件学报  2026  年第  37  卷第  2  期



                                 表 2 不同代码注释生成方法在          JCSD  和  PCSD  数据集上的有效性    (%)

                                                             JCSD                        PCSD
                      类型            比较方法
                                                   BLEU    ROUGE-L   METEOR    BLEU   ROUGE-L   METEOR
                                    词法检索           46.13    53.65     29.07    35.45    46.10     20.82
                  基于信息检索
                                    语义检索           47.18    55.27     30.12    35.72    47.48     21.61
                                      SiT          45.17    55.21     26.83    36.53    49.93     21.80
                                      Script       46.01    55.97     27.67    36.63    49.96     21.93
                                    AST-Trans      46.34    53.63     29.28    33.96    40.53     19.90
                                    CodeBERT       44.63    55.94     26.53    36.53    50.82     22.37
                  基于深度学习
                                     CodeT5        48.44    59.74     29.83    39.17    54.27     25.22
                                Code LLaMA-fewshot  11.99   20.13     9.27     13.77    16.5      11.81
                               DeepSeek-Coder-fewshot  7.31  17.68    13.43    4.66     12.32     20.66
                                 Qwen-Coder-fewshot  9.61   18.85     21.94    11.10    17.31     18.31
                                     Re2Com        38.20    49.52     23.04    33.73    45.68     19.79
                                     Recons        47.14    56.39     28.67    36.84    49.22     21.96
                                     EditSum       24.54    37.63     12.77    19.92    32.93     10.83
                      基于             DECOM         46.52    56.84     28.84    36.48    49.68     21.95
                      集成
                                 Code LLaMA-RAG    26.46    39.77     17.17    28.35    43.75     19.70
                                DeepSeek-Coder-RAG  11.29   22.21     24.18    7.31     16.19     22.10
                                  Qwen-Coder-RAG   13.20    24.28     27.72    15.52    22.93     24.28
                               SRBCS               49.25    60.19     31.61    39.26    54.28     25.47

                    第一, 对于   JCSD  和  PCSD  两个实验数据集, 本文所提出的方法在         BLEU、ROUGE-L  和  METEOR  这  3  个性能
                 指标上均优于基线方法. 从         BLEU  分数看, 对应于基于词法检索的方法、基于语义检索的方法、SiT、Script、
                 AST-Trans、CodeBERT、CodeT5、Code LLaMA-fewshot、DeepSeek-Coder-fewshot、Qwen-Coder-fewshot、
                 Re2Com、Recons、EditSum、DECOM、Code LLaMA-RAG、DeepSeek-Coder-RAG         和  Qwen-Coder-RAG,
                 SRBCS  方法在  JCSD  数据集上分别提升了      6.77%、4.39%、9.05%、7.05%、6.28%、10.36%、1.67%、310.76%、
                 569.06%、412.49%、28.92%、4.47%、100.72%、5.87%、86.13%、336.23%  和  273.11%; 在  PCSD  数据集上分别
                 提升了   10.75%、9.90%、7.47%、7.18%、15.60%、7.47%、0.23%、185.11%、437.07%、253.69%、16.39%、
                 6.57%、59.98%、7.63%、38.48%、437.07%  和  152.96%. 这些实验结果表明, SRBCS    相较于现有代码注释生成方
                 法可以生成更高质量的代码注释.
                    第二, 从表   2  中还发现, 现有基于集成的方法通常无法很好地利用信息检索技术和深度学习技术在生成代码
                 注释方面的能力, 基于集成的方法在某些情况下性能甚至差于仅使用信息检索或仅使用深度学习的代码注释生成
                 方法. 例如, 基于语义检索的方法在         JCSD  上的  METEOR  分数为  30.12%, 但最优的基于集成的方法的        METEOR  分
                 数仅为   28.84% (DECOM  方法). 不同于现有基于集成的方法, 我们的方法在所有情况下都实现了优于基于信息检
                 索的方法和基于深度学习的方法的性能. 这意味着本文方法相较于现有基于集成的方法可以更好地利用并集成信
                 息检索技术和深度学习技术的优势.
                    第三, 我们注意到基于代码大模型的代码注释生成方法表现欠佳. 举例来说, 基于少样本提示的                               DeepSeek-
                 Coder-fewshot 在  JCSD  数据集和  PCSD  数据集上仅分别得到    7.31%  和  4.66%  的  BLEU  分数  (所有基线方法中最
                 低). 我们猜测其中的原因是特定任务的数据分布与代码大模型的训练数据分布存在不对齐的情况, 导致大语言模
                 型在生成目标任务中测试代码的注释时具有高不确定性, 从而生成低质量的代码注释. 这一发现说明在面向特定
                 任务进行代码注释生成时, 相较于直接部署代码大模型, 训练一个任务特定的规模较小的代码模型会更加有效. 尽
                 管通过信息检索增强的方式可以一定程度缓解代码大模型中的数据分布不对齐情况, 但基于信息检索增强的代码
                 大模型的性能与其他基线方法相比仍存在一定差距. 以                  DeepSeek-Coder-RAG  为例, 在  JCSD  数据集和  PCSD  数据
                 集上, SRBCS  的  BLEU  分数分别比  DeepSeek-Coder-RAG  的  BLEU  分数高  336.33%  和  437.07%. 这一发现进一步
                 阐明了相较于将检索结果直接输入深度学习模型进行代码注释生成的方式, 对检索结果和深度学习模型生成结果
   128   129   130   131   132   133   134   135   136   137   138