The DOI matches its Crossref record; 6 of the 6 references it cites were found in a registry or an index.
On Learning Meaningful Code Changes Via Neural Machine Translation
Abstract
Recent years have seen the rise of Deep Learning (DL) techniques applied to source code. Researchers have exploited DL to automate several development and maintenance tasks, such as writing commit messages, generating comments and detecting vulnerabilities among others. One of the long lasting dreams of applying DL to source code is the possibility to automate non-trivial coding activities. While some steps in this direction have been taken (e.g., learning how to fix bugs), there is still a glaring lack of empirical evidence on the types of code changes that can be learned and automatically applied by DL. Our goal is to make this first important step by quantitatively and qualitatively investigating the ability of a Neural Machine Translation (NMT) model to learn how to automatically apply code changes implemented by developers during pull requests. We train and experiment with the NMT model on a set of 236k pairs of code components before and after the implementation of the changes provided in the pull requests. We show that, when applied in a narrow enough context (i.e., small/medium-sized pairs of methods before/after the pull request changes), NMT can automatically replicate the changes implemented by developers during pull requests in up to 36% of the cases. Moreover, our qualitative analysis shows that the model is capable of learning and replicating a wide variety of meaningful code changes, especially refactorings and bug-fixing activities. Our results pave the way for novel research in the area of DL on code, such as the automatic learning and applications of refactoring.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
Hochreiter, S., & Schmidhuber, J. (1997) · Neural Computation · doi:10.1162/neco.1997.9.8.1735 · Cited by 102,318
Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation
Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014) · Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP) · doi:10.3115/v1/d14-1179 · Cited by 25,545
Effective Approaches to Attention-based Neural Machine Translation
Luong, T., Pham, H., & Manning, C. D. (2015) · Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing · doi:10.18653/v1/d15-1166 · Cited by 8,382
Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014) · arXiv · doi:10.48550/arxiv.1406.1078 · Cited by 3,317
Code completion with statistical language models
Raychev, V., Vechev, M., & Yahav, E. (2014) · Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation · doi:10.1145/2594291.2594321 · Cited by 555
Deep learning similarities from different representations of source code
Tufano, M., Watson, C., Bavota, G., Di Penta, M., White, M., & Poshyvanyk, D. (2018) · Proceedings of the 15th International Conference on Mining Software Repositories · doi:10.1145/3196398.3196431 · Cited by 158
Self-citation
Research works printed but not linked: 63
- 10.1109/ASE.2017.8115618 · DOI · Paper page
- 10.1145/2642937.2642982 · DOI · Paper page
- 10.18653/v1/D17-1151 · DOI · Paper page
- berkman, 2018, Machine learning vs deep learning
- bahdanau, 2014, Neural machine translation by jointly learning to align and translate, CoRR, abs 1409 473
- 10.1109/ICSME.2017.69 · DOI
- 10.1145/2950290.2983985 · DOI
- 10.1109/ICSM.2015.7332513 · DOI
- choetkiertikul, 2018, A deep learning model for estimating story points, IEEE Transactions on Software Engineering, 1
- sutskever, 2014, Sequence to sequence learning with neural networks, CoRR, abs 1409 3215
- 10.1145/3238147.3240732 · DOI
- 10.1145/2884781.2884804 · DOI · Paper page
- 10.1145/2786805.2786849 · DOI · Paper page
- 10.1145/2970276.2970326 · DOI · Paper page
- 10.1145/2786805.2786849 · DOI · Paper page
- 10.1109/MSR.2015.38 · DOI · Paper page
- 10.1109/ASE.2013.6693113 · DOI · Paper page
- allamanis, 2016, A convolutional attention network for extreme summarization of source code, CoRR, abs 1602 3001
- wu, 2016, Google's neural machine translation system: Bridging the gap between human and machine translation, CoRR, abs 1609 8144
- 0, Android Add Catch Block
- 0, Android Abstract Method
- 0, Google Return Value
- 0, Ovirt Anonymous Class To Lambda
- 0, On learning meaningful code changes via neural machine translation Replication Package
- 0, Ovirt Redundant Super
- 0, Ovirt Flipped Parameters
- 10.1145/2950290.2983951 · DOI
- 0, Ovirt Rename Method
- 10.1145/3106237.3117776 · DOI
- 10.1109/ICSME.2017.46 · DOI · Paper page
- 10.1109/ICPC.2016.7503707 · DOI · Paper page
- 10.1109/ICSME.2017.79 · DOI
- 10.1145/2666356.2594321 · DOI · Paper page
- parr, 2013, The Definitive Antlr 4 Reference
- 2018, How many words are there in the english language?
- 10.1109/TSE.2018.2844788 · DOI · Paper page
- 10.18653/v1/P16-2021 · DOI
- 0, Android Remove Synchronized From Signature
- 0, Android Remove Synchronized
- 10.1145/3180155.3180167 · DOI · Paper page
- 0, Android Rename Parameter
- 0, Android Return Value
- 0, Gerrit - Android
- 0, Gerrit - Google Source
- 0, Gerrit - Ovirt
- 0, Gerrit
- 0, Google Broader Generic Type
- 0, Google Narrowing Visibility
- 0, Android Added Null Check
- 0, Android Add Final
- 0, Android Change Operand
- 0, Android Broadening Visibility
- 0, Android Move Synchronization
- 0, Android Merging Catch Blocks
- 10.1109/ASE.2015.73 · DOI · Paper page
- 0, Android Narrow Catch Block
- høst, 2009, Debugging method names, ECOOP 2009 - Object-Oriented Programming, 294, 10.1007/978-3-642-03013-0_14 · DOI · Paper page
- kalchbrenner, 2013, Recurrent continuous translation models, Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, 1700
- 10.1109/ASE.2017.8115626 · DOI · Paper page
- 10.1109/ICSE.2017.9 · DOI · Paper page
- 10.1145/2950290.2950334 · DOI · Paper page
- 10.1109/ICSME.2017.52 · DOI · Paper page
- gupta, 2017, Deepfix: Fixing common c language errors by deep learning, AAAI, 10.1609/aaai.v31i1.10742 · DOI · Paper page
Cited by
SEQUENCER: Sequence-to-Sequence Learning for End-to-End Program Repair
Chen, Z., Kommrusch, S. J., Tufano, M., Pouchet, L.-N., Poshyvanyk, D., & Monperrus, M. (2021) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2019.2940179 · Cited by 396
Self-citationAn Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation
Tufano, M., Watson, C., Bavota, G., Penta, M. D., White, M., & Poshyvanyk, D. (2019) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3340544 · Cited by 370
Self-citationBig code != big vocabulary: open-vocabulary models for source code
Karampatsis, R.-M., Babii, H., Robbes, R., Sutton, C., & Janes, A. (2020) · Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering · doi:10.1145/3377811.3380342 · Cited by 182
A Systematic Literature Review on the Use of Deep Learning in Software Engineering Research
Watson, C., Cooper, N., Palacio, D. N., Moran, K., & Poshyvanyk, D. (2022) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3485275 · Cited by 137
Self-citationNatGen: generative pre-training by “naturalizing” source code
Chakraborty, S., Ahmed, T., Ding, Y., Devanbu, P. T., & Ray, B. (2022) · Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3540250.3549162 · Cited by 105
Metadata
- Authors
- Tufano, M., Pantiuchina, J., Watson, C., Bavota, G., & Poshyvanyk, D.
- Venue
- 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
- Publisher
- IEEE
- Published
- 2019-05
- Pages
- 25-36
- OpenAlex
- W2954823997
- Cited by
- 207
- References
- 6
- FWCI
- 21.76
- Type
- conference paper
- Language
- en
- Open access
- closed
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: On Learning Meaningful Code Changes Via Neural Machine Translation. https://app.cochat.ai/papers/10.1109/icse.2019.00021
- The paper
- Tufano, M., Pantiuchina, J., Watson, C., Bavota, G., & Poshyvanyk, D. (2019). On Learning Meaningful Code Changes Via Neural Machine Translation. 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). https://doi.org/10.1109/icse.2019.00021
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.