中文

面向双模态软件工程的情境代码-文本学习

软件工程 2024-10-25 v1 人工智能

摘要

随着大型语言模型的出现,双模态软件分析最初似乎已接近实现。不幸的是,软件工程中自然语言文本与代码之间的复杂交互,为预训练模型泛化到各种任务带来了独特挑战。我们认为,针对代码-文本双模态性的情境学习是一个有前景的方向。因此,本文引入了对情境代码-文本学习的全面研究,专注于利用预训练的CodeLLAMA模型。我们考虑包含23个软件工程任务的多样化数据集,将其转换为情境学习格式。为有效提取信息性特征,我们提出了可配置的提示模板。我们提出的管道InCTRL then统一了跨各种软件工程任务的提示学习。在该研究数据集上的广泛评估表明,INCTRL模型在零样本性能方面优于包括支持模型在内的前沿模型,如CodeLLAMA。通常情况下,我们观察到应用于CodeLLAMA模型时,INCTRL在各种任务上以精确率(至少约12%)和召回率(最高达93.88%)方面均有所提高。例如,在程序修复任务上,INCTRL使CodeLLAMA的BLEU分数提高了85分,而在克隆检测任务上,INCTRL实现了提升69个百分点。此外,INCTRL模型在使用检索增强生成应用于单个下游任务时,能提供前沿性能。最后,我们定性分析了INCTRL相对于CodeLLAMA的优势,并公开了所有模型以便更广泛的影响。我们在https://anonymous.4open.science/r/inctrl-B65B公开代码和数据集。

关键词

引用

@article{arxiv.2410.18107,
  title  = {In-Context Code-Text Learning for Bimodal Software Engineering},
  author = {Xunzhu Tang and Liran Wang and Yonghui Liu and Linzheng Chai and Jian Yang and Zhoujun Li and Haoye Tian and Jacques Klein and Tegawende F. Bissyande},
  journal= {arXiv preprint arXiv:2410.18107},
  year   = {2024}
}