paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Multilingual training for software engineering

面向软件工程的多语言训练
ICSE Proceedings of the 44th International Conference on Software Engineering2022匹配度 2/10 · 该论文研究多语言代码数据增强在代码摘要、检索和函数命名等软件工程任务上的应用,属于通用代码机器学习方向;但它不涉及静态分析、Agentic 程序、浮点程序分析或贝叶斯程序分析,也未聚焦 LLM/Agent 与程序分析的交叉,因此与用户核心研究方向匹配度较低。引用 0 inbox
Toufique Ahmed, Premkumar Devanbu
crossref: 2026-09-12

AI 速览

一句话:利用不同语言中同功能代码与标识符命名相似性,以多语言数据增强软件工程任务性能。

论文关注软件工程任务中高质量标注数据稀缺且分布不均的问题:Ruby 等语言数据较少,JavaScript 等语言数据可能偏向某些应用领域而多样性不足。作者观察到,不同编程语言中实现相同功能的代码颇为相似,尤其会保留标识符命名模式,并指出标识符对软件工程任务训练非常重要。基于这一现象,论文提出利用多语言训练数据来扩充和增强数据,以缓解单语言数据瓶颈。他们在代码摘要、代码检索和函数命名三个任务上开展研究,结果表明跨语言训练数据能够提升性能,且该方法与不同任务、语言和机器学习模型具有广泛兼容性。

问题
软件工程机器学习任务依赖大量高质量标注数据,但这类数据在语言和领域间分布不均,形成数据瓶颈。
方法
利用不同语言中同功能代码与标识符命名模式的相似性,将多语言训练数据用于数据增强和跨语言训练。
评估
在代码摘要、代码检索和函数命名三个任务上评估,并考察方法与不同语言及机器学习模型的兼容性。
原文摘要(Abstract)

Well-trained machine-learning models, which leverage large amounts of open-source software data, have now become an interesting approach to automating many software engineering tasks. Several SE tasks have all been subject to this approach, with performance gradually improving over the past several years with better models and training methods. More, and more diverse, clean, labeled data is better for training; but constructing good-quality datasets is time-consuming and challenging. Ways of augmenting the volume and diversity of clean, labeled data generally have wide applicability. For some languages (e.g., Ruby) labeled data is less abundant; in others (e.g., JavaScript) the available data maybe more focused on some application domains, and thus less diverse. As a way around such data bottlenecks, we present evidence suggesting that human-written code in different languages (which performs the same function), is rather similar, and particularly preserving of identifier naming patterns; we further present evidence suggesting that identifiers are a very important element of training data for software engineering tasks. We leverage this rather fortuitous phenomenon to find evidence that available multilingual training data (across different languages) can be used to amplify performance. We study this for 3 different tasks: code summarization, code retrieval, and function naming. We note that this data-augmenting approach is broadly compatible with different tasks, languages, and machine-learning models.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot6938,
  title = {Multilingual training for software engineering},
  author = {Toufique Ahmed and Premkumar Devanbu},
  booktitle = {ICSE},
  year = {2022},
  doi = {10.1145/3510003.3510049}
}