paper-with-me

홈 › Papers

TFix: Learning to Fix Coding Errors with a Text-to-Text Transformer

2021-07-18 · ICML 2021 7 · Berkay Berabi, Jingxuan He, Veselin Raychev, Martin Vechev

The problem of fixing errors in programs has attracted substantial interest over the years. The key challenge for building an effective code fixing tool is to capture a wide range of errors and meanwhile maintain high accuracy. In this paper, we address this challenge and present a new learning-based system, called TFix. TFix works directly on program text and phrases the problem of code fixing as a text-to-text task. In turn, this enables it to leverage a powerful Transformer based model pre-trained on natural language and fine-tuned to generate code fixes (via a large, high-quality dataset obtained from GitHub commits). TFix is not specific to a particular programming language or class of defects and, in fact, improved its precision by simultaneously fine-tuning on 52 different error types reported by a popular static analyzer. Our evaluation on a massive dataset of JavaScript programs shows that TFix is practically effective: it is able to synthesize code that fixes the error in 67 percent of cases and significantly outperforms existing learning-based approaches.

📄 PDF Abstract BibTeX

Code (1)

eth-sri/TFix pytorch

Tasks

Code GenerationMulti-Task LearningProgram RepairTransfer Learning

Methods 이 논문이 사용한 방법론

Linear Layer A Linear Layer is a projection $\mathbf{XW + b}$.
Absolute Position Encodings Absolute Position Encodings are a type of position embeddings for [Transformer-based models] where positional encodings are…
Position-Wise Feed-Forward Layer 설명 없음
Residual Connection 설명 없음
Label Smoothing Label Smoothing is a regularization technique that introduces noise for the labels. This accounts for the fact that datasets may have mistakes in them, so maximizing the…
Dropout Dropout is a regularization technique for neural networks that drops a unit (along with connections) at training time with a specified probability $p$ (a common value is…
BPE Byte Pair Encoding, or BPE, is a subword segmentation algorithm that encodes rare and unknown words as sequences of subword units. The intuition is that various word…
Adam 설명 없음

Similar Papers 제목 키워드 기반

Improving Automated Program Repair with Domain Adaptation

2022-12-21 · Armin Zirak, Hadi Hemati

Automated Program Repair (APR) is defined as the process of fixing a bug/defect in the source code, by an automated tool. APR tools have recently experienced promising results by leveraging state-of-the-art Neural Langua…

Domain AdaptationProgram RepairZero-Shot Learning

Solving Arithmetic Word Problems with Transformers and Preprocessing of Problem Text

2021-06-02 · Kaden Griffith, Jugal Kalita

This paper outlines the use of Transformer networks trained to translate math word problems to equivalent arithmetic expressions in infix, prefix, and postfix notations. We compare results produced by many neural configu…

Math

Solving Arithmetic Word Problems Using Transformer and Pre-processing of Problem Texts

2020-12-01 · ICON 2020 12 · Kaden Griffith, Jugal Kalita

This paper outlines the use of Transformer networks trained to translate math word problems to equivalent arithmetic expressions in infix, prefix, and postfix notations. We compare results produced by a large number of n…

Math

Developing Postfix-GP Framework for Symbolic Regression Problems

2015-07-07 · Vipul K. Dabhi, Sanjay Chaudhary

This paper describes Postfix-GP system, postfix notation based Genetic Programming (GP), for solving symbolic regression problems. It presents an object-oriented architecture of Postfix-GP framework. It assists the user …

regressionSymbolic Regression

PromptFix: You Prompt and We Fix the Photo

2024-05-27 · Yongsheng Yu, Ziyun Zeng, Hang Hua, Jianlong Fu 외

Diffusion models equipped with language models demonstrate excellent controllability in image generation tasks, allowing image processing to adhere to human instructions. However, the lack of diverse instruction-followin…

DenoisingImage GenerationInstruction Following