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.


翻译:经过良好训练的机器学习模型,利用大量开放源码软件数据,现已成为使许多软件工程任务自动化的有趣方法。一些SE任务都受制于这一方法,过去几年来业绩逐渐改善,模型和培训方法较好。更多的、更多样化、更清洁、标签化的数据对培训来说更好;但建立高质量的数据集既费时又具有挑战性。增加清洁、标签化数据的数量和多样性的方法通常具有广泛适用性。对于一些语言(例如Ruby),标签化数据不那么丰富;在另一些语言(例如JavaScript),现有数据可能更侧重于某些应用领域,因此也较少多样性。作为克服数据瓶颈的一个办法,我们提出的证据表明,不同语言的人类编码(发挥相同功能)相当相似,特别是维护标识命名模式;我们进一步提出证据表明,识别数据是软件工程任务培训数据的一个非常重要的组成部分。我们利用这个不成熟的现象来寻找证据,即现有多语言培训数据(跨越不同语言)可能更加集中的证据,这种数据检索功能可以被广泛用来测量。我们用这个数据定义的代码功能可以用来测量。

0
下载
关闭预览

相关内容

【开放书】Python + Matplotlib可视化指南,249页pdf
专知会员服务
97+阅读 · 2021年11月17日
应用机器学习书稿,361页pdf
专知会员服务
58+阅读 · 2020年11月24日
专知会员服务
39+阅读 · 2020年9月6日
【文章|BERT三步使用NLP迁移学习】NLP Transfer Learning In 3 Steps
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
已删除
将门创投
3+阅读 · 2018年11月20日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】免费书(草稿):数据科学的数学基础
机器学习研究会
20+阅读 · 2017年10月1日
Arxiv
0+阅读 · 2022年2月8日
Arxiv
5+阅读 · 2018年1月18日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关VIP内容
【开放书】Python + Matplotlib可视化指南,249页pdf
专知会员服务
97+阅读 · 2021年11月17日
应用机器学习书稿,361页pdf
专知会员服务
58+阅读 · 2020年11月24日
专知会员服务
39+阅读 · 2020年9月6日
【文章|BERT三步使用NLP迁移学习】NLP Transfer Learning In 3 Steps
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
相关资讯
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
已删除
将门创投
3+阅读 · 2018年11月20日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】免费书(草稿):数据科学的数学基础
机器学习研究会
20+阅读 · 2017年10月1日
Top
微信扫码咨询专知VIP会员