中文

揭示软件工程特有的隐喻与习语

软件工程 2023-12-29 v2

摘要

比喻性语言(如隐喻和习语)在日常交流中十分常见,也存在于软件工程(SE)渠道中,例如 GitHub 评论。即使借助现代大语言模型(LLM),自动解读比喻性语言仍是一项具有挑战性的任务,因为它往往涉及细微的差别。在 SE 领域尤其如此,比喻性语言常被用于传达技术概念,且通常带有开发者的情感色彩(例如`spaghetti code`)。令人惊讶的是,目前缺乏关于 SE 交流中的比喻性语言如何影响专注于理解开发者交流自动工具(如缺陷优先级排序、不文明行为检测)性能的研究。此外,最先进的 LLM 在多大程度上能解读软件工程等特定领域交流中的比喻表达,也是一个悬而未决的问题。为填补这一空白,我们研究了 SE 交流渠道中比喻性语言的普遍性及其影响。本研究有助于理解比喻性语言在 SE 中的作用、LLM 解读它们的潜力,以及其对自动化 SE 交流分析的影响。我们的结果证明了使用 SE 领域的比喻性语言对 LLM 进行微调的有效性,及其对涉及情感分析的自动化任务的潜在影响。我们发现,在三种最先进的 LLM 中,表现最佳的微调版本在 GitHub 情感分类数据集上平均提升了 6.66%,在 GitHub 不文明行为分类数据集上提升了 7.07%,在 Bugzilla 缺陷报告优先级排序数据集上提升了 3.71%。

关键词

引用

@article{arxiv.2312.10297,
  title  = {Shedding Light on Software Engineering-specific Metaphors and Idioms},
  author = {Mia Mohammad Imran and Preetha Chatterjee and Kostadin Damevski},
  journal= {arXiv preprint arXiv:2312.10297},
  year   = {2023}
}