arrow
返回

CODIT: Code Editing With Tree-Based Neural Models

delete2022-04-01
delete73
delete
OA
AI
S
Saikat Chakraborty *
Y
Yangruibo Ding
M
Miltiadis Allamanis
B
Baishakhi Ray
DOI:10.1109/TSE.2020.3020502delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
The way developers edit day-to-day code tends to be repetitive, often using existing code elements. Many researchers have tried to automate repetitive code changes by learning from specific change templates which are applied to limited scope. The advancement of deep neural networks and the availability of vast open-source evolutionary data opens up the possibility of automatically learning those templates from the wild. However, deep neural network based modeling for code changes and code in general introduces some specific problems that needs specific attention from research community. For instance, compared to natural language, source code vocabulary can be significantly larger. Further, good changes in code do not break its syntactic structure. Thus, deploying state-of-the-art neural network models without adapting the methods to the source code domain yields sub-optimal results. To this end, we propose a novel tree-based neural network system to model source code changes and learn code change patterns from the wild. Specifically, we propose a tree-based neural machine translation model to learn the probability distribution of changes in code. We realize our model with a change suggestion engine, Codit, and train the model with more than 24k real-world changes and evaluate it on 5k patches. Our evaluation shows the effectiveness of Codit in learning and suggesting patches. Codit can also learn specific bug fix pattern from bug fixing patches and can fix 25 bugs out of 80 bugs in Defects4J.
Keyword:
Computer bugs
Predictive models
Reactive power
Probability distribution
Syntactics
Neural networks
Adaptation models
Code change
tree-2-tree translation
code synthesis
neural machine translator
empirical software engineering
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.8K
被引数:
1.1W

机构

C
Columbia University
学者数:
7.1W
论文数: 6.4W
被引数: 263
M
Microsoft
学者数:
3.0K
论文数: 2.7K
被引数: 7
引用论文

引用论文

Balanocarpol, a new polyphenol from Balanocarpus zeylanicus(trimen) and Hopea jucunda(Thw.)(Dipterocarpaceae)
err1985-01-01
err0
PREAI
errM. N. Champika Diyasena; Subramaniam Sotheeswaran; Sivagnanasunderam Surendrakumar; Sinnathamby Balasubramanian; Michael Bokel; Wolfgang Kraus
err分享
err收藏
Mining version histories to guide software changes
err2005-06-01
err469
PREAI
errZimmermann, T; Weissgerber, P; Diehl, S; Zeller, A
err分享
err收藏
IL-7Rα: Mr Hyde’s twists and turns
err2013-12-19
err0
errOAAI
errJoão T. Barata
err分享
err收藏
“It's almost like they're trying to hide it”: How User-Provided Image Descriptions Have Failed to Make Twitter Accessible
err2019-05-13
err0
errOAAI
errCole Gleason; Patrick Carrington; Cameron Cassidy; Meredith Ringel Morris; Kris M. Kitani; Jeffrey P. Bigham
err分享
err收藏
学者 查看更多内容